Sha256: 564f2a3eee6f91d4209439ebec9b3e3af31d296e4c5ffc56c08b24942460a2d6
Contents?: true
Size: 1.68 KB
Versions: 8
Compression:
Stored size: 1.68 KB
Contents
require 'rspec/expectations/version' # @!method have_file_content(content) # This matchers checks if <file> has content. `content` can be a string, # regexp or an RSpec matcher. # # @param [String, Regexp, Matcher] content # Specifies the content of the file # # @return [Boolean] The result # # false: # * if file does not exist # * if file content is not equal string # * if file content does not include regexp # * if file content does not match the content specification # # true: # * if file content includes regexp # * if file content is equal string # * if file content matches the content specification # # @example Use matcher with string # # RSpec.describe do # it { expect(file1).to have_file_content('a') } # end # # @example Use matcher with regexp # # RSpec.describe do # it { expect(file1).to have_file_content(/a/) } # end # # @example Use matcher with an RSpec matcher # # RSpec.describe do # it { expect(file1).to have_file_content(a_string_starting_with 'a') } # it { expect(files1).to include a_file_having_content(a_string_starting_with 'a') } # end RSpec::Matchers.define :have_file_content do |expected| match do |actual| stop_all_commands next false unless file? actual @actual = read(actual).join("\n").chomp @expected = if expected.is_a? String expected.chomp else expected end values_match?(@expected, @actual) end diffable if expected.is_a? String description { "have file content: #{description_of expected}" } end RSpec::Matchers.alias_matcher :a_file_having_content, :have_file_content
Version data entries
8 entries across 8 versions & 1 rubygems