diff options
Diffstat (limited to 'test/prism/fixtures/whitequark')
310 files changed, 1358 insertions, 0 deletions
diff --git a/test/prism/fixtures/whitequark/LICENSE b/test/prism/fixtures/whitequark/LICENSE new file mode 100644 index 0000000000..971310e3d6 --- /dev/null +++ b/test/prism/fixtures/whitequark/LICENSE @@ -0,0 +1,25 @@ +Copyright (c) 2013-2016 whitequark <whitequark@whitequark.org> + +Parts of the source are derived from ruby_parser: +Copyright (c) Ryan Davis, seattle.rb + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/test/prism/fixtures/whitequark/__ENCODING__.txt b/test/prism/fixtures/whitequark/__ENCODING__.txt new file mode 100644 index 0000000000..d6debf2f92 --- /dev/null +++ b/test/prism/fixtures/whitequark/__ENCODING__.txt @@ -0,0 +1 @@ +__ENCODING__ diff --git a/test/prism/fixtures/whitequark/__ENCODING___legacy_.txt b/test/prism/fixtures/whitequark/__ENCODING___legacy_.txt new file mode 100644 index 0000000000..d6debf2f92 --- /dev/null +++ b/test/prism/fixtures/whitequark/__ENCODING___legacy_.txt @@ -0,0 +1 @@ +__ENCODING__ diff --git a/test/prism/fixtures/whitequark/alias.txt b/test/prism/fixtures/whitequark/alias.txt new file mode 100644 index 0000000000..e33b120022 --- /dev/null +++ b/test/prism/fixtures/whitequark/alias.txt @@ -0,0 +1 @@ +alias :foo bar diff --git a/test/prism/fixtures/whitequark/alias_gvar.txt b/test/prism/fixtures/whitequark/alias_gvar.txt new file mode 100644 index 0000000000..b975d97f8e --- /dev/null +++ b/test/prism/fixtures/whitequark/alias_gvar.txt @@ -0,0 +1,3 @@ +alias $a $+ + +alias $a $b diff --git a/test/prism/fixtures/whitequark/ambiuous_quoted_label_in_ternary_operator.txt b/test/prism/fixtures/whitequark/ambiuous_quoted_label_in_ternary_operator.txt new file mode 100644 index 0000000000..9b2e3afad5 --- /dev/null +++ b/test/prism/fixtures/whitequark/ambiuous_quoted_label_in_ternary_operator.txt @@ -0,0 +1 @@ +a ? b & '': nil diff --git a/test/prism/fixtures/whitequark/and.txt b/test/prism/fixtures/whitequark/and.txt new file mode 100644 index 0000000000..43fa6a65cd --- /dev/null +++ b/test/prism/fixtures/whitequark/and.txt @@ -0,0 +1,3 @@ +foo && bar + +foo and bar diff --git a/test/prism/fixtures/whitequark/and_asgn.txt b/test/prism/fixtures/whitequark/and_asgn.txt new file mode 100644 index 0000000000..a979265914 --- /dev/null +++ b/test/prism/fixtures/whitequark/and_asgn.txt @@ -0,0 +1,3 @@ +foo.a &&= 1 + +foo[0, 1] &&= 2 diff --git a/test/prism/fixtures/whitequark/and_or_masgn.txt b/test/prism/fixtures/whitequark/and_or_masgn.txt new file mode 100644 index 0000000000..e346041604 --- /dev/null +++ b/test/prism/fixtures/whitequark/and_or_masgn.txt @@ -0,0 +1,3 @@ +foo && (a, b = bar) + +foo || (a, b = bar) diff --git a/test/prism/fixtures/whitequark/anonymous_blockarg.txt b/test/prism/fixtures/whitequark/anonymous_blockarg.txt new file mode 100644 index 0000000000..e3eaaad6ce --- /dev/null +++ b/test/prism/fixtures/whitequark/anonymous_blockarg.txt @@ -0,0 +1 @@ +def foo(&); bar(&); end diff --git a/test/prism/fixtures/whitequark/arg.txt b/test/prism/fixtures/whitequark/arg.txt new file mode 100644 index 0000000000..b1984ad5c4 --- /dev/null +++ b/test/prism/fixtures/whitequark/arg.txt @@ -0,0 +1,3 @@ +def f(foo); end + +def f(foo, bar); end diff --git a/test/prism/fixtures/whitequark/arg_duplicate_ignored.txt b/test/prism/fixtures/whitequark/arg_duplicate_ignored.txt new file mode 100644 index 0000000000..0f5cc33961 --- /dev/null +++ b/test/prism/fixtures/whitequark/arg_duplicate_ignored.txt @@ -0,0 +1,3 @@ +def foo(_, _); end + +def foo(_a, _a); end diff --git a/test/prism/fixtures/whitequark/arg_label.txt b/test/prism/fixtures/whitequark/arg_label.txt new file mode 100644 index 0000000000..82db416cb4 --- /dev/null +++ b/test/prism/fixtures/whitequark/arg_label.txt @@ -0,0 +1,6 @@ +def foo + a:b end + +def foo() a:b end + +f { || a:b } diff --git a/test/prism/fixtures/whitequark/arg_scope.txt b/test/prism/fixtures/whitequark/arg_scope.txt new file mode 100644 index 0000000000..6c67ab72e3 --- /dev/null +++ b/test/prism/fixtures/whitequark/arg_scope.txt @@ -0,0 +1 @@ +lambda{|;a|a} diff --git a/test/prism/fixtures/whitequark/args.txt b/test/prism/fixtures/whitequark/args.txt new file mode 100644 index 0000000000..773be477d3 --- /dev/null +++ b/test/prism/fixtures/whitequark/args.txt @@ -0,0 +1,63 @@ +def f &b; end + +def f (((a))); end + +def f ((*)); end + +def f ((*, p)); end + +def f ((*r)); end + +def f ((*r, p)); end + +def f ((a, *)); end + +def f ((a, *, p)); end + +def f ((a, *r)); end + +def f ((a, *r, p)); end + +def f ((a, a1)); end + +def f (foo: 1, &b); end + +def f (foo: 1, bar: 2, **baz, &b); end + +def f **baz, &b; end + +def f *, **; end + +def f *r, &b; end + +def f *r, p, &b; end + +def f ; end + +def f a, &b; end + +def f a, *r, &b; end + +def f a, *r, p, &b; end + +def f a, o=1, &b; end + +def f a, o=1, *r, &b; end + +def f a, o=1, *r, p, &b; end + +def f a, o=1, p, &b; end + +def f foo: +; end + +def f foo: -1 +; end + +def f o=1, &b; end + +def f o=1, *r, &b; end + +def f o=1, *r, p, &b; end + +def f o=1, p, &b; end diff --git a/test/prism/fixtures/whitequark/args_args_assocs.txt b/test/prism/fixtures/whitequark/args_args_assocs.txt new file mode 100644 index 0000000000..445f899442 --- /dev/null +++ b/test/prism/fixtures/whitequark/args_args_assocs.txt @@ -0,0 +1,3 @@ +fun(foo, :foo => 1) + +fun(foo, :foo => 1, &baz) diff --git a/test/prism/fixtures/whitequark/args_args_assocs_comma.txt b/test/prism/fixtures/whitequark/args_args_assocs_comma.txt new file mode 100644 index 0000000000..b566a59037 --- /dev/null +++ b/test/prism/fixtures/whitequark/args_args_assocs_comma.txt @@ -0,0 +1 @@ +foo[bar, :baz => 1,] diff --git a/test/prism/fixtures/whitequark/args_args_comma.txt b/test/prism/fixtures/whitequark/args_args_comma.txt new file mode 100644 index 0000000000..80770716dd --- /dev/null +++ b/test/prism/fixtures/whitequark/args_args_comma.txt @@ -0,0 +1 @@ +foo[bar,] diff --git a/test/prism/fixtures/whitequark/args_args_star.txt b/test/prism/fixtures/whitequark/args_args_star.txt new file mode 100644 index 0000000000..d4dc9cc579 --- /dev/null +++ b/test/prism/fixtures/whitequark/args_args_star.txt @@ -0,0 +1,3 @@ +fun(foo, *bar) + +fun(foo, *bar, &baz) diff --git a/test/prism/fixtures/whitequark/args_assocs.txt b/test/prism/fixtures/whitequark/args_assocs.txt new file mode 100644 index 0000000000..b33e131181 --- /dev/null +++ b/test/prism/fixtures/whitequark/args_assocs.txt @@ -0,0 +1,11 @@ +fun(:foo => 1) + +fun(:foo => 1, &baz) + +self.[]= foo, :a => 1 + +self[:bar => 1] + +super(:foo => 42) + +yield(:foo => 42) diff --git a/test/prism/fixtures/whitequark/args_assocs_comma.txt b/test/prism/fixtures/whitequark/args_assocs_comma.txt new file mode 100644 index 0000000000..15e5cd65dc --- /dev/null +++ b/test/prism/fixtures/whitequark/args_assocs_comma.txt @@ -0,0 +1 @@ +foo[:baz => 1,] diff --git a/test/prism/fixtures/whitequark/args_assocs_legacy.txt b/test/prism/fixtures/whitequark/args_assocs_legacy.txt new file mode 100644 index 0000000000..b33e131181 --- /dev/null +++ b/test/prism/fixtures/whitequark/args_assocs_legacy.txt @@ -0,0 +1,11 @@ +fun(:foo => 1) + +fun(:foo => 1, &baz) + +self.[]= foo, :a => 1 + +self[:bar => 1] + +super(:foo => 42) + +yield(:foo => 42) diff --git a/test/prism/fixtures/whitequark/args_block_pass.txt b/test/prism/fixtures/whitequark/args_block_pass.txt new file mode 100644 index 0000000000..35d7d23885 --- /dev/null +++ b/test/prism/fixtures/whitequark/args_block_pass.txt @@ -0,0 +1 @@ +fun(&bar) diff --git a/test/prism/fixtures/whitequark/args_cmd.txt b/test/prism/fixtures/whitequark/args_cmd.txt new file mode 100644 index 0000000000..dd0c8891d0 --- /dev/null +++ b/test/prism/fixtures/whitequark/args_cmd.txt @@ -0,0 +1 @@ +fun(f bar) diff --git a/test/prism/fixtures/whitequark/args_star.txt b/test/prism/fixtures/whitequark/args_star.txt new file mode 100644 index 0000000000..ce1e6f8465 --- /dev/null +++ b/test/prism/fixtures/whitequark/args_star.txt @@ -0,0 +1,3 @@ +fun(*bar) + +fun(*bar, &baz) diff --git a/test/prism/fixtures/whitequark/array_assocs.txt b/test/prism/fixtures/whitequark/array_assocs.txt new file mode 100644 index 0000000000..fcecfcdefc --- /dev/null +++ b/test/prism/fixtures/whitequark/array_assocs.txt @@ -0,0 +1,3 @@ +[ 1 => 2 ] + +[ 1, 2 => 3 ] diff --git a/test/prism/fixtures/whitequark/array_plain.txt b/test/prism/fixtures/whitequark/array_plain.txt new file mode 100644 index 0000000000..44e2ace7e5 --- /dev/null +++ b/test/prism/fixtures/whitequark/array_plain.txt @@ -0,0 +1 @@ +[1, 2] diff --git a/test/prism/fixtures/whitequark/array_splat.txt b/test/prism/fixtures/whitequark/array_splat.txt new file mode 100644 index 0000000000..144c1eb124 --- /dev/null +++ b/test/prism/fixtures/whitequark/array_splat.txt @@ -0,0 +1,5 @@ +[*foo] + +[1, *foo, 2] + +[1, *foo] diff --git a/test/prism/fixtures/whitequark/array_symbols.txt b/test/prism/fixtures/whitequark/array_symbols.txt new file mode 100644 index 0000000000..a9f9df0404 --- /dev/null +++ b/test/prism/fixtures/whitequark/array_symbols.txt @@ -0,0 +1 @@ +%i[foo bar] diff --git a/test/prism/fixtures/whitequark/array_symbols_empty.txt b/test/prism/fixtures/whitequark/array_symbols_empty.txt new file mode 100644 index 0000000000..da3a89ee9b --- /dev/null +++ b/test/prism/fixtures/whitequark/array_symbols_empty.txt @@ -0,0 +1,3 @@ +%I() + +%i[] diff --git a/test/prism/fixtures/whitequark/array_symbols_interp.txt b/test/prism/fixtures/whitequark/array_symbols_interp.txt new file mode 100644 index 0000000000..d4950d0c05 --- /dev/null +++ b/test/prism/fixtures/whitequark/array_symbols_interp.txt @@ -0,0 +1,3 @@ +%I[foo #{bar}] + +%I[foo#{bar}] diff --git a/test/prism/fixtures/whitequark/array_words.txt b/test/prism/fixtures/whitequark/array_words.txt new file mode 100644 index 0000000000..a07380cadc --- /dev/null +++ b/test/prism/fixtures/whitequark/array_words.txt @@ -0,0 +1 @@ +%w[foo bar] diff --git a/test/prism/fixtures/whitequark/array_words_empty.txt b/test/prism/fixtures/whitequark/array_words_empty.txt new file mode 100644 index 0000000000..7568263f4a --- /dev/null +++ b/test/prism/fixtures/whitequark/array_words_empty.txt @@ -0,0 +1,3 @@ +%W() + +%w[] diff --git a/test/prism/fixtures/whitequark/array_words_interp.txt b/test/prism/fixtures/whitequark/array_words_interp.txt new file mode 100644 index 0000000000..1460f7dc03 --- /dev/null +++ b/test/prism/fixtures/whitequark/array_words_interp.txt @@ -0,0 +1,3 @@ +%W[foo #{bar}] + +%W[foo #{bar}foo#@baz] diff --git a/test/prism/fixtures/whitequark/asgn_cmd.txt b/test/prism/fixtures/whitequark/asgn_cmd.txt new file mode 100644 index 0000000000..81f8cc1c8d --- /dev/null +++ b/test/prism/fixtures/whitequark/asgn_cmd.txt @@ -0,0 +1,3 @@ +foo = bar = m foo + +foo = m foo diff --git a/test/prism/fixtures/whitequark/asgn_mrhs.txt b/test/prism/fixtures/whitequark/asgn_mrhs.txt new file mode 100644 index 0000000000..f0b0055e55 --- /dev/null +++ b/test/prism/fixtures/whitequark/asgn_mrhs.txt @@ -0,0 +1,5 @@ +foo = *bar + +foo = bar, 1 + +foo = baz, *bar diff --git a/test/prism/fixtures/whitequark/back_ref.txt b/test/prism/fixtures/whitequark/back_ref.txt new file mode 100644 index 0000000000..03166e10ee --- /dev/null +++ b/test/prism/fixtures/whitequark/back_ref.txt @@ -0,0 +1 @@ +$+ diff --git a/test/prism/fixtures/whitequark/bang.txt b/test/prism/fixtures/whitequark/bang.txt new file mode 100644 index 0000000000..6cf9410cf5 --- /dev/null +++ b/test/prism/fixtures/whitequark/bang.txt @@ -0,0 +1 @@ +!foo diff --git a/test/prism/fixtures/whitequark/bang_cmd.txt b/test/prism/fixtures/whitequark/bang_cmd.txt new file mode 100644 index 0000000000..0a5252c001 --- /dev/null +++ b/test/prism/fixtures/whitequark/bang_cmd.txt @@ -0,0 +1 @@ +!m foo diff --git a/test/prism/fixtures/whitequark/begin_cmdarg.txt b/test/prism/fixtures/whitequark/begin_cmdarg.txt new file mode 100644 index 0000000000..a5873668e9 --- /dev/null +++ b/test/prism/fixtures/whitequark/begin_cmdarg.txt @@ -0,0 +1 @@ +p begin 1.times do 1 end end diff --git a/test/prism/fixtures/whitequark/beginless_erange_after_newline.txt b/test/prism/fixtures/whitequark/beginless_erange_after_newline.txt new file mode 100644 index 0000000000..ae6c75564a --- /dev/null +++ b/test/prism/fixtures/whitequark/beginless_erange_after_newline.txt @@ -0,0 +1,2 @@ +foo +...100 diff --git a/test/prism/fixtures/whitequark/beginless_irange_after_newline.txt b/test/prism/fixtures/whitequark/beginless_irange_after_newline.txt new file mode 100644 index 0000000000..bfc8d5e5e8 --- /dev/null +++ b/test/prism/fixtures/whitequark/beginless_irange_after_newline.txt @@ -0,0 +1,2 @@ +foo +..100 diff --git a/test/prism/fixtures/whitequark/beginless_range.txt b/test/prism/fixtures/whitequark/beginless_range.txt new file mode 100644 index 0000000000..ef52703b8a --- /dev/null +++ b/test/prism/fixtures/whitequark/beginless_range.txt @@ -0,0 +1,3 @@ +...100 + +..100 diff --git a/test/prism/fixtures/whitequark/blockarg.txt b/test/prism/fixtures/whitequark/blockarg.txt new file mode 100644 index 0000000000..63552e97be --- /dev/null +++ b/test/prism/fixtures/whitequark/blockarg.txt @@ -0,0 +1 @@ +def f(&block); end diff --git a/test/prism/fixtures/whitequark/blockargs.txt b/test/prism/fixtures/whitequark/blockargs.txt new file mode 100644 index 0000000000..cdd2c4f331 --- /dev/null +++ b/test/prism/fixtures/whitequark/blockargs.txt @@ -0,0 +1,71 @@ +f{ } + +f{ | | } + +f{ |&b| } + +f{ |**baz, &b| } + +f{ |*, &b| } + +f{ |*r, p, &b| } + +f{ |*s, &b| } + +f{ |*s| } + +f{ |*| } + +f{ |; +a +| } + +f{ |;a| } + +f{ |a, &b| } + +f{ |a, *, &b| } + +f{ |a, *r, p, &b| } + +f{ |a, *s, &b| } + +f{ |a, *s| } + +f{ |a, *| } + +f{ |a, b,| } + +f{ |a, c| } + +f{ |a, o=1, &b| } + +f{ |a, o=1, *r, p, &b| } + +f{ |a, o=1, o1=2, *r, &b| } + +f{ |a, o=1, p, &b| } + +f{ |a,| } + +f{ |a| } + +f{ |a| } + +f{ |a| } + +f{ |foo: 1, &b| } + +f{ |foo: 1, bar: 2, **baz, &b| } + +f{ |foo:| } + +f{ |o=1, &b| } + +f{ |o=1, *r, &b| } + +f{ |o=1, *r, p, &b| } + +f{ |o=1, p, &b| } + +f{ || } diff --git a/test/prism/fixtures/whitequark/break.txt b/test/prism/fixtures/whitequark/break.txt new file mode 100644 index 0000000000..da51ec7c31 --- /dev/null +++ b/test/prism/fixtures/whitequark/break.txt @@ -0,0 +1,7 @@ +break + +break foo + +break() + +break(foo) diff --git a/test/prism/fixtures/whitequark/break_block.txt b/test/prism/fixtures/whitequark/break_block.txt new file mode 100644 index 0000000000..4b58c58d5e --- /dev/null +++ b/test/prism/fixtures/whitequark/break_block.txt @@ -0,0 +1 @@ +break fun foo do end diff --git a/test/prism/fixtures/whitequark/bug_435.txt b/test/prism/fixtures/whitequark/bug_435.txt new file mode 100644 index 0000000000..3e4e0d5abd --- /dev/null +++ b/test/prism/fixtures/whitequark/bug_435.txt @@ -0,0 +1 @@ +"#{-> foo {}}" diff --git a/test/prism/fixtures/whitequark/bug_447.txt b/test/prism/fixtures/whitequark/bug_447.txt new file mode 100644 index 0000000000..7da59bbc2f --- /dev/null +++ b/test/prism/fixtures/whitequark/bug_447.txt @@ -0,0 +1,3 @@ +m [] do end + +m [], 1 do end diff --git a/test/prism/fixtures/whitequark/bug_452.txt b/test/prism/fixtures/whitequark/bug_452.txt new file mode 100644 index 0000000000..8b41dd6027 --- /dev/null +++ b/test/prism/fixtures/whitequark/bug_452.txt @@ -0,0 +1 @@ +td (1_500).toString(); td.num do; end diff --git a/test/prism/fixtures/whitequark/bug_466.txt b/test/prism/fixtures/whitequark/bug_466.txt new file mode 100644 index 0000000000..ad02ad38ae --- /dev/null +++ b/test/prism/fixtures/whitequark/bug_466.txt @@ -0,0 +1 @@ +foo "#{(1+1).to_i}" do; end diff --git a/test/prism/fixtures/whitequark/bug_473.txt b/test/prism/fixtures/whitequark/bug_473.txt new file mode 100644 index 0000000000..0d2ea883a1 --- /dev/null +++ b/test/prism/fixtures/whitequark/bug_473.txt @@ -0,0 +1 @@ +m "#{[]}" diff --git a/test/prism/fixtures/whitequark/bug_480.txt b/test/prism/fixtures/whitequark/bug_480.txt new file mode 100644 index 0000000000..0558b2c957 --- /dev/null +++ b/test/prism/fixtures/whitequark/bug_480.txt @@ -0,0 +1 @@ +m "#{}#{()}" diff --git a/test/prism/fixtures/whitequark/bug_481.txt b/test/prism/fixtures/whitequark/bug_481.txt new file mode 100644 index 0000000000..6328e9dbbd --- /dev/null +++ b/test/prism/fixtures/whitequark/bug_481.txt @@ -0,0 +1 @@ +m def x(); end; 1.tap do end diff --git a/test/prism/fixtures/whitequark/bug_ascii_8bit_in_literal.txt b/test/prism/fixtures/whitequark/bug_ascii_8bit_in_literal.txt new file mode 100644 index 0000000000..85399bd19a --- /dev/null +++ b/test/prism/fixtures/whitequark/bug_ascii_8bit_in_literal.txt @@ -0,0 +1,2 @@ +# coding:utf-8 + "\xD0\xBF\xD1\x80\xD0\xBE\xD0\xB2\xD0\xB5\xD1\x80\xD0\xBA\xD0\xB0" diff --git a/test/prism/fixtures/whitequark/bug_cmd_string_lookahead.txt b/test/prism/fixtures/whitequark/bug_cmd_string_lookahead.txt new file mode 100644 index 0000000000..7e9e54c518 --- /dev/null +++ b/test/prism/fixtures/whitequark/bug_cmd_string_lookahead.txt @@ -0,0 +1 @@ +desc "foo" do end diff --git a/test/prism/fixtures/whitequark/bug_cmdarg.txt b/test/prism/fixtures/whitequark/bug_cmdarg.txt new file mode 100644 index 0000000000..0281cd6668 --- /dev/null +++ b/test/prism/fixtures/whitequark/bug_cmdarg.txt @@ -0,0 +1,5 @@ +assert do: true + +assert dogs + +f x: -> do meth do end end diff --git a/test/prism/fixtures/whitequark/bug_def_no_paren_eql_begin.txt b/test/prism/fixtures/whitequark/bug_def_no_paren_eql_begin.txt new file mode 100644 index 0000000000..615dc88217 --- /dev/null +++ b/test/prism/fixtures/whitequark/bug_def_no_paren_eql_begin.txt @@ -0,0 +1,4 @@ +def foo +=begin +=end +end diff --git a/test/prism/fixtures/whitequark/bug_do_block_in_call_args.txt b/test/prism/fixtures/whitequark/bug_do_block_in_call_args.txt new file mode 100644 index 0000000000..21340fd6e8 --- /dev/null +++ b/test/prism/fixtures/whitequark/bug_do_block_in_call_args.txt @@ -0,0 +1 @@ +bar def foo; self.each do end end diff --git a/test/prism/fixtures/whitequark/bug_do_block_in_cmdarg.txt b/test/prism/fixtures/whitequark/bug_do_block_in_cmdarg.txt new file mode 100644 index 0000000000..7dece50408 --- /dev/null +++ b/test/prism/fixtures/whitequark/bug_do_block_in_cmdarg.txt @@ -0,0 +1 @@ +tap (proc do end) diff --git a/test/prism/fixtures/whitequark/bug_do_block_in_hash_brace.txt b/test/prism/fixtures/whitequark/bug_do_block_in_hash_brace.txt new file mode 100644 index 0000000000..6c4dd205d2 --- /dev/null +++ b/test/prism/fixtures/whitequark/bug_do_block_in_hash_brace.txt @@ -0,0 +1,9 @@ +p :foo, {"a": proc do end, b: proc do end} + +p :foo, {** proc do end, b: proc do end} + +p :foo, {:a => proc do end, b: proc do end} + +p :foo, {a: proc do end, b: proc do end} + +p :foo, {proc do end => proc do end, b: proc do end} diff --git a/test/prism/fixtures/whitequark/bug_heredoc_do.txt b/test/prism/fixtures/whitequark/bug_heredoc_do.txt new file mode 100644 index 0000000000..06fef0a99f --- /dev/null +++ b/test/prism/fixtures/whitequark/bug_heredoc_do.txt @@ -0,0 +1,3 @@ +f <<-TABLE do +TABLE +end diff --git a/test/prism/fixtures/whitequark/bug_interp_single.txt b/test/prism/fixtures/whitequark/bug_interp_single.txt new file mode 100644 index 0000000000..be0b1a8542 --- /dev/null +++ b/test/prism/fixtures/whitequark/bug_interp_single.txt @@ -0,0 +1,3 @@ +"#{1}" + +%W"#{1}" diff --git a/test/prism/fixtures/whitequark/bug_lambda_leakage.txt b/test/prism/fixtures/whitequark/bug_lambda_leakage.txt new file mode 100644 index 0000000000..372b36929a --- /dev/null +++ b/test/prism/fixtures/whitequark/bug_lambda_leakage.txt @@ -0,0 +1 @@ +->(scope) {}; scope diff --git a/test/prism/fixtures/whitequark/bug_regex_verification.txt b/test/prism/fixtures/whitequark/bug_regex_verification.txt new file mode 100644 index 0000000000..f8483c8b10 --- /dev/null +++ b/test/prism/fixtures/whitequark/bug_regex_verification.txt @@ -0,0 +1 @@ +/#)/x diff --git a/test/prism/fixtures/whitequark/bug_rescue_empty_else.txt b/test/prism/fixtures/whitequark/bug_rescue_empty_else.txt new file mode 100644 index 0000000000..e8c81edc57 --- /dev/null +++ b/test/prism/fixtures/whitequark/bug_rescue_empty_else.txt @@ -0,0 +1 @@ +begin; rescue LoadError; else; end diff --git a/test/prism/fixtures/whitequark/bug_while_not_parens_do.txt b/test/prism/fixtures/whitequark/bug_while_not_parens_do.txt new file mode 100644 index 0000000000..628c36ef13 --- /dev/null +++ b/test/prism/fixtures/whitequark/bug_while_not_parens_do.txt @@ -0,0 +1 @@ +while not (true) do end diff --git a/test/prism/fixtures/whitequark/case_cond.txt b/test/prism/fixtures/whitequark/case_cond.txt new file mode 100644 index 0000000000..a236b27ebd --- /dev/null +++ b/test/prism/fixtures/whitequark/case_cond.txt @@ -0,0 +1 @@ +case; when foo; 'foo'; end diff --git a/test/prism/fixtures/whitequark/case_cond_else.txt b/test/prism/fixtures/whitequark/case_cond_else.txt new file mode 100644 index 0000000000..06eefa4a1b --- /dev/null +++ b/test/prism/fixtures/whitequark/case_cond_else.txt @@ -0,0 +1 @@ +case; when foo; 'foo'; else 'bar'; end diff --git a/test/prism/fixtures/whitequark/case_expr.txt b/test/prism/fixtures/whitequark/case_expr.txt new file mode 100644 index 0000000000..472672c781 --- /dev/null +++ b/test/prism/fixtures/whitequark/case_expr.txt @@ -0,0 +1 @@ +case foo; when 'bar'; bar; end diff --git a/test/prism/fixtures/whitequark/case_expr_else.txt b/test/prism/fixtures/whitequark/case_expr_else.txt new file mode 100644 index 0000000000..3c55826134 --- /dev/null +++ b/test/prism/fixtures/whitequark/case_expr_else.txt @@ -0,0 +1 @@ +case foo; when 'bar'; bar; else baz; end diff --git a/test/prism/fixtures/whitequark/casgn_scoped.txt b/test/prism/fixtures/whitequark/casgn_scoped.txt new file mode 100644 index 0000000000..964d0f4c9b --- /dev/null +++ b/test/prism/fixtures/whitequark/casgn_scoped.txt @@ -0,0 +1 @@ +Bar::Foo = 10 diff --git a/test/prism/fixtures/whitequark/casgn_toplevel.txt b/test/prism/fixtures/whitequark/casgn_toplevel.txt new file mode 100644 index 0000000000..047a3b6745 --- /dev/null +++ b/test/prism/fixtures/whitequark/casgn_toplevel.txt @@ -0,0 +1 @@ +::Foo = 10 diff --git a/test/prism/fixtures/whitequark/casgn_unscoped.txt b/test/prism/fixtures/whitequark/casgn_unscoped.txt new file mode 100644 index 0000000000..5632cf64ee --- /dev/null +++ b/test/prism/fixtures/whitequark/casgn_unscoped.txt @@ -0,0 +1 @@ +Foo = 10 diff --git a/test/prism/fixtures/whitequark/character.txt b/test/prism/fixtures/whitequark/character.txt new file mode 100644 index 0000000000..b22ffbb71a --- /dev/null +++ b/test/prism/fixtures/whitequark/character.txt @@ -0,0 +1 @@ +?a diff --git a/test/prism/fixtures/whitequark/class.txt b/test/prism/fixtures/whitequark/class.txt new file mode 100644 index 0000000000..a30a248e96 --- /dev/null +++ b/test/prism/fixtures/whitequark/class.txt @@ -0,0 +1,3 @@ +class Foo end + +class Foo; end diff --git a/test/prism/fixtures/whitequark/class_definition_in_while_cond.txt b/test/prism/fixtures/whitequark/class_definition_in_while_cond.txt new file mode 100644 index 0000000000..10427314b5 --- /dev/null +++ b/test/prism/fixtures/whitequark/class_definition_in_while_cond.txt @@ -0,0 +1,7 @@ +while class << self; a = tap do end; end; break; end + +while class << self; tap do end; end; break; end + +while class Foo a = tap do end; end; break; end + +while class Foo; tap do end; end; break; end diff --git a/test/prism/fixtures/whitequark/class_super.txt b/test/prism/fixtures/whitequark/class_super.txt new file mode 100644 index 0000000000..8829d82d36 --- /dev/null +++ b/test/prism/fixtures/whitequark/class_super.txt @@ -0,0 +1 @@ +class Foo < Bar; end diff --git a/test/prism/fixtures/whitequark/class_super_label.txt b/test/prism/fixtures/whitequark/class_super_label.txt new file mode 100644 index 0000000000..5d47897ab6 --- /dev/null +++ b/test/prism/fixtures/whitequark/class_super_label.txt @@ -0,0 +1 @@ +class Foo < a:b; end diff --git a/test/prism/fixtures/whitequark/comments_before_leading_dot__27.txt b/test/prism/fixtures/whitequark/comments_before_leading_dot__27.txt new file mode 100644 index 0000000000..208f2d87fe --- /dev/null +++ b/test/prism/fixtures/whitequark/comments_before_leading_dot__27.txt @@ -0,0 +1,19 @@ +a # + # +&.foo + + +a # + # +.foo + + +a # +# +&.foo + + +a # +# +.foo + diff --git a/test/prism/fixtures/whitequark/complex.txt b/test/prism/fixtures/whitequark/complex.txt new file mode 100644 index 0000000000..1dbf2c13f4 --- /dev/null +++ b/test/prism/fixtures/whitequark/complex.txt @@ -0,0 +1,7 @@ +42.1i + +42.1ri + +42i + +42ri diff --git a/test/prism/fixtures/whitequark/cond_begin.txt b/test/prism/fixtures/whitequark/cond_begin.txt new file mode 100644 index 0000000000..49d709b79c --- /dev/null +++ b/test/prism/fixtures/whitequark/cond_begin.txt @@ -0,0 +1 @@ +if (bar); foo; end diff --git a/test/prism/fixtures/whitequark/cond_begin_masgn.txt b/test/prism/fixtures/whitequark/cond_begin_masgn.txt new file mode 100644 index 0000000000..f9b65026b4 --- /dev/null +++ b/test/prism/fixtures/whitequark/cond_begin_masgn.txt @@ -0,0 +1 @@ +if (bar; a, b = foo); end diff --git a/test/prism/fixtures/whitequark/cond_eflipflop.txt b/test/prism/fixtures/whitequark/cond_eflipflop.txt new file mode 100644 index 0000000000..1236c2dbb5 --- /dev/null +++ b/test/prism/fixtures/whitequark/cond_eflipflop.txt @@ -0,0 +1,3 @@ +!(foo...bar) + +if foo...bar; end diff --git a/test/prism/fixtures/whitequark/cond_iflipflop.txt b/test/prism/fixtures/whitequark/cond_iflipflop.txt new file mode 100644 index 0000000000..84bee71a74 --- /dev/null +++ b/test/prism/fixtures/whitequark/cond_iflipflop.txt @@ -0,0 +1,3 @@ +!(foo..bar) + +if foo..bar; end diff --git a/test/prism/fixtures/whitequark/cond_match_current_line.txt b/test/prism/fixtures/whitequark/cond_match_current_line.txt new file mode 100644 index 0000000000..21878c7bd8 --- /dev/null +++ b/test/prism/fixtures/whitequark/cond_match_current_line.txt @@ -0,0 +1,3 @@ +!/wat/ + +if /wat/; end diff --git a/test/prism/fixtures/whitequark/const_op_asgn.txt b/test/prism/fixtures/whitequark/const_op_asgn.txt new file mode 100644 index 0000000000..e72e7adee8 --- /dev/null +++ b/test/prism/fixtures/whitequark/const_op_asgn.txt @@ -0,0 +1,9 @@ +::A += 1 + +A += 1 + +B::A += 1 + +def x; ::A ||= 1; end + +def x; self::A ||= 1; end diff --git a/test/prism/fixtures/whitequark/const_scoped.txt b/test/prism/fixtures/whitequark/const_scoped.txt new file mode 100644 index 0000000000..4b03d85fc0 --- /dev/null +++ b/test/prism/fixtures/whitequark/const_scoped.txt @@ -0,0 +1 @@ +Bar::Foo diff --git a/test/prism/fixtures/whitequark/const_toplevel.txt b/test/prism/fixtures/whitequark/const_toplevel.txt new file mode 100644 index 0000000000..f783ae752b --- /dev/null +++ b/test/prism/fixtures/whitequark/const_toplevel.txt @@ -0,0 +1 @@ +::Foo diff --git a/test/prism/fixtures/whitequark/const_unscoped.txt b/test/prism/fixtures/whitequark/const_unscoped.txt new file mode 100644 index 0000000000..bc56c4d894 --- /dev/null +++ b/test/prism/fixtures/whitequark/const_unscoped.txt @@ -0,0 +1 @@ +Foo diff --git a/test/prism/fixtures/whitequark/cpath.txt b/test/prism/fixtures/whitequark/cpath.txt new file mode 100644 index 0000000000..a4041692d1 --- /dev/null +++ b/test/prism/fixtures/whitequark/cpath.txt @@ -0,0 +1,3 @@ +module ::Foo; end + +module Bar::Foo; end diff --git a/test/prism/fixtures/whitequark/cvar.txt b/test/prism/fixtures/whitequark/cvar.txt new file mode 100644 index 0000000000..4997896e4a --- /dev/null +++ b/test/prism/fixtures/whitequark/cvar.txt @@ -0,0 +1 @@ +@@foo diff --git a/test/prism/fixtures/whitequark/cvasgn.txt b/test/prism/fixtures/whitequark/cvasgn.txt new file mode 100644 index 0000000000..8f7e19c4fe --- /dev/null +++ b/test/prism/fixtures/whitequark/cvasgn.txt @@ -0,0 +1 @@ +@@var = 10 diff --git a/test/prism/fixtures/whitequark/dedenting_heredoc.txt b/test/prism/fixtures/whitequark/dedenting_heredoc.txt new file mode 100644 index 0000000000..84937d84ab --- /dev/null +++ b/test/prism/fixtures/whitequark/dedenting_heredoc.txt @@ -0,0 +1,75 @@ +p <<~"E" + x + #{" y"} +E + +p <<~"E" + x + #{foo} +E + +p <<~E + x + y +E + +p <<~E + x + y +E + +p <<~E + x + y +E + +p <<~E + x + y +E + +p <<~E + x + \ y +E + +p <<~E + x + \ y +E + +p <<~E + E + +p <<~E + x + +y +E + +p <<~E + x + + y +E + +p <<~E + x + y +E + +p <<~E + x +E + +p <<~E + ð +E + +p <<~E +E + +p <<~`E` + x + #{foo} +E diff --git a/test/prism/fixtures/whitequark/dedenting_interpolating_heredoc_fake_line_continuation.txt b/test/prism/fixtures/whitequark/dedenting_interpolating_heredoc_fake_line_continuation.txt new file mode 100644 index 0000000000..0427715d61 --- /dev/null +++ b/test/prism/fixtures/whitequark/dedenting_interpolating_heredoc_fake_line_continuation.txt @@ -0,0 +1,4 @@ +<<~'FOO' + baz\\ + qux +FOO diff --git a/test/prism/fixtures/whitequark/dedenting_non_interpolating_heredoc_line_continuation.txt b/test/prism/fixtures/whitequark/dedenting_non_interpolating_heredoc_line_continuation.txt new file mode 100644 index 0000000000..fd7bc02419 --- /dev/null +++ b/test/prism/fixtures/whitequark/dedenting_non_interpolating_heredoc_line_continuation.txt @@ -0,0 +1,4 @@ +<<~'FOO' + baz\ + qux +FOO diff --git a/test/prism/fixtures/whitequark/def.txt b/test/prism/fixtures/whitequark/def.txt new file mode 100644 index 0000000000..d96a4238b3 --- /dev/null +++ b/test/prism/fixtures/whitequark/def.txt @@ -0,0 +1,11 @@ +def BEGIN; end + +def END; end + +def String; end + +def String=; end + +def foo; end + +def until; end diff --git a/test/prism/fixtures/whitequark/defined.txt b/test/prism/fixtures/whitequark/defined.txt new file mode 100644 index 0000000000..5cf93e22e3 --- /dev/null +++ b/test/prism/fixtures/whitequark/defined.txt @@ -0,0 +1,5 @@ +defined? @foo + +defined? foo + +defined?(foo) diff --git a/test/prism/fixtures/whitequark/defs.txt b/test/prism/fixtures/whitequark/defs.txt new file mode 100644 index 0000000000..e0b7aa86eb --- /dev/null +++ b/test/prism/fixtures/whitequark/defs.txt @@ -0,0 +1,9 @@ +def (foo).foo; end + +def String.foo; end + +def String::foo; end + +def self.foo; end + +def self::foo; end diff --git a/test/prism/fixtures/whitequark/empty_stmt.txt b/test/prism/fixtures/whitequark/empty_stmt.txt new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/test/prism/fixtures/whitequark/empty_stmt.txt @@ -0,0 +1 @@ + diff --git a/test/prism/fixtures/whitequark/endless_comparison_method.txt b/test/prism/fixtures/whitequark/endless_comparison_method.txt new file mode 100644 index 0000000000..e10c3a6ced --- /dev/null +++ b/test/prism/fixtures/whitequark/endless_comparison_method.txt @@ -0,0 +1,11 @@ +def !=(other) = do_something + +def !=(other) = do_something + +def <=(other) = do_something + +def ==(other) = do_something + +def ===(other) = do_something + +def >=(other) = do_something diff --git a/test/prism/fixtures/whitequark/endless_method.txt b/test/prism/fixtures/whitequark/endless_method.txt new file mode 100644 index 0000000000..7002526229 --- /dev/null +++ b/test/prism/fixtures/whitequark/endless_method.txt @@ -0,0 +1,7 @@ +def foo() = 42 + +def inc(x) = x + 1 + +def obj.foo() = 42 + +def obj.inc(x) = x + 1 diff --git a/test/prism/fixtures/whitequark/endless_method_command_syntax.txt b/test/prism/fixtures/whitequark/endless_method_command_syntax.txt new file mode 100644 index 0000000000..d9dad2d747 --- /dev/null +++ b/test/prism/fixtures/whitequark/endless_method_command_syntax.txt @@ -0,0 +1,15 @@ +def foo = puts "Hello" + +def foo() = puts "Hello" + +def foo(x) = puts x + +def obj.foo = puts "Hello" + +def obj.foo() = puts "Hello" + +def obj.foo(x) = puts x + +def rescued(x) = raise "to be caught" rescue "instance #{x}" + +def self.rescued(x) = raise "to be caught" rescue "class #{x}" diff --git a/test/prism/fixtures/whitequark/endless_method_forwarded_args_legacy.txt b/test/prism/fixtures/whitequark/endless_method_forwarded_args_legacy.txt new file mode 100644 index 0000000000..5955e40b5b --- /dev/null +++ b/test/prism/fixtures/whitequark/endless_method_forwarded_args_legacy.txt @@ -0,0 +1 @@ +def foo(...) = bar(...) diff --git a/test/prism/fixtures/whitequark/endless_method_with_rescue_mod.txt b/test/prism/fixtures/whitequark/endless_method_with_rescue_mod.txt new file mode 100644 index 0000000000..93dc63a45d --- /dev/null +++ b/test/prism/fixtures/whitequark/endless_method_with_rescue_mod.txt @@ -0,0 +1,3 @@ +def m() = 1 rescue 2 + +def self.m() = 1 rescue 2 diff --git a/test/prism/fixtures/whitequark/endless_method_without_args.txt b/test/prism/fixtures/whitequark/endless_method_without_args.txt new file mode 100644 index 0000000000..90ea8f7c6d --- /dev/null +++ b/test/prism/fixtures/whitequark/endless_method_without_args.txt @@ -0,0 +1,7 @@ +def foo = 42 + +def foo = 42 rescue nil + +def self.foo = 42 + +def self.foo = 42 rescue nil diff --git a/test/prism/fixtures/whitequark/ensure.txt b/test/prism/fixtures/whitequark/ensure.txt new file mode 100644 index 0000000000..6c4b47c63c --- /dev/null +++ b/test/prism/fixtures/whitequark/ensure.txt @@ -0,0 +1 @@ +begin; meth; ensure; bar; end diff --git a/test/prism/fixtures/whitequark/ensure_empty.txt b/test/prism/fixtures/whitequark/ensure_empty.txt new file mode 100644 index 0000000000..39a175c371 --- /dev/null +++ b/test/prism/fixtures/whitequark/ensure_empty.txt @@ -0,0 +1 @@ +begin ensure end diff --git a/test/prism/fixtures/whitequark/false.txt b/test/prism/fixtures/whitequark/false.txt new file mode 100644 index 0000000000..c508d5366f --- /dev/null +++ b/test/prism/fixtures/whitequark/false.txt @@ -0,0 +1 @@ +false diff --git a/test/prism/fixtures/whitequark/float.txt b/test/prism/fixtures/whitequark/float.txt new file mode 100644 index 0000000000..8c7592a192 --- /dev/null +++ b/test/prism/fixtures/whitequark/float.txt @@ -0,0 +1,3 @@ +-1.33 + +1.33 diff --git a/test/prism/fixtures/whitequark/for.txt b/test/prism/fixtures/whitequark/for.txt new file mode 100644 index 0000000000..a27ae578da --- /dev/null +++ b/test/prism/fixtures/whitequark/for.txt @@ -0,0 +1,3 @@ +for a in foo do p a; end + +for a in foo; p a; end diff --git a/test/prism/fixtures/whitequark/for_mlhs.txt b/test/prism/fixtures/whitequark/for_mlhs.txt new file mode 100644 index 0000000000..53cd5229a4 --- /dev/null +++ b/test/prism/fixtures/whitequark/for_mlhs.txt @@ -0,0 +1 @@ +for a, b in foo; p a, b; end diff --git a/test/prism/fixtures/whitequark/forward_arg.txt b/test/prism/fixtures/whitequark/forward_arg.txt new file mode 100644 index 0000000000..c7590a8d53 --- /dev/null +++ b/test/prism/fixtures/whitequark/forward_arg.txt @@ -0,0 +1 @@ +def foo(...); bar(...); end diff --git a/test/prism/fixtures/whitequark/forward_arg_with_open_args.txt b/test/prism/fixtures/whitequark/forward_arg_with_open_args.txt new file mode 100644 index 0000000000..fd4c06bcb5 --- /dev/null +++ b/test/prism/fixtures/whitequark/forward_arg_with_open_args.txt @@ -0,0 +1,27 @@ +(def foo ... + bar(...) +end) + +(def foo ...; bar(...); end) + +def foo ... +end + +def foo ...; bar(...); end + +def foo a, ... + bar(...) +end + +def foo a, ...; bar(...); end + +def foo a, b = 1, ... +end + +def foo b = 1, ... + bar(...) +end + +def foo b = 1, ...; bar(...); end + +def foo(a, ...) bar(...) end diff --git a/test/prism/fixtures/whitequark/forward_args_legacy.txt b/test/prism/fixtures/whitequark/forward_args_legacy.txt new file mode 100644 index 0000000000..0d9162457f --- /dev/null +++ b/test/prism/fixtures/whitequark/forward_args_legacy.txt @@ -0,0 +1,5 @@ +def foo(...); bar(...); end + +def foo(...); end + +def foo(...); super(...); end diff --git a/test/prism/fixtures/whitequark/forwarded_argument_with_kwrestarg.txt b/test/prism/fixtures/whitequark/forwarded_argument_with_kwrestarg.txt new file mode 100644 index 0000000000..7dbf472232 --- /dev/null +++ b/test/prism/fixtures/whitequark/forwarded_argument_with_kwrestarg.txt @@ -0,0 +1 @@ +def foo(argument, **); bar(argument, **); end diff --git a/test/prism/fixtures/whitequark/forwarded_argument_with_restarg.txt b/test/prism/fixtures/whitequark/forwarded_argument_with_restarg.txt new file mode 100644 index 0000000000..f734bfd9ec --- /dev/null +++ b/test/prism/fixtures/whitequark/forwarded_argument_with_restarg.txt @@ -0,0 +1 @@ +def foo(argument, *); bar(argument, *); end diff --git a/test/prism/fixtures/whitequark/forwarded_kwrestarg.txt b/test/prism/fixtures/whitequark/forwarded_kwrestarg.txt new file mode 100644 index 0000000000..16cd8b2913 --- /dev/null +++ b/test/prism/fixtures/whitequark/forwarded_kwrestarg.txt @@ -0,0 +1 @@ +def foo(**); bar(**); end diff --git a/test/prism/fixtures/whitequark/forwarded_kwrestarg_with_additional_kwarg.txt b/test/prism/fixtures/whitequark/forwarded_kwrestarg_with_additional_kwarg.txt new file mode 100644 index 0000000000..52759b838f --- /dev/null +++ b/test/prism/fixtures/whitequark/forwarded_kwrestarg_with_additional_kwarg.txt @@ -0,0 +1 @@ +def foo(**); bar(**, from_foo: true); end diff --git a/test/prism/fixtures/whitequark/forwarded_restarg.txt b/test/prism/fixtures/whitequark/forwarded_restarg.txt new file mode 100644 index 0000000000..65ac2cc1ed --- /dev/null +++ b/test/prism/fixtures/whitequark/forwarded_restarg.txt @@ -0,0 +1 @@ +def foo(*); bar(*); end diff --git a/test/prism/fixtures/whitequark/gvar.txt b/test/prism/fixtures/whitequark/gvar.txt new file mode 100644 index 0000000000..bbf13489ad --- /dev/null +++ b/test/prism/fixtures/whitequark/gvar.txt @@ -0,0 +1 @@ +$foo diff --git a/test/prism/fixtures/whitequark/gvasgn.txt b/test/prism/fixtures/whitequark/gvasgn.txt new file mode 100644 index 0000000000..2bcc22cdd1 --- /dev/null +++ b/test/prism/fixtures/whitequark/gvasgn.txt @@ -0,0 +1 @@ +$var = 10 diff --git a/test/prism/fixtures/whitequark/hash_empty.txt b/test/prism/fixtures/whitequark/hash_empty.txt new file mode 100644 index 0000000000..ffcd4415b0 --- /dev/null +++ b/test/prism/fixtures/whitequark/hash_empty.txt @@ -0,0 +1 @@ +{ } diff --git a/test/prism/fixtures/whitequark/hash_hashrocket.txt b/test/prism/fixtures/whitequark/hash_hashrocket.txt new file mode 100644 index 0000000000..2cbb3bd96d --- /dev/null +++ b/test/prism/fixtures/whitequark/hash_hashrocket.txt @@ -0,0 +1,3 @@ +{ 1 => 2 } + +{ 1 => 2, :foo => "bar" } diff --git a/test/prism/fixtures/whitequark/hash_kwsplat.txt b/test/prism/fixtures/whitequark/hash_kwsplat.txt new file mode 100644 index 0000000000..921aa97c7c --- /dev/null +++ b/test/prism/fixtures/whitequark/hash_kwsplat.txt @@ -0,0 +1 @@ +{ foo: 2, **bar } diff --git a/test/prism/fixtures/whitequark/hash_label.txt b/test/prism/fixtures/whitequark/hash_label.txt new file mode 100644 index 0000000000..3aacae4b69 --- /dev/null +++ b/test/prism/fixtures/whitequark/hash_label.txt @@ -0,0 +1 @@ +{ foo: 2 } diff --git a/test/prism/fixtures/whitequark/hash_label_end.txt b/test/prism/fixtures/whitequark/hash_label_end.txt new file mode 100644 index 0000000000..ac9f7c4b41 --- /dev/null +++ b/test/prism/fixtures/whitequark/hash_label_end.txt @@ -0,0 +1,5 @@ +f(a ? "a":1) + +{ 'foo': 2 } + +{ 'foo': 2, 'bar': {}} diff --git a/test/prism/fixtures/whitequark/hash_pair_value_omission.txt b/test/prism/fixtures/whitequark/hash_pair_value_omission.txt new file mode 100644 index 0000000000..9d8ccb5877 --- /dev/null +++ b/test/prism/fixtures/whitequark/hash_pair_value_omission.txt @@ -0,0 +1,5 @@ +{BAR:} + +{a:, b:} + +{puts:} diff --git a/test/prism/fixtures/whitequark/heredoc.txt b/test/prism/fixtures/whitequark/heredoc.txt new file mode 100644 index 0000000000..1bfc963f94 --- /dev/null +++ b/test/prism/fixtures/whitequark/heredoc.txt @@ -0,0 +1,14 @@ +<<'HERE' +foo +bar +HERE + +<<HERE +foo +bar +HERE + +<<`HERE` +foo +bar +HERE diff --git a/test/prism/fixtures/whitequark/if.txt b/test/prism/fixtures/whitequark/if.txt new file mode 100644 index 0000000000..3de3525286 --- /dev/null +++ b/test/prism/fixtures/whitequark/if.txt @@ -0,0 +1,3 @@ +if foo then bar; end + +if foo; bar; end diff --git a/test/prism/fixtures/whitequark/if_else.txt b/test/prism/fixtures/whitequark/if_else.txt new file mode 100644 index 0000000000..62bab8138c --- /dev/null +++ b/test/prism/fixtures/whitequark/if_else.txt @@ -0,0 +1,3 @@ +if foo then bar; else baz; end + +if foo; bar; else baz; end diff --git a/test/prism/fixtures/whitequark/if_elsif.txt b/test/prism/fixtures/whitequark/if_elsif.txt new file mode 100644 index 0000000000..4d71e82214 --- /dev/null +++ b/test/prism/fixtures/whitequark/if_elsif.txt @@ -0,0 +1 @@ +if foo; bar; elsif baz; 1; else 2; end diff --git a/test/prism/fixtures/whitequark/if_masgn__24.txt b/test/prism/fixtures/whitequark/if_masgn__24.txt new file mode 100644 index 0000000000..0c2c8bb04f --- /dev/null +++ b/test/prism/fixtures/whitequark/if_masgn__24.txt @@ -0,0 +1 @@ +if (a, b = foo); end diff --git a/test/prism/fixtures/whitequark/if_mod.txt b/test/prism/fixtures/whitequark/if_mod.txt new file mode 100644 index 0000000000..da177b5606 --- /dev/null +++ b/test/prism/fixtures/whitequark/if_mod.txt @@ -0,0 +1 @@ +bar if foo diff --git a/test/prism/fixtures/whitequark/if_nl_then.txt b/test/prism/fixtures/whitequark/if_nl_then.txt new file mode 100644 index 0000000000..b68107bad2 --- /dev/null +++ b/test/prism/fixtures/whitequark/if_nl_then.txt @@ -0,0 +1,2 @@ +if foo +then bar end diff --git a/test/prism/fixtures/whitequark/if_while_after_class__since_32.txt b/test/prism/fixtures/whitequark/if_while_after_class__since_32.txt new file mode 100644 index 0000000000..1552494d28 --- /dev/null +++ b/test/prism/fixtures/whitequark/if_while_after_class__since_32.txt @@ -0,0 +1,7 @@ +class if true; Object end::Kernel; end + +class while true; break Object end::Kernel; end + +module if true; Object end::Kernel; end + +module while true; break Object end::Kernel; end diff --git a/test/prism/fixtures/whitequark/int.txt b/test/prism/fixtures/whitequark/int.txt new file mode 100644 index 0000000000..6d419918c6 --- /dev/null +++ b/test/prism/fixtures/whitequark/int.txt @@ -0,0 +1,5 @@ ++42 + +-42 + +42 diff --git a/test/prism/fixtures/whitequark/int___LINE__.txt b/test/prism/fixtures/whitequark/int___LINE__.txt new file mode 100644 index 0000000000..05dcf7afe0 --- /dev/null +++ b/test/prism/fixtures/whitequark/int___LINE__.txt @@ -0,0 +1 @@ +__LINE__ diff --git a/test/prism/fixtures/whitequark/interp_digit_var.txt b/test/prism/fixtures/whitequark/interp_digit_var.txt new file mode 100644 index 0000000000..1ae5a2e3e0 --- /dev/null +++ b/test/prism/fixtures/whitequark/interp_digit_var.txt @@ -0,0 +1,87 @@ + "#@1" + + "#@@1" + + %I[#@1] + + %I[#@@1] + + %Q{#@1} + + %Q{#@@1} + + %W[#@1] + + %W[#@@1] + + %i[ #@1 ] + + %i[ #@@1 ] + + %q{#@1} + + %q{#@@1} + + %r{#@1} + + %r{#@@1} + + %s{#@1} + + %s{#@@1} + + %w[ #@1 ] + + %w[ #@@1 ] + + %x{#@1} + + %x{#@@1} + + %{#@1} + + %{#@@1} + + '#@1' + + '#@@1' + + /#@1/ + + /#@@1/ + + :"#@1" + + :"#@@1" + + :'#@1' + + :'#@@1' + + `#@1` + + `#@@1` + +<<-"HERE" +#@1 +HERE + +<<-"HERE" +#@@1 +HERE + +<<-'HERE' +#@1 +HERE + +<<-'HERE' +#@@1 +HERE + +<<-`HERE` +#@1 +HERE + +<<-`HERE` +#@@1 +HERE diff --git a/test/prism/fixtures/whitequark/ivar.txt b/test/prism/fixtures/whitequark/ivar.txt new file mode 100644 index 0000000000..9149fc67f9 --- /dev/null +++ b/test/prism/fixtures/whitequark/ivar.txt @@ -0,0 +1 @@ +@foo diff --git a/test/prism/fixtures/whitequark/ivasgn.txt b/test/prism/fixtures/whitequark/ivasgn.txt new file mode 100644 index 0000000000..ac291799db --- /dev/null +++ b/test/prism/fixtures/whitequark/ivasgn.txt @@ -0,0 +1 @@ +@var = 10 diff --git a/test/prism/fixtures/whitequark/keyword_argument_omission.txt b/test/prism/fixtures/whitequark/keyword_argument_omission.txt new file mode 100644 index 0000000000..47883dc9a5 --- /dev/null +++ b/test/prism/fixtures/whitequark/keyword_argument_omission.txt @@ -0,0 +1 @@ +foo(a:, b:) diff --git a/test/prism/fixtures/whitequark/kwarg.txt b/test/prism/fixtures/whitequark/kwarg.txt new file mode 100644 index 0000000000..ca02a1fd2a --- /dev/null +++ b/test/prism/fixtures/whitequark/kwarg.txt @@ -0,0 +1 @@ +def f(foo:); end diff --git a/test/prism/fixtures/whitequark/kwbegin_compstmt.txt b/test/prism/fixtures/whitequark/kwbegin_compstmt.txt new file mode 100644 index 0000000000..33ceff2489 --- /dev/null +++ b/test/prism/fixtures/whitequark/kwbegin_compstmt.txt @@ -0,0 +1 @@ +begin foo!; bar! end diff --git a/test/prism/fixtures/whitequark/kwnilarg.txt b/test/prism/fixtures/whitequark/kwnilarg.txt new file mode 100644 index 0000000000..8fc482d5af --- /dev/null +++ b/test/prism/fixtures/whitequark/kwnilarg.txt @@ -0,0 +1,5 @@ +->(**nil) {} + +def f(**nil); end + +m { |**nil| } diff --git a/test/prism/fixtures/whitequark/kwoptarg.txt b/test/prism/fixtures/whitequark/kwoptarg.txt new file mode 100644 index 0000000000..dc3ce728d6 --- /dev/null +++ b/test/prism/fixtures/whitequark/kwoptarg.txt @@ -0,0 +1 @@ +def f(foo: 1); end diff --git a/test/prism/fixtures/whitequark/kwoptarg_with_kwrestarg_and_forwarded_args.txt b/test/prism/fixtures/whitequark/kwoptarg_with_kwrestarg_and_forwarded_args.txt new file mode 100644 index 0000000000..99dcc7239b --- /dev/null +++ b/test/prism/fixtures/whitequark/kwoptarg_with_kwrestarg_and_forwarded_args.txt @@ -0,0 +1 @@ +def f(a: nil, **); b(**) end diff --git a/test/prism/fixtures/whitequark/kwrestarg_named.txt b/test/prism/fixtures/whitequark/kwrestarg_named.txt new file mode 100644 index 0000000000..e17a661001 --- /dev/null +++ b/test/prism/fixtures/whitequark/kwrestarg_named.txt @@ -0,0 +1 @@ +def f(**foo); end diff --git a/test/prism/fixtures/whitequark/kwrestarg_unnamed.txt b/test/prism/fixtures/whitequark/kwrestarg_unnamed.txt new file mode 100644 index 0000000000..1b26b1d2ac --- /dev/null +++ b/test/prism/fixtures/whitequark/kwrestarg_unnamed.txt @@ -0,0 +1 @@ +def f(**); end diff --git a/test/prism/fixtures/whitequark/lbrace_arg_after_command_args.txt b/test/prism/fixtures/whitequark/lbrace_arg_after_command_args.txt new file mode 100644 index 0000000000..277c200c9f --- /dev/null +++ b/test/prism/fixtures/whitequark/lbrace_arg_after_command_args.txt @@ -0,0 +1 @@ +let (:a) { m do; end } diff --git a/test/prism/fixtures/whitequark/lparenarg_after_lvar__since_25.txt b/test/prism/fixtures/whitequark/lparenarg_after_lvar__since_25.txt new file mode 100644 index 0000000000..dc3a98b1c8 --- /dev/null +++ b/test/prism/fixtures/whitequark/lparenarg_after_lvar__since_25.txt @@ -0,0 +1,3 @@ +foo (-1.3).abs + +meth (-1.3).abs diff --git a/test/prism/fixtures/whitequark/lvar.txt b/test/prism/fixtures/whitequark/lvar.txt new file mode 100644 index 0000000000..257cc5642c --- /dev/null +++ b/test/prism/fixtures/whitequark/lvar.txt @@ -0,0 +1 @@ +foo diff --git a/test/prism/fixtures/whitequark/lvar_injecting_match.txt b/test/prism/fixtures/whitequark/lvar_injecting_match.txt new file mode 100644 index 0000000000..ba814a1088 --- /dev/null +++ b/test/prism/fixtures/whitequark/lvar_injecting_match.txt @@ -0,0 +1 @@ +/(?<match>bar)/ =~ 'bar'; match diff --git a/test/prism/fixtures/whitequark/lvasgn.txt b/test/prism/fixtures/whitequark/lvasgn.txt new file mode 100644 index 0000000000..330b8eff27 --- /dev/null +++ b/test/prism/fixtures/whitequark/lvasgn.txt @@ -0,0 +1 @@ +var = 10; var diff --git a/test/prism/fixtures/whitequark/masgn.txt b/test/prism/fixtures/whitequark/masgn.txt new file mode 100644 index 0000000000..032124287c --- /dev/null +++ b/test/prism/fixtures/whitequark/masgn.txt @@ -0,0 +1,5 @@ +(foo, bar) = 1, 2 + +foo, bar = 1, 2 + +foo, bar, baz = 1, 2 diff --git a/test/prism/fixtures/whitequark/masgn_attr.txt b/test/prism/fixtures/whitequark/masgn_attr.txt new file mode 100644 index 0000000000..91a703ef44 --- /dev/null +++ b/test/prism/fixtures/whitequark/masgn_attr.txt @@ -0,0 +1,5 @@ +self.A, foo = foo + +self.a, self[1, 2] = foo + +self::a, foo = foo diff --git a/test/prism/fixtures/whitequark/masgn_cmd.txt b/test/prism/fixtures/whitequark/masgn_cmd.txt new file mode 100644 index 0000000000..18e096f1ee --- /dev/null +++ b/test/prism/fixtures/whitequark/masgn_cmd.txt @@ -0,0 +1 @@ +foo, bar = m foo diff --git a/test/prism/fixtures/whitequark/masgn_const.txt b/test/prism/fixtures/whitequark/masgn_const.txt new file mode 100644 index 0000000000..3b6fba588a --- /dev/null +++ b/test/prism/fixtures/whitequark/masgn_const.txt @@ -0,0 +1,3 @@ +::A, foo = foo + +self::A, foo = foo diff --git a/test/prism/fixtures/whitequark/masgn_nested.txt b/test/prism/fixtures/whitequark/masgn_nested.txt new file mode 100644 index 0000000000..a1ccf4e385 --- /dev/null +++ b/test/prism/fixtures/whitequark/masgn_nested.txt @@ -0,0 +1,3 @@ +((b, )) = foo + +a, (b, c) = foo diff --git a/test/prism/fixtures/whitequark/masgn_splat.txt b/test/prism/fixtures/whitequark/masgn_splat.txt new file mode 100644 index 0000000000..a15dab10f2 --- /dev/null +++ b/test/prism/fixtures/whitequark/masgn_splat.txt @@ -0,0 +1,19 @@ +* = bar + +*, c, d = bar + +*b = bar + +*b, c = bar + +@foo, @@bar = *foo + +a, * = bar + +a, *, c = bar + +a, *b = bar + +a, *b, c = bar + +a, b = *foo, bar diff --git a/test/prism/fixtures/whitequark/method_definition_in_while_cond.txt b/test/prism/fixtures/whitequark/method_definition_in_while_cond.txt new file mode 100644 index 0000000000..6ec38906a1 --- /dev/null +++ b/test/prism/fixtures/whitequark/method_definition_in_while_cond.txt @@ -0,0 +1,7 @@ +while def foo a = tap do end; end; break; end + +while def foo; tap do end; end; break; end + +while def self.foo a = tap do end; end; break; end + +while def self.foo; tap do end; end; break; end diff --git a/test/prism/fixtures/whitequark/module.txt b/test/prism/fixtures/whitequark/module.txt new file mode 100644 index 0000000000..f999df3791 --- /dev/null +++ b/test/prism/fixtures/whitequark/module.txt @@ -0,0 +1 @@ +module Foo; end diff --git a/test/prism/fixtures/whitequark/multiple_pattern_matches.txt b/test/prism/fixtures/whitequark/multiple_pattern_matches.txt new file mode 100644 index 0000000000..54a4bb4774 --- /dev/null +++ b/test/prism/fixtures/whitequark/multiple_pattern_matches.txt @@ -0,0 +1,5 @@ +{a: 0} => a: +{a: 0} => a: + +{a: 0} in a: +{a: 0} in a: diff --git a/test/prism/fixtures/whitequark/newline_in_hash_argument.txt b/test/prism/fixtures/whitequark/newline_in_hash_argument.txt new file mode 100644 index 0000000000..1681844331 --- /dev/null +++ b/test/prism/fixtures/whitequark/newline_in_hash_argument.txt @@ -0,0 +1,14 @@ +case foo +in a: +0 +true +in "b": +0 +true +end + +obj.set "foo": +1 + +obj.set foo: +1 diff --git a/test/prism/fixtures/whitequark/next.txt b/test/prism/fixtures/whitequark/next.txt new file mode 100644 index 0000000000..7556ac2b74 --- /dev/null +++ b/test/prism/fixtures/whitequark/next.txt @@ -0,0 +1,7 @@ +next + +next foo + +next() + +next(foo) diff --git a/test/prism/fixtures/whitequark/next_block.txt b/test/prism/fixtures/whitequark/next_block.txt new file mode 100644 index 0000000000..d3b51dfa21 --- /dev/null +++ b/test/prism/fixtures/whitequark/next_block.txt @@ -0,0 +1 @@ +next fun foo do end diff --git a/test/prism/fixtures/whitequark/nil.txt b/test/prism/fixtures/whitequark/nil.txt new file mode 100644 index 0000000000..607602cfc6 --- /dev/null +++ b/test/prism/fixtures/whitequark/nil.txt @@ -0,0 +1 @@ +nil diff --git a/test/prism/fixtures/whitequark/nil_expression.txt b/test/prism/fixtures/whitequark/nil_expression.txt new file mode 100644 index 0000000000..aabf53f005 --- /dev/null +++ b/test/prism/fixtures/whitequark/nil_expression.txt @@ -0,0 +1,3 @@ +() + +begin end diff --git a/test/prism/fixtures/whitequark/non_lvar_injecting_match.txt b/test/prism/fixtures/whitequark/non_lvar_injecting_match.txt new file mode 100644 index 0000000000..f1eb7d3c2c --- /dev/null +++ b/test/prism/fixtures/whitequark/non_lvar_injecting_match.txt @@ -0,0 +1 @@ +/#{1}(?<match>bar)/ =~ 'bar' diff --git a/test/prism/fixtures/whitequark/not.txt b/test/prism/fixtures/whitequark/not.txt new file mode 100644 index 0000000000..d87f68f48c --- /dev/null +++ b/test/prism/fixtures/whitequark/not.txt @@ -0,0 +1,5 @@ +not foo + +not() + +not(foo) diff --git a/test/prism/fixtures/whitequark/not_cmd.txt b/test/prism/fixtures/whitequark/not_cmd.txt new file mode 100644 index 0000000000..685ec209ee --- /dev/null +++ b/test/prism/fixtures/whitequark/not_cmd.txt @@ -0,0 +1 @@ +not m foo diff --git a/test/prism/fixtures/whitequark/not_masgn__24.txt b/test/prism/fixtures/whitequark/not_masgn__24.txt new file mode 100644 index 0000000000..cb93b9103d --- /dev/null +++ b/test/prism/fixtures/whitequark/not_masgn__24.txt @@ -0,0 +1 @@ +!(a, b = foo) diff --git a/test/prism/fixtures/whitequark/nth_ref.txt b/test/prism/fixtures/whitequark/nth_ref.txt new file mode 100644 index 0000000000..16ef65b105 --- /dev/null +++ b/test/prism/fixtures/whitequark/nth_ref.txt @@ -0,0 +1 @@ +$10 diff --git a/test/prism/fixtures/whitequark/numbered_args_after_27.txt b/test/prism/fixtures/whitequark/numbered_args_after_27.txt new file mode 100644 index 0000000000..96fe7a32e2 --- /dev/null +++ b/test/prism/fixtures/whitequark/numbered_args_after_27.txt @@ -0,0 +1,7 @@ +-> do _1 + _9 end + +-> { _1 + _9} + +m do _1 + _9 end + +m { _1 + _9 } diff --git a/test/prism/fixtures/whitequark/numparam_outside_block.txt b/test/prism/fixtures/whitequark/numparam_outside_block.txt new file mode 100644 index 0000000000..37cbce182d --- /dev/null +++ b/test/prism/fixtures/whitequark/numparam_outside_block.txt @@ -0,0 +1,9 @@ +_1 + +class << foo; _1; end + +class A; _1; end + +def self.m; _1; end + +module A; _1; end diff --git a/test/prism/fixtures/whitequark/op_asgn.txt b/test/prism/fixtures/whitequark/op_asgn.txt new file mode 100644 index 0000000000..a5a28b1010 --- /dev/null +++ b/test/prism/fixtures/whitequark/op_asgn.txt @@ -0,0 +1,5 @@ +foo.A += 1 + +foo.a += 1 + +foo::a += 1 diff --git a/test/prism/fixtures/whitequark/op_asgn_cmd.txt b/test/prism/fixtures/whitequark/op_asgn_cmd.txt new file mode 100644 index 0000000000..017aa9bef7 --- /dev/null +++ b/test/prism/fixtures/whitequark/op_asgn_cmd.txt @@ -0,0 +1,7 @@ +foo.A += m foo + +foo.a += m foo + +foo::A += m foo + +foo::a += m foo diff --git a/test/prism/fixtures/whitequark/op_asgn_index.txt b/test/prism/fixtures/whitequark/op_asgn_index.txt new file mode 100644 index 0000000000..92cfb225fc --- /dev/null +++ b/test/prism/fixtures/whitequark/op_asgn_index.txt @@ -0,0 +1 @@ +foo[0, 1] += 2 diff --git a/test/prism/fixtures/whitequark/op_asgn_index_cmd.txt b/test/prism/fixtures/whitequark/op_asgn_index_cmd.txt new file mode 100644 index 0000000000..161b244bd4 --- /dev/null +++ b/test/prism/fixtures/whitequark/op_asgn_index_cmd.txt @@ -0,0 +1 @@ +foo[0, 1] += m foo diff --git a/test/prism/fixtures/whitequark/optarg.txt b/test/prism/fixtures/whitequark/optarg.txt new file mode 100644 index 0000000000..9d60609961 --- /dev/null +++ b/test/prism/fixtures/whitequark/optarg.txt @@ -0,0 +1,3 @@ +def f foo = 1; end + +def f(foo=1, bar=2); end diff --git a/test/prism/fixtures/whitequark/or.txt b/test/prism/fixtures/whitequark/or.txt new file mode 100644 index 0000000000..c2042ebb41 --- /dev/null +++ b/test/prism/fixtures/whitequark/or.txt @@ -0,0 +1,3 @@ +foo or bar + +foo || bar diff --git a/test/prism/fixtures/whitequark/or_asgn.txt b/test/prism/fixtures/whitequark/or_asgn.txt new file mode 100644 index 0000000000..6e4ecc9f93 --- /dev/null +++ b/test/prism/fixtures/whitequark/or_asgn.txt @@ -0,0 +1,3 @@ +foo.a ||= 1 + +foo[0, 1] ||= 2 diff --git a/test/prism/fixtures/whitequark/parser_bug_272.txt b/test/prism/fixtures/whitequark/parser_bug_272.txt new file mode 100644 index 0000000000..2f2f2b84d2 --- /dev/null +++ b/test/prism/fixtures/whitequark/parser_bug_272.txt @@ -0,0 +1 @@ +a @b do |c|;end diff --git a/test/prism/fixtures/whitequark/parser_bug_490.txt b/test/prism/fixtures/whitequark/parser_bug_490.txt new file mode 100644 index 0000000000..cf544b1ff6 --- /dev/null +++ b/test/prism/fixtures/whitequark/parser_bug_490.txt @@ -0,0 +1,5 @@ +def m; class << self; A = nil; end; end + +def m; class << self; class C; end; end; end + +def m; class << self; module M; end; end; end diff --git a/test/prism/fixtures/whitequark/parser_bug_507.txt b/test/prism/fixtures/whitequark/parser_bug_507.txt new file mode 100644 index 0000000000..bf616b85c8 --- /dev/null +++ b/test/prism/fixtures/whitequark/parser_bug_507.txt @@ -0,0 +1 @@ +m = -> *args do end diff --git a/test/prism/fixtures/whitequark/parser_bug_518.txt b/test/prism/fixtures/whitequark/parser_bug_518.txt new file mode 100644 index 0000000000..22f4afe3c8 --- /dev/null +++ b/test/prism/fixtures/whitequark/parser_bug_518.txt @@ -0,0 +1,2 @@ +class A < B +end diff --git a/test/prism/fixtures/whitequark/parser_bug_525.txt b/test/prism/fixtures/whitequark/parser_bug_525.txt new file mode 100644 index 0000000000..59d0e735b4 --- /dev/null +++ b/test/prism/fixtures/whitequark/parser_bug_525.txt @@ -0,0 +1 @@ +m1 :k => m2 do; m3() do end; end diff --git a/test/prism/fixtures/whitequark/parser_bug_604.txt b/test/prism/fixtures/whitequark/parser_bug_604.txt new file mode 100644 index 0000000000..7eb91c2f46 --- /dev/null +++ b/test/prism/fixtures/whitequark/parser_bug_604.txt @@ -0,0 +1 @@ +m a + b do end diff --git a/test/prism/fixtures/whitequark/parser_bug_640.txt b/test/prism/fixtures/whitequark/parser_bug_640.txt new file mode 100644 index 0000000000..fb62ded04c --- /dev/null +++ b/test/prism/fixtures/whitequark/parser_bug_640.txt @@ -0,0 +1,4 @@ +<<~FOO + baz\ + qux +FOO diff --git a/test/prism/fixtures/whitequark/parser_bug_645.txt b/test/prism/fixtures/whitequark/parser_bug_645.txt new file mode 100644 index 0000000000..cb1e5a0dcf --- /dev/null +++ b/test/prism/fixtures/whitequark/parser_bug_645.txt @@ -0,0 +1 @@ +-> (arg={}) {} diff --git a/test/prism/fixtures/whitequark/parser_bug_830.txt b/test/prism/fixtures/whitequark/parser_bug_830.txt new file mode 100644 index 0000000000..e5865e960d --- /dev/null +++ b/test/prism/fixtures/whitequark/parser_bug_830.txt @@ -0,0 +1 @@ +/\(/ diff --git a/test/prism/fixtures/whitequark/parser_drops_truncated_parts_of_squiggly_heredoc.txt b/test/prism/fixtures/whitequark/parser_drops_truncated_parts_of_squiggly_heredoc.txt new file mode 100644 index 0000000000..bddae8e153 --- /dev/null +++ b/test/prism/fixtures/whitequark/parser_drops_truncated_parts_of_squiggly_heredoc.txt @@ -0,0 +1,3 @@ +<<~HERE + #{} +HERE diff --git a/test/prism/fixtures/whitequark/parser_slash_slash_n_escaping_in_literals.txt b/test/prism/fixtures/whitequark/parser_slash_slash_n_escaping_in_literals.txt new file mode 100644 index 0000000000..564cebdd74 --- /dev/null +++ b/test/prism/fixtures/whitequark/parser_slash_slash_n_escaping_in_literals.txt @@ -0,0 +1,62 @@ +"a\ +b" + +%I{a\ +b} + +%Q{a\ +b} + +%W{a\ +b} + +%i{a\ +b} + +%q{a\ +b} + +%r{a\ +b} + +%s{a\ +b} + +%w{a\ +b} + +%x{a\ +b} + +%{a\ +b} + +'a\ +b' + +/a\ +b/ + +:"a\ +b" + +:'a\ +b' + +<<-"HERE" +a\ +b +HERE + +<<-'HERE' +a\ +b +HERE + +<<-`HERE` +a\ +b +HERE + +`a\ +b` diff --git a/test/prism/fixtures/whitequark/pattern_matching__FILE__LINE_literals.txt b/test/prism/fixtures/whitequark/pattern_matching__FILE__LINE_literals.txt new file mode 100644 index 0000000000..fe0edaed55 --- /dev/null +++ b/test/prism/fixtures/whitequark/pattern_matching__FILE__LINE_literals.txt @@ -0,0 +1,4 @@ + case [__FILE__, __LINE__ + 1, __ENCODING__] + in [__FILE__, __LINE__, __ENCODING__] + end + diff --git a/test/prism/fixtures/whitequark/pattern_matching_blank_else.txt b/test/prism/fixtures/whitequark/pattern_matching_blank_else.txt new file mode 100644 index 0000000000..6bf059af41 --- /dev/null +++ b/test/prism/fixtures/whitequark/pattern_matching_blank_else.txt @@ -0,0 +1 @@ +case 1; in 2; 3; else; end diff --git a/test/prism/fixtures/whitequark/pattern_matching_else.txt b/test/prism/fixtures/whitequark/pattern_matching_else.txt new file mode 100644 index 0000000000..29f14c91ab --- /dev/null +++ b/test/prism/fixtures/whitequark/pattern_matching_else.txt @@ -0,0 +1 @@ +case 1; in 2; 3; else; 4; end diff --git a/test/prism/fixtures/whitequark/pattern_matching_single_line.txt b/test/prism/fixtures/whitequark/pattern_matching_single_line.txt new file mode 100644 index 0000000000..12279afa24 --- /dev/null +++ b/test/prism/fixtures/whitequark/pattern_matching_single_line.txt @@ -0,0 +1,3 @@ +1 => [a]; a + +1 in [a]; a diff --git a/test/prism/fixtures/whitequark/pattern_matching_single_line_allowed_omission_of_parentheses.txt b/test/prism/fixtures/whitequark/pattern_matching_single_line_allowed_omission_of_parentheses.txt new file mode 100644 index 0000000000..1e429335d0 --- /dev/null +++ b/test/prism/fixtures/whitequark/pattern_matching_single_line_allowed_omission_of_parentheses.txt @@ -0,0 +1,11 @@ +[1, 2] => a, b; a + +[1, 2] in a, b; a + +{a: 1} => a:; a + +{a: 1} in a:; a + +{key: :value} => key: value; value + +{key: :value} in key: value; value diff --git a/test/prism/fixtures/whitequark/postexe.txt b/test/prism/fixtures/whitequark/postexe.txt new file mode 100644 index 0000000000..baee33af66 --- /dev/null +++ b/test/prism/fixtures/whitequark/postexe.txt @@ -0,0 +1 @@ +END { 1 } diff --git a/test/prism/fixtures/whitequark/preexe.txt b/test/prism/fixtures/whitequark/preexe.txt new file mode 100644 index 0000000000..9e802f3f4e --- /dev/null +++ b/test/prism/fixtures/whitequark/preexe.txt @@ -0,0 +1 @@ +BEGIN { 1 } diff --git a/test/prism/fixtures/whitequark/procarg0.txt b/test/prism/fixtures/whitequark/procarg0.txt new file mode 100644 index 0000000000..74cae2c2eb --- /dev/null +++ b/test/prism/fixtures/whitequark/procarg0.txt @@ -0,0 +1,3 @@ +m { |(foo, bar)| } + +m { |foo| } diff --git a/test/prism/fixtures/whitequark/range_exclusive.txt b/test/prism/fixtures/whitequark/range_exclusive.txt new file mode 100644 index 0000000000..9e07faed27 --- /dev/null +++ b/test/prism/fixtures/whitequark/range_exclusive.txt @@ -0,0 +1 @@ +1...2 diff --git a/test/prism/fixtures/whitequark/range_inclusive.txt b/test/prism/fixtures/whitequark/range_inclusive.txt new file mode 100644 index 0000000000..8c12abf7de --- /dev/null +++ b/test/prism/fixtures/whitequark/range_inclusive.txt @@ -0,0 +1 @@ +1..2 diff --git a/test/prism/fixtures/whitequark/rational.txt b/test/prism/fixtures/whitequark/rational.txt new file mode 100644 index 0000000000..e11cacc742 --- /dev/null +++ b/test/prism/fixtures/whitequark/rational.txt @@ -0,0 +1,3 @@ +42.1r + +42r diff --git a/test/prism/fixtures/whitequark/redo.txt b/test/prism/fixtures/whitequark/redo.txt new file mode 100644 index 0000000000..f49789cbab --- /dev/null +++ b/test/prism/fixtures/whitequark/redo.txt @@ -0,0 +1 @@ +redo diff --git a/test/prism/fixtures/whitequark/regex_interp.txt b/test/prism/fixtures/whitequark/regex_interp.txt new file mode 100644 index 0000000000..f9ad7fcbc8 --- /dev/null +++ b/test/prism/fixtures/whitequark/regex_interp.txt @@ -0,0 +1 @@ +/foo#{bar}baz/ diff --git a/test/prism/fixtures/whitequark/regex_plain.txt b/test/prism/fixtures/whitequark/regex_plain.txt new file mode 100644 index 0000000000..b86faecf98 --- /dev/null +++ b/test/prism/fixtures/whitequark/regex_plain.txt @@ -0,0 +1 @@ +/source/im diff --git a/test/prism/fixtures/whitequark/resbody_list.txt b/test/prism/fixtures/whitequark/resbody_list.txt new file mode 100644 index 0000000000..e40d45fc45 --- /dev/null +++ b/test/prism/fixtures/whitequark/resbody_list.txt @@ -0,0 +1 @@ +begin; meth; rescue Exception; bar; end diff --git a/test/prism/fixtures/whitequark/resbody_list_mrhs.txt b/test/prism/fixtures/whitequark/resbody_list_mrhs.txt new file mode 100644 index 0000000000..92b8bb2c02 --- /dev/null +++ b/test/prism/fixtures/whitequark/resbody_list_mrhs.txt @@ -0,0 +1 @@ +begin; meth; rescue Exception, foo; bar; end diff --git a/test/prism/fixtures/whitequark/resbody_list_var.txt b/test/prism/fixtures/whitequark/resbody_list_var.txt new file mode 100644 index 0000000000..0a2fb90b6d --- /dev/null +++ b/test/prism/fixtures/whitequark/resbody_list_var.txt @@ -0,0 +1 @@ +begin; meth; rescue foo => ex; bar; end diff --git a/test/prism/fixtures/whitequark/resbody_var.txt b/test/prism/fixtures/whitequark/resbody_var.txt new file mode 100644 index 0000000000..2104ac58e7 --- /dev/null +++ b/test/prism/fixtures/whitequark/resbody_var.txt @@ -0,0 +1,3 @@ +begin; meth; rescue => @ex; bar; end + +begin; meth; rescue => ex; bar; end diff --git a/test/prism/fixtures/whitequark/rescue.txt b/test/prism/fixtures/whitequark/rescue.txt new file mode 100644 index 0000000000..2d3be9dc56 --- /dev/null +++ b/test/prism/fixtures/whitequark/rescue.txt @@ -0,0 +1 @@ +begin; meth; rescue; foo; end diff --git a/test/prism/fixtures/whitequark/rescue_else.txt b/test/prism/fixtures/whitequark/rescue_else.txt new file mode 100644 index 0000000000..a22f8d100e --- /dev/null +++ b/test/prism/fixtures/whitequark/rescue_else.txt @@ -0,0 +1 @@ +begin; meth; rescue; foo; else; bar; end diff --git a/test/prism/fixtures/whitequark/rescue_else_ensure.txt b/test/prism/fixtures/whitequark/rescue_else_ensure.txt new file mode 100644 index 0000000000..167eee194a --- /dev/null +++ b/test/prism/fixtures/whitequark/rescue_else_ensure.txt @@ -0,0 +1 @@ +begin; meth; rescue; baz; else foo; ensure; bar end diff --git a/test/prism/fixtures/whitequark/rescue_ensure.txt b/test/prism/fixtures/whitequark/rescue_ensure.txt new file mode 100644 index 0000000000..8237257c41 --- /dev/null +++ b/test/prism/fixtures/whitequark/rescue_ensure.txt @@ -0,0 +1 @@ +begin; meth; rescue; baz; ensure; bar; end diff --git a/test/prism/fixtures/whitequark/rescue_in_lambda_block.txt b/test/prism/fixtures/whitequark/rescue_in_lambda_block.txt new file mode 100644 index 0000000000..ccd8ed72c5 --- /dev/null +++ b/test/prism/fixtures/whitequark/rescue_in_lambda_block.txt @@ -0,0 +1 @@ +-> do rescue; end diff --git a/test/prism/fixtures/whitequark/rescue_mod.txt b/test/prism/fixtures/whitequark/rescue_mod.txt new file mode 100644 index 0000000000..06375d3e9b --- /dev/null +++ b/test/prism/fixtures/whitequark/rescue_mod.txt @@ -0,0 +1 @@ +meth rescue bar diff --git a/test/prism/fixtures/whitequark/rescue_mod_asgn.txt b/test/prism/fixtures/whitequark/rescue_mod_asgn.txt new file mode 100644 index 0000000000..abf7cd9a3d --- /dev/null +++ b/test/prism/fixtures/whitequark/rescue_mod_asgn.txt @@ -0,0 +1 @@ +foo = meth rescue bar diff --git a/test/prism/fixtures/whitequark/rescue_mod_masgn.txt b/test/prism/fixtures/whitequark/rescue_mod_masgn.txt new file mode 100644 index 0000000000..0716eb1f67 --- /dev/null +++ b/test/prism/fixtures/whitequark/rescue_mod_masgn.txt @@ -0,0 +1 @@ +foo, bar = meth rescue [1, 2] diff --git a/test/prism/fixtures/whitequark/rescue_mod_op_assign.txt b/test/prism/fixtures/whitequark/rescue_mod_op_assign.txt new file mode 100644 index 0000000000..178efa3a20 --- /dev/null +++ b/test/prism/fixtures/whitequark/rescue_mod_op_assign.txt @@ -0,0 +1 @@ +foo += meth rescue bar diff --git a/test/prism/fixtures/whitequark/rescue_without_begin_end.txt b/test/prism/fixtures/whitequark/rescue_without_begin_end.txt new file mode 100644 index 0000000000..8416569e2c --- /dev/null +++ b/test/prism/fixtures/whitequark/rescue_without_begin_end.txt @@ -0,0 +1 @@ +meth do; foo; rescue; bar; end diff --git a/test/prism/fixtures/whitequark/restarg_named.txt b/test/prism/fixtures/whitequark/restarg_named.txt new file mode 100644 index 0000000000..355cd8f493 --- /dev/null +++ b/test/prism/fixtures/whitequark/restarg_named.txt @@ -0,0 +1 @@ +def f(*foo); end diff --git a/test/prism/fixtures/whitequark/restarg_unnamed.txt b/test/prism/fixtures/whitequark/restarg_unnamed.txt new file mode 100644 index 0000000000..c9932dd30c --- /dev/null +++ b/test/prism/fixtures/whitequark/restarg_unnamed.txt @@ -0,0 +1 @@ +def f(*); end diff --git a/test/prism/fixtures/whitequark/retry.txt b/test/prism/fixtures/whitequark/retry.txt new file mode 100644 index 0000000000..77428f7b73 --- /dev/null +++ b/test/prism/fixtures/whitequark/retry.txt @@ -0,0 +1 @@ +retry diff --git a/test/prism/fixtures/whitequark/return.txt b/test/prism/fixtures/whitequark/return.txt new file mode 100644 index 0000000000..e3d966bda0 --- /dev/null +++ b/test/prism/fixtures/whitequark/return.txt @@ -0,0 +1,7 @@ +return + +return foo + +return() + +return(foo) diff --git a/test/prism/fixtures/whitequark/return_block.txt b/test/prism/fixtures/whitequark/return_block.txt new file mode 100644 index 0000000000..00723a7517 --- /dev/null +++ b/test/prism/fixtures/whitequark/return_block.txt @@ -0,0 +1 @@ +return fun foo do end diff --git a/test/prism/fixtures/whitequark/ruby_bug_10279.txt b/test/prism/fixtures/whitequark/ruby_bug_10279.txt new file mode 100644 index 0000000000..4d0fb213d8 --- /dev/null +++ b/test/prism/fixtures/whitequark/ruby_bug_10279.txt @@ -0,0 +1 @@ +{a: if true then 42 end} diff --git a/test/prism/fixtures/whitequark/ruby_bug_10653.txt b/test/prism/fixtures/whitequark/ruby_bug_10653.txt new file mode 100644 index 0000000000..51354a1f70 --- /dev/null +++ b/test/prism/fixtures/whitequark/ruby_bug_10653.txt @@ -0,0 +1,5 @@ +false ? raise do end : tap do end + +false ? raise {} : tap {} + +true ? 1.tap do |n| p n end : 0 diff --git a/test/prism/fixtures/whitequark/ruby_bug_11107.txt b/test/prism/fixtures/whitequark/ruby_bug_11107.txt new file mode 100644 index 0000000000..1f28cb06f6 --- /dev/null +++ b/test/prism/fixtures/whitequark/ruby_bug_11107.txt @@ -0,0 +1 @@ +p ->() do a() do end end diff --git a/test/prism/fixtures/whitequark/ruby_bug_11380.txt b/test/prism/fixtures/whitequark/ruby_bug_11380.txt new file mode 100644 index 0000000000..1631548e3a --- /dev/null +++ b/test/prism/fixtures/whitequark/ruby_bug_11380.txt @@ -0,0 +1 @@ +p -> { :hello }, a: 1 do end diff --git a/test/prism/fixtures/whitequark/ruby_bug_11873.txt b/test/prism/fixtures/whitequark/ruby_bug_11873.txt new file mode 100644 index 0000000000..a25aa9e267 --- /dev/null +++ b/test/prism/fixtures/whitequark/ruby_bug_11873.txt @@ -0,0 +1,23 @@ +a b(c d), "x" do end + +a b(c d), /x/ do end + +a b(c d), /x/m do end + +a b(c(d)), "x" do end + +a b(c(d)), /x/ do end + +a b(c(d)), /x/m do end + +a b{c d}, "x" do end + +a b{c d}, /x/ do end + +a b{c d}, /x/m do end + +a b{c(d)}, "x" do end + +a b{c(d)}, /x/ do end + +a b{c(d)}, /x/m do end diff --git a/test/prism/fixtures/whitequark/ruby_bug_11873_a.txt b/test/prism/fixtures/whitequark/ruby_bug_11873_a.txt new file mode 100644 index 0000000000..1856235ce5 --- /dev/null +++ b/test/prism/fixtures/whitequark/ruby_bug_11873_a.txt @@ -0,0 +1,39 @@ +a b(c d), 1 do end + +a b(c d), 1.0 do end + +a b(c d), 1.0i do end + +a b(c d), 1.0r do end + +a b(c d), :e do end + +a b(c(d)), 1 do end + +a b(c(d)), 1.0 do end + +a b(c(d)), 1.0i do end + +a b(c(d)), 1.0r do end + +a b(c(d)), :e do end + +a b{c d}, 1 do end + +a b{c d}, 1.0 do end + +a b{c d}, 1.0i do end + +a b{c d}, 1.0r do end + +a b{c d}, :e do end + +a b{c(d)}, 1 do end + +a b{c(d)}, 1.0 do end + +a b{c(d)}, 1.0i do end + +a b{c(d)}, 1.0r do end + +a b{c(d)}, :e do end diff --git a/test/prism/fixtures/whitequark/ruby_bug_11873_b.txt b/test/prism/fixtures/whitequark/ruby_bug_11873_b.txt new file mode 100644 index 0000000000..1b86662008 --- /dev/null +++ b/test/prism/fixtures/whitequark/ruby_bug_11873_b.txt @@ -0,0 +1 @@ +p p{p(p);p p}, tap do end diff --git a/test/prism/fixtures/whitequark/ruby_bug_11989.txt b/test/prism/fixtures/whitequark/ruby_bug_11989.txt new file mode 100644 index 0000000000..d49b8614ed --- /dev/null +++ b/test/prism/fixtures/whitequark/ruby_bug_11989.txt @@ -0,0 +1,3 @@ +p <<~"E" + x\n y +E diff --git a/test/prism/fixtures/whitequark/ruby_bug_11990.txt b/test/prism/fixtures/whitequark/ruby_bug_11990.txt new file mode 100644 index 0000000000..d0fe7b2739 --- /dev/null +++ b/test/prism/fixtures/whitequark/ruby_bug_11990.txt @@ -0,0 +1,3 @@ +p <<~E " y" + x +E diff --git a/test/prism/fixtures/whitequark/ruby_bug_12073.txt b/test/prism/fixtures/whitequark/ruby_bug_12073.txt new file mode 100644 index 0000000000..b2e3784422 --- /dev/null +++ b/test/prism/fixtures/whitequark/ruby_bug_12073.txt @@ -0,0 +1,3 @@ +a = 1; a b: 1 + +def foo raise; raise A::B, ''; end diff --git a/test/prism/fixtures/whitequark/ruby_bug_12402.txt b/test/prism/fixtures/whitequark/ruby_bug_12402.txt new file mode 100644 index 0000000000..060d5d95a1 --- /dev/null +++ b/test/prism/fixtures/whitequark/ruby_bug_12402.txt @@ -0,0 +1,27 @@ +foo += raise bar rescue nil + +foo += raise(bar) rescue nil + +foo = raise bar rescue nil + +foo = raise(bar) rescue nil + +foo.C += raise bar rescue nil + +foo.C += raise(bar) rescue nil + +foo.m += raise bar rescue nil + +foo.m += raise(bar) rescue nil + +foo::C ||= raise bar rescue nil + +foo::C ||= raise(bar) rescue nil + +foo::m += raise bar rescue nil + +foo::m += raise(bar) rescue nil + +foo[0] += raise bar rescue nil + +foo[0] += raise(bar) rescue nil diff --git a/test/prism/fixtures/whitequark/ruby_bug_12669.txt b/test/prism/fixtures/whitequark/ruby_bug_12669.txt new file mode 100644 index 0000000000..cd89689446 --- /dev/null +++ b/test/prism/fixtures/whitequark/ruby_bug_12669.txt @@ -0,0 +1,7 @@ +a += b += raise :x + +a += b = raise :x + +a = b += raise :x + +a = b = raise :x diff --git a/test/prism/fixtures/whitequark/ruby_bug_12686.txt b/test/prism/fixtures/whitequark/ruby_bug_12686.txt new file mode 100644 index 0000000000..7742e791b8 --- /dev/null +++ b/test/prism/fixtures/whitequark/ruby_bug_12686.txt @@ -0,0 +1 @@ +f (g rescue nil) diff --git a/test/prism/fixtures/whitequark/ruby_bug_13547.txt b/test/prism/fixtures/whitequark/ruby_bug_13547.txt new file mode 100644 index 0000000000..29eafc3a4c --- /dev/null +++ b/test/prism/fixtures/whitequark/ruby_bug_13547.txt @@ -0,0 +1 @@ +meth[] {} diff --git a/test/prism/fixtures/whitequark/ruby_bug_14690.txt b/test/prism/fixtures/whitequark/ruby_bug_14690.txt new file mode 100644 index 0000000000..b73b1d8aad --- /dev/null +++ b/test/prism/fixtures/whitequark/ruby_bug_14690.txt @@ -0,0 +1 @@ +let () { m(a) do; end } diff --git a/test/prism/fixtures/whitequark/ruby_bug_15789.txt b/test/prism/fixtures/whitequark/ruby_bug_15789.txt new file mode 100644 index 0000000000..6324db5110 --- /dev/null +++ b/test/prism/fixtures/whitequark/ruby_bug_15789.txt @@ -0,0 +1,3 @@ +m ->(a = ->{_1}) {a} + +m ->(a: ->{_1}) {a} diff --git a/test/prism/fixtures/whitequark/ruby_bug_9669.txt b/test/prism/fixtures/whitequark/ruby_bug_9669.txt new file mode 100644 index 0000000000..60dfa09d51 --- /dev/null +++ b/test/prism/fixtures/whitequark/ruby_bug_9669.txt @@ -0,0 +1,8 @@ +def a b: +return +end + +o = { +a: +1 +} diff --git a/test/prism/fixtures/whitequark/sclass.txt b/test/prism/fixtures/whitequark/sclass.txt new file mode 100644 index 0000000000..e6aadaef21 --- /dev/null +++ b/test/prism/fixtures/whitequark/sclass.txt @@ -0,0 +1 @@ +class << foo; nil; end diff --git a/test/prism/fixtures/whitequark/self.txt b/test/prism/fixtures/whitequark/self.txt new file mode 100644 index 0000000000..31f9efa4a1 --- /dev/null +++ b/test/prism/fixtures/whitequark/self.txt @@ -0,0 +1 @@ +self diff --git a/test/prism/fixtures/whitequark/send_attr_asgn.txt b/test/prism/fixtures/whitequark/send_attr_asgn.txt new file mode 100644 index 0000000000..b477966b2a --- /dev/null +++ b/test/prism/fixtures/whitequark/send_attr_asgn.txt @@ -0,0 +1,7 @@ +foo.A = 1 + +foo.a = 1 + +foo::A = 1 + +foo::a = 1 diff --git a/test/prism/fixtures/whitequark/send_attr_asgn_conditional.txt b/test/prism/fixtures/whitequark/send_attr_asgn_conditional.txt new file mode 100644 index 0000000000..1279e02cfc --- /dev/null +++ b/test/prism/fixtures/whitequark/send_attr_asgn_conditional.txt @@ -0,0 +1 @@ +a&.b = 1 diff --git a/test/prism/fixtures/whitequark/send_binary_op.txt b/test/prism/fixtures/whitequark/send_binary_op.txt new file mode 100644 index 0000000000..3e3e9300b3 --- /dev/null +++ b/test/prism/fixtures/whitequark/send_binary_op.txt @@ -0,0 +1,41 @@ +foo != 1 + +foo !~ 1 + +foo % 1 + +foo & 1 + +foo * 1 + +foo ** 1 + +foo + 1 + +foo - 1 + +foo / 1 + +foo < 1 + +foo << 1 + +foo <= 1 + +foo <=> 1 + +foo == 1 + +foo === 1 + +foo =~ 1 + +foo > 1 + +foo >= 1 + +foo >> 1 + +foo ^ 1 + +foo | 1 diff --git a/test/prism/fixtures/whitequark/send_block_chain_cmd.txt b/test/prism/fixtures/whitequark/send_block_chain_cmd.txt new file mode 100644 index 0000000000..c6fe1aab0e --- /dev/null +++ b/test/prism/fixtures/whitequark/send_block_chain_cmd.txt @@ -0,0 +1,13 @@ +meth 1 do end.fun bar + +meth 1 do end.fun bar do end + +meth 1 do end.fun {} + +meth 1 do end.fun(bar) + +meth 1 do end.fun(bar) {} + +meth 1 do end::fun bar + +meth 1 do end::fun(bar) diff --git a/test/prism/fixtures/whitequark/send_block_conditional.txt b/test/prism/fixtures/whitequark/send_block_conditional.txt new file mode 100644 index 0000000000..dcc8361762 --- /dev/null +++ b/test/prism/fixtures/whitequark/send_block_conditional.txt @@ -0,0 +1 @@ +foo&.bar {} diff --git a/test/prism/fixtures/whitequark/send_call.txt b/test/prism/fixtures/whitequark/send_call.txt new file mode 100644 index 0000000000..99701270bb --- /dev/null +++ b/test/prism/fixtures/whitequark/send_call.txt @@ -0,0 +1,3 @@ +foo.(1) + +foo::(1) diff --git a/test/prism/fixtures/whitequark/send_conditional.txt b/test/prism/fixtures/whitequark/send_conditional.txt new file mode 100644 index 0000000000..8ecd27e0fe --- /dev/null +++ b/test/prism/fixtures/whitequark/send_conditional.txt @@ -0,0 +1 @@ +a&.b diff --git a/test/prism/fixtures/whitequark/send_index.txt b/test/prism/fixtures/whitequark/send_index.txt new file mode 100644 index 0000000000..f9c4dafc4e --- /dev/null +++ b/test/prism/fixtures/whitequark/send_index.txt @@ -0,0 +1 @@ +foo[1, 2] diff --git a/test/prism/fixtures/whitequark/send_index_asgn.txt b/test/prism/fixtures/whitequark/send_index_asgn.txt new file mode 100644 index 0000000000..e232fa3b96 --- /dev/null +++ b/test/prism/fixtures/whitequark/send_index_asgn.txt @@ -0,0 +1 @@ +foo[1, 2] = 3 diff --git a/test/prism/fixtures/whitequark/send_index_asgn_legacy.txt b/test/prism/fixtures/whitequark/send_index_asgn_legacy.txt new file mode 100644 index 0000000000..e232fa3b96 --- /dev/null +++ b/test/prism/fixtures/whitequark/send_index_asgn_legacy.txt @@ -0,0 +1 @@ +foo[1, 2] = 3 diff --git a/test/prism/fixtures/whitequark/send_index_cmd.txt b/test/prism/fixtures/whitequark/send_index_cmd.txt new file mode 100644 index 0000000000..32090e7536 --- /dev/null +++ b/test/prism/fixtures/whitequark/send_index_cmd.txt @@ -0,0 +1 @@ +foo[m bar] diff --git a/test/prism/fixtures/whitequark/send_index_legacy.txt b/test/prism/fixtures/whitequark/send_index_legacy.txt new file mode 100644 index 0000000000..f9c4dafc4e --- /dev/null +++ b/test/prism/fixtures/whitequark/send_index_legacy.txt @@ -0,0 +1 @@ +foo[1, 2] diff --git a/test/prism/fixtures/whitequark/send_lambda.txt b/test/prism/fixtures/whitequark/send_lambda.txt new file mode 100644 index 0000000000..eadd6c9c03 --- /dev/null +++ b/test/prism/fixtures/whitequark/send_lambda.txt @@ -0,0 +1,5 @@ +-> * { } + +-> do end + +->{ } diff --git a/test/prism/fixtures/whitequark/send_lambda_args.txt b/test/prism/fixtures/whitequark/send_lambda_args.txt new file mode 100644 index 0000000000..68392f2f34 --- /dev/null +++ b/test/prism/fixtures/whitequark/send_lambda_args.txt @@ -0,0 +1,3 @@ +-> (a) { } + +->(a) { } diff --git a/test/prism/fixtures/whitequark/send_lambda_args_noparen.txt b/test/prism/fixtures/whitequark/send_lambda_args_noparen.txt new file mode 100644 index 0000000000..c0ae077f95 --- /dev/null +++ b/test/prism/fixtures/whitequark/send_lambda_args_noparen.txt @@ -0,0 +1,3 @@ +-> a: 1 { } + +-> a: { } diff --git a/test/prism/fixtures/whitequark/send_lambda_args_shadow.txt b/test/prism/fixtures/whitequark/send_lambda_args_shadow.txt new file mode 100644 index 0000000000..230f35ab89 --- /dev/null +++ b/test/prism/fixtures/whitequark/send_lambda_args_shadow.txt @@ -0,0 +1 @@ +->(a; foo, bar) { } diff --git a/test/prism/fixtures/whitequark/send_lambda_legacy.txt b/test/prism/fixtures/whitequark/send_lambda_legacy.txt new file mode 100644 index 0000000000..a509407c43 --- /dev/null +++ b/test/prism/fixtures/whitequark/send_lambda_legacy.txt @@ -0,0 +1 @@ +->{ } diff --git a/test/prism/fixtures/whitequark/send_op_asgn_conditional.txt b/test/prism/fixtures/whitequark/send_op_asgn_conditional.txt new file mode 100644 index 0000000000..906088dcd1 --- /dev/null +++ b/test/prism/fixtures/whitequark/send_op_asgn_conditional.txt @@ -0,0 +1 @@ +a&.b &&= 1 diff --git a/test/prism/fixtures/whitequark/send_plain.txt b/test/prism/fixtures/whitequark/send_plain.txt new file mode 100644 index 0000000000..ebaf1d18c7 --- /dev/null +++ b/test/prism/fixtures/whitequark/send_plain.txt @@ -0,0 +1,5 @@ +foo.fun + +foo::Fun() + +foo::fun diff --git a/test/prism/fixtures/whitequark/send_plain_cmd.txt b/test/prism/fixtures/whitequark/send_plain_cmd.txt new file mode 100644 index 0000000000..e3fd63f272 --- /dev/null +++ b/test/prism/fixtures/whitequark/send_plain_cmd.txt @@ -0,0 +1,5 @@ +foo.fun bar + +foo::Fun bar + +foo::fun bar diff --git a/test/prism/fixtures/whitequark/send_self.txt b/test/prism/fixtures/whitequark/send_self.txt new file mode 100644 index 0000000000..f084b9bca7 --- /dev/null +++ b/test/prism/fixtures/whitequark/send_self.txt @@ -0,0 +1,5 @@ +fun + +fun! + +fun(1) diff --git a/test/prism/fixtures/whitequark/send_self_block.txt b/test/prism/fixtures/whitequark/send_self_block.txt new file mode 100644 index 0000000000..1cd6703c82 --- /dev/null +++ b/test/prism/fixtures/whitequark/send_self_block.txt @@ -0,0 +1,7 @@ +fun do end + +fun { } + +fun() { } + +fun(1) { } diff --git a/test/prism/fixtures/whitequark/send_unary_op.txt b/test/prism/fixtures/whitequark/send_unary_op.txt new file mode 100644 index 0000000000..73814d199f --- /dev/null +++ b/test/prism/fixtures/whitequark/send_unary_op.txt @@ -0,0 +1,5 @@ ++foo + +-foo + +~foo diff --git a/test/prism/fixtures/whitequark/slash_newline_in_heredocs.txt b/test/prism/fixtures/whitequark/slash_newline_in_heredocs.txt new file mode 100644 index 0000000000..4962a058ea --- /dev/null +++ b/test/prism/fixtures/whitequark/slash_newline_in_heredocs.txt @@ -0,0 +1,13 @@ +<<-E + 1 \ + 2 + 3 +E + + +<<~E + 1 \ + 2 + 3 +E + diff --git a/test/prism/fixtures/whitequark/space_args_arg.txt b/test/prism/fixtures/whitequark/space_args_arg.txt new file mode 100644 index 0000000000..47957cba54 --- /dev/null +++ b/test/prism/fixtures/whitequark/space_args_arg.txt @@ -0,0 +1 @@ +fun (1) diff --git a/test/prism/fixtures/whitequark/space_args_arg_block.txt b/test/prism/fixtures/whitequark/space_args_arg_block.txt new file mode 100644 index 0000000000..5560a82818 --- /dev/null +++ b/test/prism/fixtures/whitequark/space_args_arg_block.txt @@ -0,0 +1,5 @@ +foo.fun (1) {} + +foo::fun (1) {} + +fun (1) {} diff --git a/test/prism/fixtures/whitequark/space_args_arg_call.txt b/test/prism/fixtures/whitequark/space_args_arg_call.txt new file mode 100644 index 0000000000..3b0ae831fe --- /dev/null +++ b/test/prism/fixtures/whitequark/space_args_arg_call.txt @@ -0,0 +1 @@ +fun (1).to_i diff --git a/test/prism/fixtures/whitequark/space_args_arg_newline.txt b/test/prism/fixtures/whitequark/space_args_arg_newline.txt new file mode 100644 index 0000000000..a6cdac6ed1 --- /dev/null +++ b/test/prism/fixtures/whitequark/space_args_arg_newline.txt @@ -0,0 +1,2 @@ +fun (1 +) diff --git a/test/prism/fixtures/whitequark/space_args_block.txt b/test/prism/fixtures/whitequark/space_args_block.txt new file mode 100644 index 0000000000..555a097605 --- /dev/null +++ b/test/prism/fixtures/whitequark/space_args_block.txt @@ -0,0 +1 @@ +fun () {} diff --git a/test/prism/fixtures/whitequark/space_args_cmd.txt b/test/prism/fixtures/whitequark/space_args_cmd.txt new file mode 100644 index 0000000000..a749695cb7 --- /dev/null +++ b/test/prism/fixtures/whitequark/space_args_cmd.txt @@ -0,0 +1 @@ +fun (f bar) diff --git a/test/prism/fixtures/whitequark/string___FILE__.txt b/test/prism/fixtures/whitequark/string___FILE__.txt new file mode 100644 index 0000000000..4815727d05 --- /dev/null +++ b/test/prism/fixtures/whitequark/string___FILE__.txt @@ -0,0 +1 @@ +__FILE__ diff --git a/test/prism/fixtures/whitequark/string_concat.txt b/test/prism/fixtures/whitequark/string_concat.txt new file mode 100644 index 0000000000..30cc4f8116 --- /dev/null +++ b/test/prism/fixtures/whitequark/string_concat.txt @@ -0,0 +1 @@ +"foo#@a" "bar" diff --git a/test/prism/fixtures/whitequark/string_dvar.txt b/test/prism/fixtures/whitequark/string_dvar.txt new file mode 100644 index 0000000000..bbe5b617b2 --- /dev/null +++ b/test/prism/fixtures/whitequark/string_dvar.txt @@ -0,0 +1 @@ +"#@a #@@a #$a" diff --git a/test/prism/fixtures/whitequark/string_interp.txt b/test/prism/fixtures/whitequark/string_interp.txt new file mode 100644 index 0000000000..5fdd803341 --- /dev/null +++ b/test/prism/fixtures/whitequark/string_interp.txt @@ -0,0 +1 @@ +"foo#{bar}baz" diff --git a/test/prism/fixtures/whitequark/string_plain.txt b/test/prism/fixtures/whitequark/string_plain.txt new file mode 100644 index 0000000000..4aca78decb --- /dev/null +++ b/test/prism/fixtures/whitequark/string_plain.txt @@ -0,0 +1,3 @@ +%q(foobar) + +'foobar' diff --git a/test/prism/fixtures/whitequark/super.txt b/test/prism/fixtures/whitequark/super.txt new file mode 100644 index 0000000000..9e68a9e988 --- /dev/null +++ b/test/prism/fixtures/whitequark/super.txt @@ -0,0 +1,5 @@ +super foo + +super() + +super(foo) diff --git a/test/prism/fixtures/whitequark/super_block.txt b/test/prism/fixtures/whitequark/super_block.txt new file mode 100644 index 0000000000..05a7d7fdd8 --- /dev/null +++ b/test/prism/fixtures/whitequark/super_block.txt @@ -0,0 +1,3 @@ +super do end + +super foo, bar do end diff --git a/test/prism/fixtures/whitequark/symbol_interp.txt b/test/prism/fixtures/whitequark/symbol_interp.txt new file mode 100644 index 0000000000..d5011b270d --- /dev/null +++ b/test/prism/fixtures/whitequark/symbol_interp.txt @@ -0,0 +1 @@ +:"foo#{bar}baz" diff --git a/test/prism/fixtures/whitequark/symbol_plain.txt b/test/prism/fixtures/whitequark/symbol_plain.txt new file mode 100644 index 0000000000..fd1fd0017c --- /dev/null +++ b/test/prism/fixtures/whitequark/symbol_plain.txt @@ -0,0 +1,3 @@ +:'foo' + +:foo diff --git a/test/prism/fixtures/whitequark/ternary.txt b/test/prism/fixtures/whitequark/ternary.txt new file mode 100644 index 0000000000..3a149d4e1c --- /dev/null +++ b/test/prism/fixtures/whitequark/ternary.txt @@ -0,0 +1 @@ +foo ? 1 : 2 diff --git a/test/prism/fixtures/whitequark/ternary_ambiguous_symbol.txt b/test/prism/fixtures/whitequark/ternary_ambiguous_symbol.txt new file mode 100644 index 0000000000..19aa523c07 --- /dev/null +++ b/test/prism/fixtures/whitequark/ternary_ambiguous_symbol.txt @@ -0,0 +1 @@ +t=1;(foo)?t:T diff --git a/test/prism/fixtures/whitequark/trailing_forward_arg.txt b/test/prism/fixtures/whitequark/trailing_forward_arg.txt new file mode 100644 index 0000000000..043870ade2 --- /dev/null +++ b/test/prism/fixtures/whitequark/trailing_forward_arg.txt @@ -0,0 +1 @@ +def foo(a, b, ...); bar(a, 42, ...); end diff --git a/test/prism/fixtures/whitequark/true.txt b/test/prism/fixtures/whitequark/true.txt new file mode 100644 index 0000000000..27ba77ddaf --- /dev/null +++ b/test/prism/fixtures/whitequark/true.txt @@ -0,0 +1 @@ +true diff --git a/test/prism/fixtures/whitequark/unary_num_pow_precedence.txt b/test/prism/fixtures/whitequark/unary_num_pow_precedence.txt new file mode 100644 index 0000000000..f0343e3c8b --- /dev/null +++ b/test/prism/fixtures/whitequark/unary_num_pow_precedence.txt @@ -0,0 +1,5 @@ ++2.0 ** 10 + +-2 ** 10 + +-2.0 ** 10 diff --git a/test/prism/fixtures/whitequark/undef.txt b/test/prism/fixtures/whitequark/undef.txt new file mode 100644 index 0000000000..3e88ec7084 --- /dev/null +++ b/test/prism/fixtures/whitequark/undef.txt @@ -0,0 +1 @@ +undef foo, :bar, :"foo#{1}" diff --git a/test/prism/fixtures/whitequark/unless.txt b/test/prism/fixtures/whitequark/unless.txt new file mode 100644 index 0000000000..d04043ed90 --- /dev/null +++ b/test/prism/fixtures/whitequark/unless.txt @@ -0,0 +1,3 @@ +unless foo then bar; end + +unless foo; bar; end diff --git a/test/prism/fixtures/whitequark/unless_else.txt b/test/prism/fixtures/whitequark/unless_else.txt new file mode 100644 index 0000000000..8243d42031 --- /dev/null +++ b/test/prism/fixtures/whitequark/unless_else.txt @@ -0,0 +1,3 @@ +unless foo then bar; else baz; end + +unless foo; bar; else baz; end diff --git a/test/prism/fixtures/whitequark/unless_mod.txt b/test/prism/fixtures/whitequark/unless_mod.txt new file mode 100644 index 0000000000..2d0376a310 --- /dev/null +++ b/test/prism/fixtures/whitequark/unless_mod.txt @@ -0,0 +1 @@ +bar unless foo diff --git a/test/prism/fixtures/whitequark/until.txt b/test/prism/fixtures/whitequark/until.txt new file mode 100644 index 0000000000..06082233cb --- /dev/null +++ b/test/prism/fixtures/whitequark/until.txt @@ -0,0 +1,3 @@ +until foo do meth end + +until foo; meth end diff --git a/test/prism/fixtures/whitequark/until_mod.txt b/test/prism/fixtures/whitequark/until_mod.txt new file mode 100644 index 0000000000..46a85d2ba9 --- /dev/null +++ b/test/prism/fixtures/whitequark/until_mod.txt @@ -0,0 +1 @@ +meth until foo diff --git a/test/prism/fixtures/whitequark/until_post.txt b/test/prism/fixtures/whitequark/until_post.txt new file mode 100644 index 0000000000..988e43b665 --- /dev/null +++ b/test/prism/fixtures/whitequark/until_post.txt @@ -0,0 +1 @@ +begin meth end until foo diff --git a/test/prism/fixtures/whitequark/var_and_asgn.txt b/test/prism/fixtures/whitequark/var_and_asgn.txt new file mode 100644 index 0000000000..25502968f9 --- /dev/null +++ b/test/prism/fixtures/whitequark/var_and_asgn.txt @@ -0,0 +1 @@ +a &&= 1 diff --git a/test/prism/fixtures/whitequark/var_op_asgn.txt b/test/prism/fixtures/whitequark/var_op_asgn.txt new file mode 100644 index 0000000000..402d818a7e --- /dev/null +++ b/test/prism/fixtures/whitequark/var_op_asgn.txt @@ -0,0 +1,7 @@ +@@var |= 10 + +@a |= 1 + +a += 1 + +def a; @@var |= 10; end diff --git a/test/prism/fixtures/whitequark/var_op_asgn_cmd.txt b/test/prism/fixtures/whitequark/var_op_asgn_cmd.txt new file mode 100644 index 0000000000..33f4bc0e73 --- /dev/null +++ b/test/prism/fixtures/whitequark/var_op_asgn_cmd.txt @@ -0,0 +1 @@ +foo += m foo diff --git a/test/prism/fixtures/whitequark/var_or_asgn.txt b/test/prism/fixtures/whitequark/var_or_asgn.txt new file mode 100644 index 0000000000..aa30b3d5ca --- /dev/null +++ b/test/prism/fixtures/whitequark/var_or_asgn.txt @@ -0,0 +1 @@ +a ||= 1 diff --git a/test/prism/fixtures/whitequark/when_multi.txt b/test/prism/fixtures/whitequark/when_multi.txt new file mode 100644 index 0000000000..b4fbd33125 --- /dev/null +++ b/test/prism/fixtures/whitequark/when_multi.txt @@ -0,0 +1 @@ +case foo; when 'bar', 'baz'; bar; end diff --git a/test/prism/fixtures/whitequark/when_splat.txt b/test/prism/fixtures/whitequark/when_splat.txt new file mode 100644 index 0000000000..695e5da34e --- /dev/null +++ b/test/prism/fixtures/whitequark/when_splat.txt @@ -0,0 +1 @@ +case foo; when 1, *baz; bar; when *foo; end diff --git a/test/prism/fixtures/whitequark/when_then.txt b/test/prism/fixtures/whitequark/when_then.txt new file mode 100644 index 0000000000..63293452b3 --- /dev/null +++ b/test/prism/fixtures/whitequark/when_then.txt @@ -0,0 +1 @@ +case foo; when 'bar' then bar; end diff --git a/test/prism/fixtures/whitequark/while.txt b/test/prism/fixtures/whitequark/while.txt new file mode 100644 index 0000000000..28b204f247 --- /dev/null +++ b/test/prism/fixtures/whitequark/while.txt @@ -0,0 +1,3 @@ +while foo do meth end + +while foo; meth end diff --git a/test/prism/fixtures/whitequark/while_mod.txt b/test/prism/fixtures/whitequark/while_mod.txt new file mode 100644 index 0000000000..ce3cf01d14 --- /dev/null +++ b/test/prism/fixtures/whitequark/while_mod.txt @@ -0,0 +1 @@ +meth while foo diff --git a/test/prism/fixtures/whitequark/while_post.txt b/test/prism/fixtures/whitequark/while_post.txt new file mode 100644 index 0000000000..ac6e05008b --- /dev/null +++ b/test/prism/fixtures/whitequark/while_post.txt @@ -0,0 +1 @@ +begin meth end while foo diff --git a/test/prism/fixtures/whitequark/xstring_interp.txt b/test/prism/fixtures/whitequark/xstring_interp.txt new file mode 100644 index 0000000000..dfede8123f --- /dev/null +++ b/test/prism/fixtures/whitequark/xstring_interp.txt @@ -0,0 +1 @@ +`foo#{bar}baz` diff --git a/test/prism/fixtures/whitequark/xstring_plain.txt b/test/prism/fixtures/whitequark/xstring_plain.txt new file mode 100644 index 0000000000..fce255049d --- /dev/null +++ b/test/prism/fixtures/whitequark/xstring_plain.txt @@ -0,0 +1 @@ +`foobar` diff --git a/test/prism/fixtures/whitequark/yield.txt b/test/prism/fixtures/whitequark/yield.txt new file mode 100644 index 0000000000..0ecf639589 --- /dev/null +++ b/test/prism/fixtures/whitequark/yield.txt @@ -0,0 +1,7 @@ +yield + +yield foo + +yield() + +yield(foo) diff --git a/test/prism/fixtures/whitequark/zsuper.txt b/test/prism/fixtures/whitequark/zsuper.txt new file mode 100644 index 0000000000..16f5c2d3aa --- /dev/null +++ b/test/prism/fixtures/whitequark/zsuper.txt @@ -0,0 +1 @@ +super |