1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Fix indentation

This commit is contained in:
Kazuki Tsujimoto 2020-11-07 22:12:22 +09:00
parent 640fd94eff
commit 5823f6c25b
No known key found for this signature in database
GPG key ID: BCEA306C49B81CD7

View file

@ -23,10 +23,10 @@ ruby_version_is "2.7" do
it "extends case expression with case/in construction" do
eval(<<~RUBY).should == :bar
case [0, 1]
in [0]
:foo
in [0, 1]
:bar
in [0]
:foo
in [0, 1]
:bar
end
RUBY
end
@ -34,8 +34,8 @@ ruby_version_is "2.7" do
it "allows using then operator" do
eval(<<~RUBY).should == :bar
case [0, 1]
in [0] then :foo
in [0, 1] then :bar
in [0] then :foo
in [0, 1] then :bar
end
RUBY
end
@ -59,8 +59,8 @@ ruby_version_is "2.7" do
it "binds variables" do
eval(<<~RUBY).should == 1
case [0, 1]
in [0, a]
a
in [0, a]
a
end
RUBY
end
@ -69,8 +69,8 @@ ruby_version_is "2.7" do
-> {
eval <<~RUBY
case []
when 1 == 1
in []
when 1 == 1
in []
end
RUBY
}.should raise_error(SyntaxError, /syntax error, unexpected `in'/)
@ -78,8 +78,8 @@ ruby_version_is "2.7" do
-> {
eval <<~RUBY
case []
in []
when 1 == 1
in []
when 1 == 1
end
RUBY
}.should raise_error(SyntaxError, /syntax error, unexpected `when'/)
@ -88,12 +88,12 @@ ruby_version_is "2.7" do
it "checks patterns until the first matching" do
eval(<<~RUBY).should == :bar
case [0, 1]
in [0]
:foo
in [0, 1]
:bar
in [0, 1]
:baz
in [0]
:foo
in [0, 1]
:bar
in [0, 1]
:baz
end
RUBY
end
@ -101,10 +101,10 @@ ruby_version_is "2.7" do
it "executes else clause if no pattern matches" do
eval(<<~RUBY).should == false
case [0, 1]
in [0]
true
else
false
in [0]
true
else
false
end
RUBY
end
@ -113,7 +113,7 @@ ruby_version_is "2.7" do
-> {
eval <<~RUBY
case [0, 1]
in [0]
in [0]
end
RUBY
}.should raise_error(NoMatchingPatternError, /\[0, 1\]/)
@ -123,8 +123,8 @@ ruby_version_is "2.7" do
-> {
eval <<~RUBY
case 0
in 1 + 1
true
in 1 + 1
true
end
RUBY
}.should raise_error(SyntaxError, /unexpected/)
@ -134,8 +134,8 @@ ruby_version_is "2.7" do
it "supports if guard" do
eval(<<~RUBY).should == false
case 0
in 0 if false
true
in 0 if false
true
else
false
end
@ -143,8 +143,8 @@ ruby_version_is "2.7" do
eval(<<~RUBY).should == true
case 0
in 0 if true
true
in 0 if true
true
else
false
end
@ -154,8 +154,8 @@ ruby_version_is "2.7" do
it "supports unless guard" do
eval(<<~RUBY).should == false
case 0
in 0 unless true
true
in 0 unless true
true
else
false
end
@ -163,8 +163,8 @@ ruby_version_is "2.7" do
eval(<<~RUBY).should == true
case 0
in 0 unless false
true
in 0 unless false
true
else
false
end
@ -174,8 +174,8 @@ ruby_version_is "2.7" do
it "makes bound variables visible in guard" do
eval(<<~RUBY).should == true
case [0, 1]
in [a, 1] if a >= 0
true
in [a, 1] if a >= 0
true
end
RUBY
end
@ -183,7 +183,7 @@ ruby_version_is "2.7" do
it "does not evaluate guard if pattern does not match" do
eval <<~RUBY
case 0
in 1 if (ScratchPad << :foo) || true
in 1 if (ScratchPad << :foo) || true
else
end
RUBY
@ -194,10 +194,10 @@ ruby_version_is "2.7" do
it "takes guards into account when there are several matching patterns" do
eval(<<~RUBY).should == :bar
case 0
in 0 if false
:foo
in 0 if true
:bar
in 0 if false
:foo
in 0 if true
:bar
end
RUBY
end
@ -205,8 +205,8 @@ ruby_version_is "2.7" do
it "executes else clause if no guarded pattern matches" do
eval(<<~RUBY).should == false
case 0
in 0 if false
true
in 0 if false
true
else
false
end
@ -217,7 +217,7 @@ ruby_version_is "2.7" do
-> {
eval <<~RUBY
case [0, 1]
in [0, 1] if false
in [0, 1] if false
end
RUBY
}.should raise_error(NoMatchingPatternError, /\[0, 1\]/)
@ -228,36 +228,36 @@ ruby_version_is "2.7" do
it "matches an object such that pattern === object" do
eval(<<~RUBY).should == true
case 0
in 0
true
in 0
true
end
RUBY
eval(<<~RUBY).should == true
case 0
in (-1..1)
true
in (-1..1)
true
end
RUBY
eval(<<~RUBY).should == true
case 0
in Integer
true
in Integer
true
end
RUBY
eval(<<~RUBY).should == true
case "0"
in /0/
true
in /0/
true
end
RUBY
eval(<<~RUBY).should == true
case "0"
in ->(s) { s == "0" }
true
in ->(s) { s == "0" }
true
end
RUBY
end
@ -267,8 +267,8 @@ ruby_version_is "2.7" do
eval(<<~RUBY).should == true
case "x"
in "#{x + ""}"
true
in "#{x + ""}"
true
end
RUBY
end
@ -278,8 +278,8 @@ ruby_version_is "2.7" do
it "matches a value and binds variable name to this value" do
eval(<<~RUBY).should == 0
case 0
in a
a
in a
a
end
RUBY
end
@ -287,7 +287,7 @@ ruby_version_is "2.7" do
it "makes bounded variable visible outside a case statement scope" do
eval(<<~RUBY).should == 0
case 0
in a
in a
end
a
@ -297,9 +297,9 @@ ruby_version_is "2.7" do
it "create local variables even if a pattern doesn't match" do
eval(<<~RUBY).should == [0, nil, nil]
case 0
in a
in b
in c
in a
in b
in c
end
[a, b, c]
@ -309,8 +309,8 @@ ruby_version_is "2.7" do
it "allow using _ name to drop values" do
eval(<<~RUBY).should == 0
case [0, 1]
in [a, _]
a
in [a, _]
a
end
RUBY
end
@ -318,8 +318,8 @@ ruby_version_is "2.7" do
it "supports using _ in a pattern several times" do
eval(<<~RUBY).should == true
case [0, 1, 2]
in [0, _, _]
true
in [0, _, _]
true
end
RUBY
end
@ -327,15 +327,15 @@ ruby_version_is "2.7" do
it "supports using any name with _ at the beginning in a pattern several times" do
eval(<<~RUBY).should == true
case [0, 1, 2]
in [0, _x, _x]
true
in [0, _x, _x]
true
end
RUBY
eval(<<~RUBY).should == true
case {a: 0, b: 1, c: 2}
in {a: 0, b: _x, c: _x}
true
in {a: 0, b: _x, c: _x}
true
end
RUBY
end
@ -344,7 +344,7 @@ ruby_version_is "2.7" do
-> {
eval <<~RUBY
case [0]
in [a, a]
in [a, a]
end
RUBY
}.should raise_error(SyntaxError, /duplicated variable name/)
@ -355,8 +355,8 @@ ruby_version_is "2.7" do
eval(<<~RUBY).should == true
case 0
in ^a
true
in ^a
true
end
RUBY
end
@ -364,15 +364,15 @@ ruby_version_is "2.7" do
it "allows applying ^ operator to bound variables" do
eval(<<~RUBY).should == 1
case [1, 1]
in [n, ^n]
n
in [n, ^n]
n
end
RUBY
eval(<<~RUBY).should == false
case [1, 2]
in [n, ^n]
true
in [n, ^n]
true
else
false
end
@ -383,8 +383,8 @@ ruby_version_is "2.7" do
-> {
eval <<~RUBY
case [1, 2]
in [^n, n]
true
in [^n, n]
true
else
false
end
@ -397,8 +397,8 @@ ruby_version_is "2.7" do
it "matches if any of patterns matches" do
eval(<<~RUBY).should == true
case 0
in 0 | 1 | 2
true
in 0 | 1 | 2
true
end
RUBY
end
@ -407,7 +407,7 @@ ruby_version_is "2.7" do
-> {
eval <<~RUBY
case [0, 1]
in [0, 0] | [0, a]
in [0, 0] | [0, a]
end
RUBY
}.should raise_error(SyntaxError, /illegal variable in alternative pattern/)
@ -416,10 +416,10 @@ ruby_version_is "2.7" do
it "support underscore prefixed variables in alternation" do
eval(<<~RUBY).should == true
case [0, 1]
in [1, _]
false
in [0, 0] | [0, _a]
true
in [1, _]
false
in [0, 0] | [0, _a]
true
end
RUBY
end
@ -429,8 +429,8 @@ ruby_version_is "2.7" do
it "binds a variable to a value if pattern matches" do
eval(<<~RUBY).should == 0
case 0
in Integer => n
n
in Integer => n
n
end
RUBY
end
@ -438,8 +438,8 @@ ruby_version_is "2.7" do
it "can be used as a nested pattern" do
eval(<<~RUBY).should == [2, 3]
case [1, [2, 3]]
in [1, Array => ary]
ary
in [1, Array => ary]
ary
end
RUBY
end
@ -449,8 +449,8 @@ ruby_version_is "2.7" do
it "supports form Constant(pat, pat, ...)" do
eval(<<~RUBY).should == true
case [0, 1, 2]
in Array(0, 1, 2)
true
in Array(0, 1, 2)
true
end
RUBY
end
@ -458,8 +458,8 @@ ruby_version_is "2.7" do
it "supports form Constant[pat, pat, ...]" do
eval(<<~RUBY).should == true
case [0, 1, 2]
in Array[0, 1, 2]
true
in Array[0, 1, 2]
true
end
RUBY
end
@ -467,8 +467,8 @@ ruby_version_is "2.7" do
it "supports form [pat, pat, ...]" do
eval(<<~RUBY).should == true
case [0, 1, 2]
in [0, 1, 2]
true
in [0, 1, 2]
true
end
RUBY
end
@ -476,22 +476,22 @@ ruby_version_is "2.7" do
it "supports form pat, pat, ..." do
eval(<<~RUBY).should == true
case [0, 1, 2]
in 0, 1, 2
true
in 0, 1, 2
true
end
RUBY
eval(<<~RUBY).should == 1
case [0, 1, 2]
in 0, a, 2
a
in 0, a, 2
a
end
RUBY
eval(<<~RUBY).should == [1, 2]
case [0, 1, 2]
in 0, *rest
rest
in 0, *rest
rest
end
RUBY
end
@ -502,8 +502,8 @@ ruby_version_is "2.7" do
eval(<<~RUBY).should == true
case obj
in [Integer, Integer]
true
in [Integer, Integer]
true
end
RUBY
end
@ -511,8 +511,8 @@ ruby_version_is "2.7" do
it "does not match object if Constant === object returns false" do
eval(<<~RUBY).should == false
case [0, 1, 2]
in String[0, 1, 2]
true
in String[0, 1, 2]
true
else
false
end
@ -524,8 +524,8 @@ ruby_version_is "2.7" do
eval(<<~RUBY).should == false
case obj
in Object[]
true
in Object[]
true
else
false
end
@ -539,7 +539,7 @@ ruby_version_is "2.7" do
-> {
eval <<~RUBY
case obj
in Object[]
in Object[]
else
end
RUBY
@ -552,8 +552,8 @@ ruby_version_is "2.7" do
eval(<<~RUBY).should == false
case obj
in Object[0]
true
in Object[0]
true
else
false
end
@ -563,8 +563,8 @@ ruby_version_is "2.7" do
it "binds variables" do
eval(<<~RUBY).should == [0, 1, 2]
case [0, 1, 2]
in [a, b, c]
[a, b, c]
in [a, b, c]
[a, b, c]
end
RUBY
end
@ -572,8 +572,8 @@ ruby_version_is "2.7" do
it "supports splat operator *rest" do
eval(<<~RUBY).should == [1, 2]
case [0, 1, 2]
in [0, *rest]
rest
in [0, *rest]
rest
end
RUBY
end
@ -581,8 +581,8 @@ ruby_version_is "2.7" do
it "does not match partially by default" do
eval(<<~RUBY).should == false
case [0, 1, 2, 3]
in [1, 2]
true
in [1, 2]
true
else
false
end
@ -592,15 +592,15 @@ ruby_version_is "2.7" do
it "does match partially from the array beginning if list + , syntax used" do
eval(<<~RUBY).should == true
case [0, 1, 2, 3]
in [0, 1,]
true
in [0, 1,]
true
end
RUBY
eval(<<~RUBY).should == true
case [0, 1, 2, 3]
in 0, 1,;
true
in 0, 1,;
true
end
RUBY
end
@ -608,8 +608,8 @@ ruby_version_is "2.7" do
it "matches [] with []" do
eval(<<~RUBY).should == true
case []
in []
true
in []
true
end
RUBY
end
@ -617,8 +617,8 @@ ruby_version_is "2.7" do
it "matches anything with *" do
eval(<<~RUBY).should == true
case [0, 1]
in *;
true
in *;
true
end
RUBY
end
@ -628,8 +628,8 @@ ruby_version_is "2.7" do
it "supports form Constant(id: pat, id: pat, ...)" do
eval(<<~RUBY).should == true
case {a: 0, b: 1}
in Hash(a: 0, b: 1)
true
in Hash(a: 0, b: 1)
true
end
RUBY
end
@ -637,8 +637,8 @@ ruby_version_is "2.7" do
it "supports form Constant[id: pat, id: pat, ...]" do
eval(<<~RUBY).should == true
case {a: 0, b: 1}
in Hash[a: 0, b: 1]
true
in Hash[a: 0, b: 1]
true
end
RUBY
end
@ -646,8 +646,8 @@ ruby_version_is "2.7" do
it "supports form {id: pat, id: pat, ...}" do
eval(<<~RUBY).should == true
case {a: 0, b: 1}
in {a: 0, b: 1}
true
in {a: 0, b: 1}
true
end
RUBY
end
@ -655,22 +655,22 @@ ruby_version_is "2.7" do
it "supports form id: pat, id: pat, ..." do
eval(<<~RUBY).should == true
case {a: 0, b: 1}
in a: 0, b: 1
true
in a: 0, b: 1
true
end
RUBY
eval(<<~RUBY).should == [0, 1]
case {a: 0, b: 1}
in a: a, b: b
[a, b]
in a: a, b: b
[a, b]
end
RUBY
eval(<<~RUBY).should == { b: 1, c: 2 }
case {a: 0, b: 1, c: 2}
in a: 0, **rest
rest
in a: 0, **rest
rest
end
RUBY
end
@ -678,40 +678,40 @@ ruby_version_is "2.7" do
it "supports a: which means a: a" do
eval(<<~RUBY).should == [0, 1]
case {a: 0, b: 1}
in Hash(a:, b:)
[a, b]
in Hash(a:, b:)
[a, b]
end
RUBY
a = b = nil
eval(<<~RUBY).should == [0, 1]
case {a: 0, b: 1}
in Hash[a:, b:]
[a, b]
in Hash[a:, b:]
[a, b]
end
RUBY
a = b = nil
eval(<<~RUBY).should == [0, 1]
case {a: 0, b: 1}
in {a:, b:}
[a, b]
in {a:, b:}
[a, b]
end
RUBY
a = nil
eval(<<~RUBY).should == [0, {b: 1, c: 2}]
case {a: 0, b: 1, c: 2}
in {a:, **rest}
[a, rest]
in {a:, **rest}
[a, rest]
end
RUBY
a = b = nil
eval(<<~RUBY).should == [0, 1]
case {a: 0, b: 1}
in a:, b:
[a, b]
in a:, b:
[a, b]
end
RUBY
end
@ -719,8 +719,8 @@ ruby_version_is "2.7" do
it "can mix key (a:) and key-value (a: b) declarations" do
eval(<<~RUBY).should == [0, 1]
case {a: 0, b: 1}
in Hash(a:, b: x)
[a, x]
in Hash(a:, b: x)
[a, x]
end
RUBY
end
@ -728,8 +728,8 @@ ruby_version_is "2.7" do
it "supports 'string': key literal" do
eval(<<~RUBY).should == true
case {a: 0}
in {"a": 0}
true
in {"a": 0}
true
end
RUBY
end
@ -738,7 +738,7 @@ ruby_version_is "2.7" do
-> {
eval <<~RUBY
case {a: 1}
in {"a" => 1}
in {"a" => 1}
end
RUBY
}.should raise_error(SyntaxError, /unexpected/)
@ -750,7 +750,7 @@ ruby_version_is "2.7" do
-> {
eval <<~'RUBY'
case {a: 1}
in {"#{x}": 1}
in {"#{x}": 1}
end
RUBY
}.should raise_error(SyntaxError, /symbol literal with interpolation is not allowed/)
@ -760,7 +760,7 @@ ruby_version_is "2.7" do
-> {
eval <<~RUBY
case {a: 1}
in {a: 1, b: 2, a: 3}
in {a: 1, b: 2, a: 3}
end
RUBY
}.should raise_error(SyntaxError, /duplicated key name/)
@ -772,8 +772,8 @@ ruby_version_is "2.7" do
eval(<<~RUBY).should == true
case obj
in {a: 1}
true
in {a: 1}
true
end
RUBY
end
@ -781,8 +781,8 @@ ruby_version_is "2.7" do
it "does not match object if Constant === object returns false" do
eval(<<~RUBY).should == false
case {a: 1}
in String[a: 1]
true
in String[a: 1]
true
else
false
end
@ -794,8 +794,8 @@ ruby_version_is "2.7" do
eval(<<~RUBY).should == false
case obj
in Object[a: 1]
true
in Object[a: 1]
true
else
false
end
@ -809,7 +809,7 @@ ruby_version_is "2.7" do
-> {
eval <<~RUBY
case obj
in Object[a: 1]
in Object[a: 1]
end
RUBY
}.should raise_error(TypeError, /deconstruct_keys must return Hash/)
@ -821,8 +821,8 @@ ruby_version_is "2.7" do
eval(<<~RUBY).should == false
case obj
in Object[a: 1]
true
in Object[a: 1]
true
else
false
end
@ -835,8 +835,8 @@ ruby_version_is "2.7" do
eval(<<~RUBY).should == false
case obj
in Object[a: 2]
true
in Object[a: 2]
true
else
false
end
@ -853,7 +853,7 @@ ruby_version_is "2.7" do
eval <<~RUBY
case obj
in Object[a: 1, b: 2, c: 3]
in Object[a: 1, b: 2, c: 3]
end
RUBY
@ -870,7 +870,7 @@ ruby_version_is "2.7" do
eval <<~RUBY
case obj
in Object[a: 1, b: 2, **]
in Object[a: 1, b: 2, **]
end
RUBY
@ -887,7 +887,7 @@ ruby_version_is "2.7" do
eval <<~RUBY
case obj
in Object[a: 1, **rest]
in Object[a: 1, **rest]
end
RUBY
@ -897,8 +897,8 @@ ruby_version_is "2.7" do
it "binds variables" do
eval(<<~RUBY).should == [0, 1, 2]
case {a: 0, b: 1, c: 2}
in {a: x, b: y, c: z}
[x, y, z]
in {a: x, b: y, c: z}
[x, y, z]
end
RUBY
end
@ -906,8 +906,8 @@ ruby_version_is "2.7" do
it "supports double splat operator **rest" do
eval(<<~RUBY).should == {b: 1, c: 2}
case {a: 0, b: 1, c: 2}
in {a: 0, **rest}
rest
in {a: 0, **rest}
rest
end
RUBY
end
@ -915,15 +915,15 @@ ruby_version_is "2.7" do
it "treats **nil like there should not be any other keys in a matched Hash" do
eval(<<~RUBY).should == true
case {a: 1, b: 2}
in {a: 1, b: 2, **nil}
true
in {a: 1, b: 2, **nil}
true
end
RUBY
eval(<<~RUBY).should == false
case {a: 1, b: 2}
in {a: 1, **nil}
true
in {a: 1, **nil}
true
else
false
end
@ -933,8 +933,8 @@ ruby_version_is "2.7" do
it "can match partially" do
eval(<<~RUBY).should == true
case {a: 1, b: 2}
in {a: 1}
true
in {a: 1}
true
end
RUBY
end
@ -942,8 +942,8 @@ ruby_version_is "2.7" do
it "matches {} with {}" do
eval(<<~RUBY).should == true
case {}
in {}
true
in {}
true
end
RUBY
end
@ -951,8 +951,8 @@ ruby_version_is "2.7" do
it "matches anything with **" do
eval(<<~RUBY).should == true
case {a: 1}
in **;
true
in **;
true
end
RUBY
end
@ -974,8 +974,8 @@ ruby_version_is "2.7" do
result = eval(<<~RUBY)
case []
in [0]
true
in [0]
true
end
RUBY
end
@ -998,8 +998,8 @@ ruby_version_is "2.7" do
result = eval(<<~RUBY)
case {}
in a: 0
true
in a: 0
true
end
RUBY
end
@ -1022,8 +1022,8 @@ ruby_version_is "2.7" do
result = eval(<<~RUBY)
case {}
in Array
true
in Array
true
end
RUBY
end