Sha256: 88c17f04470db92775930b9e93ccec27c04cbabf82dbb1855ee9da122e4b31ed

Contents?: true

Size: 1.48 KB

Versions: 9

Compression:

Stored size: 1.48 KB

Contents

module ThinkingSphinx
  module Panes; end
end

require 'thinking_sphinx/panes/excerpts_pane'

describe ThinkingSphinx::Panes::ExcerptsPane do
  let(:pane)    {
    ThinkingSphinx::Panes::ExcerptsPane.new context, object, raw }
  let(:context) { {:indices => [double(:name => 'foo_core')]} }
  let(:object)  { double('object') }
  let(:raw)     { {} }
  let(:search)  { double('search', :query => 'foo', :options => {}) }

  before :each do
    context.stub :search => search
  end

  describe '#excerpts' do
    let(:excerpter) { double('excerpter') }
    let(:excerpts)  { double('excerpts object') }

    before :each do
      stub_const 'ThinkingSphinx::Excerpter', double(:new => excerpter)
      ThinkingSphinx::Panes::ExcerptsPane::Excerpts.stub :new => excerpts
    end

    it "returns an excerpt glazing" do
      pane.excerpts.should == excerpts
    end

    it "creates an excerpter with the first index and the query and conditions values" do
      context[:indices] = [double(:name => 'alpha'), double(:name => 'beta')]
      context.search.options[:conditions] = {:baz => 'bar'}

      ThinkingSphinx::Excerpter.should_receive(:new).
        with('alpha', 'foo bar', anything).and_return(excerpter)

      pane.excerpts
    end

    it "passes through excerpts options" do
      search.options[:excerpts] = {:before_match => 'foo'}

      ThinkingSphinx::Excerpter.should_receive(:new).
        with(anything, anything, :before_match => 'foo').and_return(excerpter)

      pane.excerpts
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
thinking-sphinx-3.2.0 spec/thinking_sphinx/panes/excerpts_pane_spec.rb
thinking-sphinx-3.1.4 spec/thinking_sphinx/panes/excerpts_pane_spec.rb
thinking-sphinx-3.1.3 spec/thinking_sphinx/panes/excerpts_pane_spec.rb
thinking-sphinx-3.1.2 spec/thinking_sphinx/panes/excerpts_pane_spec.rb
thinking-sphinx-3.1.1 spec/thinking_sphinx/panes/excerpts_pane_spec.rb
thinking-sphinx-3.1.0 spec/thinking_sphinx/panes/excerpts_pane_spec.rb
thinking-sphinx-3.0.6 spec/thinking_sphinx/panes/excerpts_pane_spec.rb
thinking-sphinx-3.0.5 spec/thinking_sphinx/panes/excerpts_pane_spec.rb
thinking-sphinx-3.0.4 spec/thinking_sphinx/panes/excerpts_pane_spec.rb