Fetching contributors…
Cannot retrieve contributors at this time
56 lines (44 sloc) 1.87 KB
require File.join(File.dirname(__FILE__), 'test_helper')
describe "Util" do
it "underscore converts camelcase to underscore" do
Util.underscore('Boson::MethodInspector').should == 'boson/method_inspector'
end
it "constantize converts string to class" do
Util.constantize("Boson").should == ::Boson
end
describe "underscore_search" do
def search(query, list)
Util.underscore_search(query, list).sort {|a,b| a.to_s <=> b.to_s }
end
def first_search(query, list)
Util.underscore_search(query, list, true)
end
it "matches non underscore strings" do
search('som', %w{some words match sometimes}).should == %w{some sometimes}
end
it "matches first non underscore string" do
first_search('wo', %w{some work wobbles}).should == 'work'
end
it "matches non underscore symbols" do
search(:som, [:some, :words, :match, :sometimes]).should == [:some, :sometimes]
search('som', [:some, :words, :match, :sometimes]).should == [:some, :sometimes]
end
it "matches underscore strings" do
search('s_l', %w{some_long some_short some_lame}).should == %w{some_lame some_long}
end
it "matches first underscore string" do
first_search('s_l', %w{some_long some_short some_lame}).should == 'some_long'
end
it "matches underscore symbols" do
search(:s_l, [:some_long, :some_short, :some_lame]).should == [:some_lame, :some_long]
search('s_l', [:some_long, :some_short, :some_lame]).should == [:some_lame, :some_long]
end
it "matches full underscore string" do
search('some_long_name', %w{some_long_name some_short some_lame}).should == %w{some_long_name}
end
it "only matches exact match if multiple matches that start with exact match" do
search('bl', %w{bl blang bling}).should == ['bl']
first_search('bl', %w{bl blang bling}).should == 'bl'
end
end
end