File: additional_cli_steps.rb

package info (click to toggle)
ruby-rspec 3.13.0c0e0m0s1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 6,856 kB
  • sloc: ruby: 70,868; sh: 1,423; makefile: 99
file content (29 lines) | stat: -rw-r--r-- 858 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Then /^the example(?:s)? should(?: all)? pass$/ do
  step %q(the output should contain "0 failures")
  step %q(the exit status should be 0)
end

Then /^the examples should all fail, producing the following output:$/ do |table|
  step %q(the exit status should be 1)
  examples, failures = all_output.match(/(\d+) examples?, (\d+) failures?/).captures.map(&:to_i)

  expect(examples).to be > 0
  expect(examples).to eq(failures)

  lines = table.raw.flatten.reject(&:empty?)
  expect(all_output).to include(*lines)
end

RSpec::Matchers.define :match_table do |lines|
  match do |all_output|
    lines.all? { |line| all_output.include?(line) }
  end

  diffable
end

Then /^it should fail with the following output:$/ do |table|
  step %q(the exit status should be 1)
  lines = table.raw.flatten.reject(&:empty?)
  expect(all_output).to match_table(lines)
end