Skip to content

Commit d230989

Browse files
authored
* assert that version-specific checks actually run against at least one version (#1050)
It's easy to invert version subtraction and then not test anything Not like I almost did that myself or anything 🙃
1 parent 91a0a6a commit d230989

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

test/parse_helper.rb

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,8 @@ def assert_source_range(expect_range, range, version, what)
7979
# )
8080
# ~~~
8181
def assert_parses(ast, code, source_maps='', versions=ALL_VERSIONS)
82+
refute_operator(versions, :empty?)
83+
8284
with_versions(versions) do |version, parser|
8385
try_parsing(ast, code, parser, source_maps, version)
8486
end
@@ -160,6 +162,8 @@ def try_parsing(ast, code, parser, source_maps, version)
160162
# | ~~~ highlights (0)})
161163
# ~~~
162164
def assert_diagnoses(diagnostic, code, source_maps='', versions=ALL_VERSIONS)
165+
refute_operator(versions, :empty?)
166+
163167
with_versions(versions) do |version, parser|
164168
source_file = Parser::Source::Buffer.new('(assert_diagnoses)', source: code)
165169

@@ -217,6 +221,8 @@ def assert_diagnoses(diagnostic, code, source_maps='', versions=ALL_VERSIONS)
217221
# SINCE_2_4)
218222
# ~~~
219223
def assert_diagnoses_many(diagnostics, code, versions=ALL_VERSIONS)
224+
refute_operator(versions, :empty?)
225+
220226
with_versions(versions) do |version, parser|
221227
source_file = Parser::Source::Buffer.new('(assert_diagnoses_many)', source: code)
222228

@@ -242,6 +248,8 @@ def assert_diagnoses_many(diagnostics, code, versions=ALL_VERSIONS)
242248
end
243249

244250
def refute_diagnoses(code, versions=ALL_VERSIONS)
251+
refute_operator(versions, :empty?)
252+
245253
with_versions(versions) do |version, parser|
246254
source_file = Parser::Source::Buffer.new('(refute_diagnoses)', source: code)
247255

@@ -258,6 +266,8 @@ def refute_diagnoses(code, versions=ALL_VERSIONS)
258266
end
259267

260268
def assert_context(context, code, versions=ALL_VERSIONS)
269+
refute_operator(versions, :empty?)
270+
261271
with_versions(versions) do |version, parser|
262272
source_file = Parser::Source::Buffer.new('(assert_context)', source: code)
263273

test/test_parser.rb

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2239,15 +2239,15 @@ def test_arg_scope
22392239
s(:lvar, :var)),
22402240
%q{def f(var = defined?(var)) var end},
22412241
%q{},
2242-
SINCE_2_7 - SINCE_2_1)
2242+
SINCE_2_1 - SINCE_2_7)
22432243

22442244
assert_parses(
22452245
s(:def, :f,
22462246
s(:args, s(:kwoptarg, :var, s(:defined?, s(:lvar, :var)))),
22472247
s(:lvar, :var)),
22482248
%q{def f(var: defined?(var)) var end},
22492249
%q{},
2250-
SINCE_2_7 - SINCE_2_1)
2250+
SINCE_2_1 - SINCE_2_7)
22512251

22522252
assert_parses(
22532253
s(:block,
@@ -5721,7 +5721,7 @@ def test_regexp_encoding
57215721
s(:str, "")),
57225722
%q{/\xa8/n =~ ""}.dup.force_encoding(Encoding::UTF_8),
57235723
%{},
5724-
SINCE_3_1 - SINCE_1_9)
5724+
SINCE_1_9 - SINCE_3_1)
57255725
end
57265726

57275727
#
@@ -6626,7 +6626,7 @@ def test_parser_bug_198
66266626
s(:str, "#")),
66276627
%q{[/()\\1/, ?#]},
66286628
%q{},
6629-
SINCE_3_1 - SINCE_1_9)
6629+
SINCE_1_9 - SINCE_3_1)
66306630
end
66316631

66326632
def test_parser_bug_272
@@ -8160,7 +8160,7 @@ def test_forward_args_invalid
81608160
[:error, :unexpected_token, { :token => 'tDOT3' }],
81618161
%q{def foo ...; end},
81628162
%q{ ^^^ location},
8163-
SINCE_3_1 - SINCE_2_7)
8163+
SINCE_2_7 - SINCE_3_1)
81648164
end
81658165

81668166
def test_trailing_forward_arg

0 commit comments

Comments
 (0)