spec/extensions/string_spec.rb in ronin-0.1.0 vs spec/extensions/string_spec.rb in ronin-0.1.1

- old
+ new

@@ -1,13 +1,97 @@ require 'ronin/extensions/string' require 'spec_helper' describe String do - it "should be able to convert proper names to method names" do - "Proper Name".to_method_name.should == 'proper_name' + describe "to_method_name" do + it "should be able to convert proper names to method names" do + "Proper Name".to_method_name.should == 'proper_name' + end + + it "should be able to convert Class names to method names" do + "Namespace::Test".to_method_name.should == 'namespace_test' + end end - it "should be able to convert Class names to method names" do - "Namespace::Test".to_method_name.should == 'namespace_test' + describe "common_prefix" do + it "should find the common prefix between two Strings" do + one = 'What is puzzling you is the nature of my game' + two = 'What is puzzling you is the nature of my name' + common = 'What is puzzling you is the nature of my ' + + one.common_prefix(two).should == common + end + + it "should return the common prefix between two Strings with no uncommon postfix" do + one = "1234" + two = "12345" + common = "1234" + + one.common_prefix(two).should == common + end + + it "should return an empty String if there is no common prefix" do + one = 'Tell me people' + two = 'Whats my name' + + one.common_prefix(two).should == '' + end + + it "should return an empty String if one of the strings is also empty" do + one = 'Haha' + two = '' + + one.common_prefix(two).should == '' + end + end + + describe "common_postfix" do + it "should find the common postfix between two Strings" do + one = 'Tell me baby whats my name' + two = "Can't you guess my name" + common = 's my name' + + one.common_postfix(two).should == common + end + + it "should return an empty String if there is no common postfix" do + one = 'You got to right up, stand up' + two = 'stand up for your rights' + + one.common_postfix(two).should == '' + end + + it "should return an empty String if one of the strings is also empty" do + one = 'You and I must fight for our rights' + two = '' + + one.common_postfix(two).should == '' + end + end + + describe "uncommon_substring" do + it "should find the uncommon substring between two Strings" do + one = "Tell me baby whats my name" + two = "Tell me honey whats my name" + uncommon = 'bab' + + one.uncommon_substring(two).should == uncommon + end + + it "should find the uncommon substring between two Strings with a common prefix" do + one = 'You and I must fight for our rights' + two = 'You and I must fight to survive' + uncommon = 'for our rights' + + one.uncommon_substring(two).should == uncommon + end + + it "should find the uncommon substring between two Strings with a common postfix" do + one = 'Tell me baby whats my name' + two = "Can't you guess my name" + uncommon = 'Tell me baby what' + + one.uncommon_substring(two).should == uncommon + end end end