@@ -731,9 +731,9 @@ def obj.to_ary; raise "Exception raised in #to_ary" end
731
731
732
732
describe "taking identically-named arguments" do
733
733
it "raises a SyntaxError for standard arguments" do
734
- -> { eval "lambda { |x,x| }" } . should raise_error ( SyntaxError )
735
- -> { eval "->(x,x) {}" } . should raise_error ( SyntaxError )
736
- -> { eval "Proc.new { |x,x| }" } . should raise_error ( SyntaxError )
734
+ expect_syntax_error ( "lambda { |x,x| }" )
735
+ expect_syntax_error ( "->(x,x) {}" )
736
+ expect_syntax_error ( "Proc.new { |x,x| }" )
737
737
end
738
738
739
739
it "accepts unnamed arguments" do
@@ -790,29 +790,23 @@ def obj.to_ary; raise "Exception raised in #to_ary" end
790
790
end
791
791
792
792
it "can not have the same name as one of the standard parameters" do
793
- -> { eval "[1].each {|foo; foo| }" } . should raise_error ( SyntaxError )
794
- -> { eval "[1].each {|foo, bar; glark, bar| }" } . should raise_error ( SyntaxError )
793
+ expect_syntax_error ( "[1].each {|foo; foo| }" )
794
+ expect_syntax_error ( "[1].each {|foo, bar; glark, bar| }" )
795
795
end
796
796
797
797
it "can not be prefixed with an asterisk" do
798
- -> { eval "[1].each {|foo; *bar| }" } . should raise_error ( SyntaxError )
799
- -> do
800
- eval "[1].each {|foo, bar; glark, *fnord| }"
801
- end . should raise_error ( SyntaxError )
798
+ expect_syntax_error ( "[1].each {|foo; *bar| }" )
799
+ expect_syntax_error ( "[1].each {|foo, bar; glark, *fnord| }" )
802
800
end
803
801
804
802
it "can not be prefixed with an ampersand" do
805
- -> { eval "[1].each {|foo; &bar| }" } . should raise_error ( SyntaxError )
806
- -> do
807
- eval "[1].each {|foo, bar; glark, &fnord| }"
808
- end . should raise_error ( SyntaxError )
803
+ expect_syntax_error ( "[1].each {|foo; &bar| }" )
804
+ expect_syntax_error ( "[1].each {|foo, bar; glark, &fnord| }" )
809
805
end
810
806
811
807
it "can not be assigned default values" do
812
- -> { eval "[1].each {|foo; bar=1| }" } . should raise_error ( SyntaxError )
813
- -> do
814
- eval "[1].each {|foo, bar; glark, fnord=:fnord| }"
815
- end . should raise_error ( SyntaxError )
808
+ expect_syntax_error ( "[1].each {|foo; bar=1| }" )
809
+ expect_syntax_error ( "[1].each {|foo, bar; glark, fnord=:fnord| }" )
816
810
end
817
811
818
812
it "need not be preceded by standard parameters" do
@@ -821,8 +815,8 @@ def obj.to_ary; raise "Exception raised in #to_ary" end
821
815
end
822
816
823
817
it "only allow a single semi-colon in the parameter list" do
824
- -> { eval "[1].each {|foo; bar; glark| }" } . should raise_error ( SyntaxError )
825
- -> { eval "[1].each {|; bar; glark| }" } . should raise_error ( SyntaxError )
818
+ expect_syntax_error ( "[1].each {|foo; bar; glark| }" )
819
+ expect_syntax_error ( "[1].each {|; bar; glark| }" )
826
820
end
827
821
828
822
it "override shadowed variables from the outer scope" do
@@ -963,9 +957,7 @@ def obj.to_ary; raise "Exception raised in #to_ary" end
963
957
ruby_version_is "" ..."3.4" do
964
958
it "raises a SyntaxError if using the argument in its default value" do
965
959
a = 1
966
- -> {
967
- eval "proc { |a=a| a }"
968
- } . should raise_error ( SyntaxError )
960
+ expect_syntax_error "proc { |a=a| a }"
969
961
end
970
962
end
971
963
@@ -1011,7 +1003,7 @@ def c(&); yield :non_null end
1011
1003
end
1012
1004
1013
1005
it "requires the anonymous block parameter to be declared if directly passing a block" do
1014
- -> { eval "def a; b(&); end; def b; end" } . should raise_error ( SyntaxError )
1006
+ expect_syntax_error ( "def a; b(&); end; def b; end" )
1015
1007
end
1016
1008
1017
1009
it "works when it's the only declared parameter" do
0 commit comments