Sha256: ad50b80963e72db757250a3cd4d3ec05f3ffa951f91aa97b7ade01f965694010

Contents?: true

Size: 1.99 KB

Versions: 8

Compression:

Stored size: 1.99 KB

Contents

# coding: utf-8
#
require 'spec_helper'

describe Picky::Query::Combination do

  before(:each) do
    @bundle      = stub :bundle, :identifier => :bundle_name
    @token       = Picky::Query::Token.processed('some_text~', 'Some Original~')
    @category    = stub :category,
                        :bundle_for => @bundle,
                        :name => :some_category_name,
                        :identifier => 'some_category_identifier'

    @combination = described_class.new @token, @category, 3.14
  end

  describe "to_s" do
    it "shows the combination's info" do
      @token.stub! :to_result => :token_result

      @combination.to_s.should == '(bundle_name,some_category_name:token_result)'
    end
  end

  describe 'to_result' do
    context 'functional with qualifier' do
      before(:each) do
        token = Picky::Query::Token.processed 'name:blä~', 'Blä~'

        @combination = Picky::Query::Combination.new token, @category, 3.14
      end
      it 'should return a correct result' do
        @combination.to_result.should == [:some_category_name, 'Blä~', 'blä'] # Note: Characters not substituted. That's ok.
      end
    end
    it 'should return a correct result' do
      @token.stub! :to_result => [:some_original_text, :some_text]

      @combination.to_result.should == [:some_category_name, :some_original_text, :some_text]
    end
  end

  describe 'identifier' do
    it 'should get the category name from the bundle' do
      @combination.identifier.should == "bundle_name:inverted:some_text"
    end
  end

  describe 'ids' do
    it 'should call ids with the text on bundle' do
      @category.should_receive(:ids).once.with @token

      @combination.ids
    end
    it 'should not call it twice, but cache' do
      @category.stub! :ids => :some_ids
      @combination.ids

      @category.should_receive(:ids).never

      @combination.ids.should == :some_ids
    end
  end

  describe 'weight' do
    it 'should return the weight' do
      @combination.weight.should == 3.14
    end
  end

end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
picky-4.19.4 spec/lib/query/combination_spec.rb
picky-4.19.3 spec/lib/query/combination_spec.rb
picky-4.19.2 spec/lib/query/combination_spec.rb
picky-4.19.1 spec/lib/query/combination_spec.rb
picky-4.19.0 spec/lib/query/combination_spec.rb
picky-4.18.0 spec/lib/query/combination_spec.rb
picky-4.17.1 spec/lib/query/combination_spec.rb
picky-4.17.0 spec/lib/query/combination_spec.rb