@@ -731,9 +731,9 @@ def obj.to_ary; raise "Exception raised in #to_ary" end
731731
732732 describe "taking identically-named arguments" do
733733 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| }" )
737737 end
738738
739739 it "accepts unnamed arguments" do
@@ -790,26 +790,26 @@ def obj.to_ary; raise "Exception raised in #to_ary" end
790790 end
791791
792792 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| }" )
795795 end
796796
797797 it "can not be prefixed with an asterisk" do
798- -> { eval "[1].each {|foo; *bar| }" } . should raise_error ( SyntaxError )
798+ expect_syntax_error ( "[1].each {|foo; *bar| }" )
799799 -> do
800800 eval "[1].each {|foo, bar; glark, *fnord| }"
801801 end . should raise_error ( SyntaxError )
802802 end
803803
804804 it "can not be prefixed with an ampersand" do
805- -> { eval "[1].each {|foo; &bar| }" } . should raise_error ( SyntaxError )
805+ expect_syntax_error ( "[1].each {|foo; &bar| }" )
806806 -> do
807807 eval "[1].each {|foo, bar; glark, &fnord| }"
808808 end . should raise_error ( SyntaxError )
809809 end
810810
811811 it "can not be assigned default values" do
812- -> { eval "[1].each {|foo; bar=1| }" } . should raise_error ( SyntaxError )
812+ expect_syntax_error ( "[1].each {|foo; bar=1| }" )
813813 -> do
814814 eval "[1].each {|foo, bar; glark, fnord=:fnord| }"
815815 end . should raise_error ( SyntaxError )
@@ -821,8 +821,8 @@ def obj.to_ary; raise "Exception raised in #to_ary" end
821821 end
822822
823823 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 )
824+ expect_syntax_error ( "[1].each {|foo; bar; glark| }" )
825+ expect_syntax_error ( "[1].each {|; bar; glark| }" )
826826 end
827827
828828 it "override shadowed variables from the outer scope" do
@@ -963,9 +963,7 @@ def obj.to_ary; raise "Exception raised in #to_ary" end
963963 ruby_version_is "" ..."3.4" do
964964 it "raises a SyntaxError if using the argument in its default value" do
965965 a = 1
966- -> {
967- eval "proc { |a=a| a }"
968- } . should raise_error ( SyntaxError )
966+ expect_syntax_error "proc { |a=a| a }"
969967 end
970968 end
971969
@@ -1011,7 +1009,7 @@ def c(&); yield :non_null end
10111009 end
10121010
10131011 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 )
1012+ expect_syntax_error ( "def a; b(&); end; def b; end" )
10151013 end
10161014
10171015 it "works when it's the only declared parameter" do
0 commit comments