# File lib/hammer_cli/testing/output_matchers.rb, line 34 def initialize(expected="", options={}) @expected_lines = expected.is_a?(Array) ? expected : [expected] @ignore_whitespace = options.fetch(:ignore_whitespace, true) end
# File lib/hammer_cli/testing/output_matchers.rb, line 39 def assert_match(test_ctx, actual) if @ignore_whitespace expected_lines = strip_lines(@expected_lines) actual = strip_lines(actual.split("\n")).join("\n") else expected_lines = @expected_lines end expected_lines = expected_lines.join("\n") message = "Output didn't contain expected lines:\n" + diff(expected_lines, actual) test_ctx.assert(actual.include?(expected_lines), message) end
# File lib/hammer_cli/testing/output_matchers.rb, line 54 def strip_lines(lines) lines.map(&:rstrip) end