@@ -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,29 +790,23 @@ 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 )
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| }" )
802800 end
803801
804802 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| }" )
809805 end
810806
811807 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| }" )
816810 end
817811
818812 it "need not be preceded by standard parameters" do
@@ -821,8 +815,8 @@ def obj.to_ary; raise "Exception raised in #to_ary" end
821815 end
822816
823817 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| }" )
826820 end
827821
828822 it "override shadowed variables from the outer scope" do
@@ -963,9 +957,7 @@ def obj.to_ary; raise "Exception raised in #to_ary" end
963957 ruby_version_is "" ..."3.4" do
964958 it "raises a SyntaxError if using the argument in its default value" do
965959 a = 1
966- -> {
967- eval "proc { |a=a| a }"
968- } . should raise_error ( SyntaxError )
960+ expect_syntax_error "proc { |a=a| a }"
969961 end
970962 end
971963
@@ -1011,7 +1003,7 @@ def c(&); yield :non_null end
10111003 end
10121004
10131005 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" )
10151007 end
10161008
10171009 it "works when it's the only declared parameter" do
0 commit comments