Sha256: af401e21c2f674b485fb6350157fa8a4a866d2c61d006429aee35854d34a419f

Contents?: true

Size: 1.75 KB

Versions: 17

Compression:

Stored size: 1.75 KB

Contents

require 'spec_helper'

describe "include_text" do

  it "should have a helpful description" do
    matcher = include_text("foo bar")
    matcher.description.should == 'include text "foo bar"'
  end

  it 'should match if the text is contained' do
    matcher = include_text('big piece')
    matcher.matches?('I am a big piece of text').should be_true
  end

  it 'should not match if text is not contained' do
    matcher = include_text('foo bar')
    matcher.matches?('hello world').should be_false
  end

end

describe "include_text", :type => :controller do
  ['isolation','integration'].each do |mode|
    if mode == 'integration'
      integrate_views
    end

    describe "where target is a response (in #{mode} mode)" do
      controller_name :render_spec

      it "should pass with exactly matching text" do
        post 'text_action'
        response.should include_text("this is the text for this action")
      end

      it 'should pass with substring matching text' do
        post 'text_action'
        response.should include_text('text for this')
      end

      it "should fail with incorrect text" do
        post 'text_action'
        lambda {
          response.should include_text("the accordian guy")
        }.should fail_with("expected to find \"the accordian guy\" in \"this is the text for this action\"")
      end

      it "should pass using should_not with incorrect text" do
        post 'text_action'
        response.should_not include_text("the accordian guy")
      end

      it "should fail when a template is rendered" do
        get 'some_action'
        lambda {
          response.should include_text("this is the text for this action")
        }.should fail_with(/expected to find \"this is the text for this action\"/)
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 6 rubygems

Version Path
radiant-1.0.0 ruby-debug/ruby/1.8/gems/rspec-rails-1.3.4/spec/spec/rails/matchers/include_text_spec.rb
richzhou-rspec-rails-1.3.4 spec/spec/rails/matchers/include_text_spec.rb
rspec-rails-1.3.4 spec/spec/rails/matchers/include_text_spec.rb
rspec-rails-1.3.3 spec/spec/rails/matchers/include_text_spec.rb
rspec-rails-1.3.3.rc spec/spec/rails/matchers/include_text_spec.rb
exception2db-0.0.1 test/rspec-rails/spec/spec/rails/matchers/include_text_spec.rb
rspec-rails-w-factory_girl-1.3.2.1 spec/spec/rails/matchers/include_text_spec.rb
rspec-rails-w-factory_girl-1.3.2 spec/spec/rails/matchers/include_text_spec.rb
rspec-rails-1.3.2 spec/spec/rails/matchers/include_text_spec.rb
rspec-rails-1.3.1 spec/spec/rails/matchers/include_text_spec.rb
rspec-rails-1.3.0 spec/spec/rails/matchers/include_text_spec.rb
hubbub-0.0.11 lib/vendor/plugins/rspec-rails/spec/spec/rails/matchers/include_text_spec.rb
hubbub-0.0.10 lib/vendor/plugins/rspec-rails/spec/spec/rails/matchers/include_text_spec.rb
hubbub-0.0.9 lib/vendor/plugins/rspec-rails/spec/spec/rails/matchers/include_text_spec.rb
hubbub-0.0.8 lib/vendor/plugins/rspec-rails/spec/spec/rails/matchers/include_text_spec.rb
hubbub-0.0.6 lib/vendor/plugins/rspec-rails/spec/spec/rails/matchers/include_text_spec.rb
rspec-rails-1.2.9 spec/spec/rails/matchers/include_text_spec.rb