Skip to content

Commit b822144

Browse files
author
Tom Lord
committed
Better error messages upon test failure
Makes it easier to track down the bug, innit!
1 parent 4be455d commit b822144

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

spec/regexp-examples_spec.rb

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,16 @@
22
def self.examples_exist_and_match(*regexps)
33
regexps.each do |regexp|
44
it do
5-
regexp_examples = regexp.examples
6-
expect(regexp_examples).not_to be_empty, "No examples were generated for regexp: #{regexp.source}"
5+
begin
6+
regexp_examples = regexp.examples
7+
rescue
8+
# TODO: Find a nicer way to display this?
9+
puts "Error generating examples for /#{regexp.source}/"
10+
raise $!
11+
end
12+
expect(regexp_examples).not_to be_empty, "No examples were generated for regexp: /#{regexp.source}/"
713
regexp_examples.each { |example| expect(example).to match(/\A(?:#{regexp.source})\z/) }
8-
# Note: /\A...\z/ is used, to prevent misleading examples from passing the test.
14+
# Note: /\A...\z/ is used to prevent misleading examples from passing the test.
915
# For example, we don't want things like:
1016
# /a*/.examples to include "xyz"
1117
# /a|b/.examples to include "bad"
@@ -32,7 +38,7 @@ def self.examples_raise_unsupported_syntax_error(*regexps)
3238
def self.examples_are_empty(*regexps)
3339
regexps.each do |regexp|
3440
it do
35-
expect(regexp.examples).to be_empty
41+
expect(regexp.examples).to be_empty, "Unexpected examples for regexp: /#{regexp.source}/"
3642
end
3743
end
3844
end

0 commit comments

Comments
 (0)