Sha256: 86fb33599cd47639062e9248f06c76c678d5fb7ef02682ea3c03ca31d7e37054

Contents?: true

Size: 1.14 KB

Versions: 8

Compression:

Stored size: 1.14 KB

Contents

# @!method match_output_string(string)
#   This matchers checks if the output string of a command matches regular expression.
#
#   @param [String] string
#     The value of the output string
#
#   @return [Boolean] The result
#
#     False:
#     * if the output string does not match regex
#     True:
#     * if the output string matches regex
#
#   @example Use matcher
#     RSpec.describe do
#       it { expect(last_command_started).to have_output an_output_string_matching regex) }
#       it { expect(last_command_started).to have_output match_output_string regex) }
#     end
RSpec::Matchers.define :match_output_string do |expected|
  match do |actual|
    actual.force_encoding('UTF-8')
    @expected = Regexp.new(unescape_text(expected), Regexp::MULTILINE)
    @actual   = sanitize_text(actual)

    values_match? @expected, @actual
  end

  diffable

  description { "output string matches: #{description_of expected}" }
end

RSpec::Matchers.alias_matcher :an_output_string_matching, :match_output_string
RSpec::Matchers.alias_matcher :a_file_name_matching, :match_output_string
RSpec::Matchers.alias_matcher :file_content_matching, :match_output_string

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
aruba-1.0.4 lib/aruba/matchers/string/match_output_string.rb
aruba-1.0.3 lib/aruba/matchers/string/match_output_string.rb
aruba-1.0.2 lib/aruba/matchers/string/match_output_string.rb
aruba-1.0.1 lib/aruba/matchers/string/match_output_string.rb
aruba-1.0.0 lib/aruba/matchers/string/match_output_string.rb
aruba-1.0.0.pre.alpha.5 lib/aruba/matchers/string/match_output_string.rb
aruba-1.0.0.pre.alpha.4 lib/aruba/matchers/string/match_output_string.rb
aruba-1.0.0.pre.alpha.3 lib/aruba/matchers/string/match_output_string.rb