From 9f56a870af1c88430a053b4e50ba39c244a4bd57 Mon Sep 17 00:00:00 2001 From: akr Date: Sun, 4 Jul 2010 13:50:34 +0000 Subject: [PATCH] * test/ruby/test_syntax.rb: split test_syntax from test_system.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ test/ruby/test_syntax.rb | 22 ++++++++++++++++++++++ test/ruby/test_system.rb | 19 ------------------- 3 files changed, 26 insertions(+), 19 deletions(-) create mode 100644 test/ruby/test_syntax.rb diff --git a/ChangeLog b/ChangeLog index 73edc61f2e..099fca345b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Sun Jul 4 22:49:54 2010 Tanaka Akira + + * test/ruby/test_syntax.rb: split test_syntax from test_system.rb. + Sun Jul 4 22:02:02 2010 Tanaka Akira * test/ruby/test_system.rb (test_syntax): unified with test_syntax2. diff --git a/test/ruby/test_syntax.rb b/test/ruby/test_syntax.rb new file mode 100644 index 0000000000..e25ad75f7a --- /dev/null +++ b/test/ruby/test_syntax.rb @@ -0,0 +1,22 @@ +require 'test/unit' + +class TestSyntax < Test::Unit::TestCase + def valid_syntax?(code, fname) + code = code.dup.force_encoding("ascii-8bit") + code.sub!(/\A(?:\xef\xbb\xbf)?(\s*\#.*$)*(\n)?/n) { + "#$&#{"\n" if $1 && !$2}BEGIN{throw tag, :ok}\n" + } + code.force_encoding("us-ascii") + catch {|tag| eval(code, binding, fname, 0)} + rescue SyntaxError + false + end + + def test_syntax + assert_nothing_raised(Exception) do + for script in Dir[File.expand_path("../../../{lib,sample,ext,test}/**/*.rb", __FILE__)].sort + assert(valid_syntax?(IO::read(script), script)) + end + end + end +end diff --git a/test/ruby/test_system.rb b/test/ruby/test_system.rb index 24b6a0d235..358fa54ef8 100644 --- a/test/ruby/test_system.rb +++ b/test/ruby/test_system.rb @@ -3,17 +3,6 @@ require 'tmpdir' require_relative 'envutil' class TestSystem < Test::Unit::TestCase - def valid_syntax?(code, fname) - code = code.dup.force_encoding("ascii-8bit") - code.sub!(/\A(?:\xef\xbb\xbf)?(\s*\#.*$)*(\n)?/n) { - "#$&#{"\n" if $1 && !$2}BEGIN{throw tag, :ok}\n" - } - code.force_encoding("us-ascii") - catch {|tag| eval(code, binding, fname, 0)} - rescue SyntaxError - false - end - def test_system ruby = EnvUtil.rubybin assert_equal("foobar\n", `echo foobar`) @@ -99,14 +88,6 @@ class TestSystem < Test::Unit::TestCase } end - def test_syntax - assert_nothing_raised(Exception) do - for script in Dir[File.expand_path("../../../{lib,sample,ext,test}/**/*.rb", __FILE__)].sort - assert(valid_syntax?(IO::read(script), script)) - end - end - end - def test_empty_evstr assert_equal("", eval('"#{}"', nil, __FILE__, __LINE__), "[ruby-dev:25113]") end