X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=spec%2Ferd_handler%2Flabel_spec.rb;h=b432b46f447005612e2cf1ccce31f8490dfa4e6e;hb=df86d6dec3f5944842cf8e5cdcaa909bfc7e0406;hp=d2fb0c8f63624b3950dfbd53818beedfbd0bf590;hpb=042a27abb3ac3bf9faf36406204fe1d1901123d3;p=erd-marker.git diff --git a/spec/erd_handler/label_spec.rb b/spec/erd_handler/label_spec.rb index d2fb0c8..b432b46 100644 --- a/spec/erd_handler/label_spec.rb +++ b/spec/erd_handler/label_spec.rb @@ -58,11 +58,35 @@ module ErdHandler l2.processed.should == ["TestLabel"] l2.original.should == "TestLabel" end + + it "splits the original on numbers" do + l1 = Label.new "Test123Label" + l1.split :numbers => true + l1.processed.should == ["Test", "123", "Label"] + l1.original.should == "Test123Label" + + l2 = Label.new "test1label" + l2.split :numbers => true + l2.processed.should == ["test", "1", "label"] + l2.original.should == "test1label" + end + + it "doesn't split the original on numbers if asked not to" do + l1 = Label.new "Test123Label" + l1.split :numbers => false + l1.processed.should == ["Test123Label"] + l1.original.should == "Test123Label" + + l2 = Label.new "Test123Label" + l2.split :numbers => nil + l2.processed.should == ["Test123Label"] + l2.original.should == "Test123Label" + end it "splits the original using a default regexp" do - l1 = Label.new "Test label_string" + l1 = Label.new "Test label_string\tfred" l1.split - l1.processed.should == ["Test", "label", "string"] + l1.processed.should == ["Test", "label", "string", "fred"] end it "splits the original on camel case by default" do @@ -72,19 +96,26 @@ module ErdHandler l1.original.should == "TestLabel" end - it "splits the original on punctuation and camel case by default" do - l1 = Label.new "TestLabel is_split, he,said" + it "splits the original on numbers by default" do + l1 = Label.new "Test123Label" l1.split - l1.processed.should == ["Test", "Label", "is", "split", "he", "said"] - l1.original.should == "TestLabel is_split, he,said" + l1.processed.should == ["Test", "123", "Label"] + l1.original.should == "Test123Label" + end + + it "splits the original on punctuation, whitespace, camel case, and numbers by default" do + l1 = Label.new "TestLabel is_split, 123 he,said456Fred" + l1.split + l1.processed.should == ["Test", "Label", "is", "split","123", "he", "said", "456", "Fred"] + l1.original.should == "TestLabel is_split, 123 he,said456Fred" end it "is idempotent" do - l1 = Label.new "TestLabel is_split, he,said" + l1 = Label.new "TestLabel is_split, 123 he,said456Fred" res1 = l1.split.dup res2 = l1.split res1.processed.should == res2.processed - l1.original.should == "TestLabel is_split, he,said" + l1.original.should == "TestLabel is_split, 123 he,said456Fred" end end # split @@ -111,7 +142,6 @@ module ErdHandler l1.tidy l2.split.downcase.stem l1.processed.should == l2.processed - end end # tidy