Sha256: 6774939653f3ddeb83efae56222989269b12619b542c12954112d56ccc87405a

Contents?: true

Size: 1.38 KB

Versions: 23

Compression:

Stored size: 1.38 KB

Contents

module Spec
  module Rails
    module Matchers
    
      class HaveText  #:nodoc:

        def initialize(expected)
          @expected = expected
        end

        def matches?(response_or_text)
          @actual = response_or_text.respond_to?(:body) ? response_or_text.body : response_or_text
          return actual =~ expected if Regexp === expected
          return actual == expected unless Regexp === expected
        end
      
        def failure_message
          "expected #{expected.inspect}, got #{actual.inspect}"
        end
        
        def negative_failure_message
          "expected not to have text #{expected.inspect}"
        end
        
        def to_s
          "have text #{expected.inspect}"
        end
      
        private
          attr_reader :expected
          attr_reader :actual

      end

      # :call-seq:
      #   response.should have_text(expected)
      #   response.should_not have_text(expected)
      #
      # Accepts a String or a Regexp, matching a String using ==
      # and a Regexp using =~.
      #
      # Use this instead of <tt>response.should have_tag()</tt>
      # when you either don't know or don't care where on the page
      # this text appears.
      #
      # == Examples
      #
      #   response.should have_text("This is the expected text")
      def have_text(text)
        HaveText.new(text)
      end
    
    end
  end
end

Version data entries

23 entries across 23 versions & 4 rubygems

Version Path
picolena-0.0.99 app_generators/picolena/templates/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/have_text.rb
picolena-0.1.1 rails_plugins/rspec_on_rails/lib/spec/rails/matchers/have_text.rb
picolena-0.1.0 rails_plugins/rspec_on_rails/lib/spec/rails/matchers/have_text.rb
picolena-0.1.3 rails_plugins/rspec_on_rails/lib/spec/rails/matchers/have_text.rb
picolena-0.1.4 rails_plugins/rspec_on_rails/lib/spec/rails/matchers/have_text.rb
picolena-0.1.2 rails_plugins/rspec_on_rails/lib/spec/rails/matchers/have_text.rb
picolena-0.1.5 rails_plugins/rspec_on_rails/lib/spec/rails/matchers/have_text.rb
radiant-0.6.5.1 vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/have_text.rb
radiant-0.6.5 vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/have_text.rb
radiant-0.6.7 vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/have_text.rb
radiant-0.6.6 vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/have_text.rb
radiant-0.6.9 vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/have_text.rb
radiant-0.6.8 vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/have_text.rb
spree-0.0.8 starter-app/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/have_text.rb
spree-0.0.9 vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/have_text.rb
spree-0.2.0 vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/have_text.rb
typo-5.0.3.98.1 vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/have_text.rb
typo-5.0.3.98 vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/have_text.rb
typo-5.0 vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/have_text.rb
typo-5.1.2 vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/have_text.rb