spec/lib/query/token_spec.rb in picky-3.0.1 vs spec/lib/query/token_spec.rb in picky-3.1.0
- old
+ new
@@ -3,23 +3,23 @@
describe Picky::Query::Token do
describe '==' do
it 'is equal if the originals are equal' do
- described_class.processed('similar~').should == described_class.processed('similar~')
+ described_class.processed('similar~', 'Similar~').should == described_class.processed('similar~', 'Similar~')
end
it 'is not equal if the originals are not equal' do
- described_class.processed('similar~').should_not == described_class.processed('similar')
+ described_class.processed('similar~', 'Similar~').should_not == described_class.processed('similar', 'Similar')
end
end
describe 'next_similar_token' do
before(:each) do
@bundle = stub :bundle, :similar => [:array, :of, :similar]
@category = stub :category, :bundle_for => @bundle
- @token = described_class.processed 'similar~'
+ @token = described_class.processed 'similar~', 'Similar~'
end
it 'returns the right next tokens' do
next_token = @token.next_similar_token @category
next_token.text.should == :array
next_token = next_token.next_similar_token @category
@@ -38,11 +38,11 @@
describe 'original' do
context 'with stub' do
before(:each) do
@bundle.stub! :similar => [:array, :of, :similar]
- @token = described_class.processed 'similar~'
+ @token = described_class.processed 'similar~', 'Similar'
end
it 'should have a certain original text' do
@token.next_similar @bundle
@token.original.should == :array
@@ -52,11 +52,11 @@
context 'similar' do
context 'with stub' do
before(:each) do
@bundle.stub! :similar => [:array, :of, :similar]
- @token = described_class.processed 'similar~'
+ @token = described_class.processed 'similar~', 'Similar'
end
it 'generates all similar' do
@token.next_similar(@bundle).should == :array
@token.next_similar(@bundle).should == :of
@token.next_similar(@bundle).should == :similar
@@ -75,11 +75,11 @@
context 'non-similar' do
context 'with stub' do
before(:each) do
@bundle.stub! :similar => [:array, :of, :similar]
- @token = described_class.processed 'nonsimilar'
+ @token = described_class.processed 'nonsimilar', 'Nonsimilar'
end
it 'generates all similar' do
@token.next_similar(@bundle).should == nil
end
it 'should have a certain text' do
@@ -93,11 +93,11 @@
describe "generate_similarity_for" do
before(:each) do
@bundle = stub :bundle
- @token = described_class.processed 'flarb~'
+ @token = described_class.processed 'flarb~', 'FLARB~'
end
context "with similar" do
before(:each) do
@bundle.stub! :similar => [:array, :of, :similar]
end
@@ -175,26 +175,24 @@
it_should_qualify 'fn:text', [['fn'], 'text']
end
describe 'processed' do
it 'should return a new token' do
- described_class.processed('some text').should be_kind_of(described_class)
+ described_class.processed('some text', 'SOME TEXT').should be_kind_of(described_class)
end
it 'generates a token' do
- described_class.processed('some text').class.should == described_class
+ described_class.processed('some text', 'SOME TEXT').class.should == described_class
end
end
describe 'process' do
let(:token) { described_class.new 'any_text' }
it 'returns itself' do
token.process.should == token
end
it 'should have an order' do
token.should_receive(:qualify).once.ordered
- token.should_receive(:extract_original).once.ordered
- token.should_receive(:downcase).once.ordered
token.should_receive(:partialize).once.ordered
token.should_receive(:similarize).once.ordered
token.should_receive(:remove_illegals).once.ordered
token.should_receive(:symbolize).once.ordered
@@ -203,52 +201,52 @@
end
describe 'partial?' do
context 'similar, partial' do
before(:each) do
- @token = described_class.processed 'similar~'
+ @token = described_class.processed 'similar~', 'Similar~'
@token.partial = true
end
it 'should be false' do
@token.partial?.should == false
end
end
context 'similar, not partial' do
before(:each) do
- @token = described_class.processed 'similar~'
+ @token = described_class.processed 'similar~', 'Similar~'
end
it 'should be false' do
@token.partial?.should == false
end
end
context 'not similar, partial' do
before(:each) do
- @token = described_class.processed 'not similar'
+ @token = described_class.processed 'not similar', 'NOT SIMILAR'
@token.partial = true
end
it 'should be true' do
@token.partial?.should == true
end
end
context 'not similar, not partial' do
before(:each) do
- @token = described_class.processed 'not similar'
+ @token = described_class.processed 'not similar', 'NOT SIMILAR'
end
it 'should be nil' do
@token.partial?.should == nil
end
end
end
describe 'similar' do
it 'should not change the original with the text' do
- token = described_class.processed "bla~"
+ token = described_class.processed "bla~", 'BLA~'
token.text.should_not == token.original
end
def self.it_should_have_similarity text, expected_similarity_value
it "should have #{ "no" unless expected_similarity_value } similarity for '#{text}'" do
- described_class.processed(text).similar?.should == expected_similarity_value
+ described_class.processed(text, text.upcase).similar?.should == expected_similarity_value
end
end
it_should_have_similarity 'name:', nil
it_should_have_similarity 'name:hanke', nil
it_should_have_similarity 'g:gaga', nil
@@ -264,20 +262,20 @@
it_should_have_similarity 'philippe~', true
end
describe 'special cases' do
it 'should be blank on ""' do
- token = described_class.processed '""'
+ token = described_class.processed '""', '""'
token.should be_blank
end
end
describe "original" do
it "should keep the original text even when processed" do
- token = described_class.processed "I'm the original token text."
+ token = described_class.processed "I'm the processed text.", "I'm the original text."
- token.original.should == "I'm the original token text."
+ token.original.should == "I'm the original text."
end
end
describe "blank?" do
it "should be blank if the token text itself is blank" do
\ No newline at end of file