aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--test/ruby/test_symbol.rb18
2 files changed, 15 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 7a081b9182..3129252d8c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Tue Aug 2 11:42:15 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * parse.y (rb_enc_symname2_p): :! is valid symbol. [Bug #5136]
+
Tue Aug 2 07:33:29 2011 URABE Shyouhei <shyouhei@ruby-lang.org>
* test/net/http/test_http.rb (TestNetHTTP_version_1_1_methods#test_timeout_during_HTTP_session):
diff --git a/test/ruby/test_symbol.rb b/test/ruby/test_symbol.rb
index 35cbb85bf5..8501fd1c34 100644
--- a/test/ruby/test_symbol.rb
+++ b/test/ruby/test_symbol.rb
@@ -3,21 +3,25 @@ require 'test/unit'
class TestSymbol < Test::Unit::TestCase
# [ruby-core:3573]
- def assert_eval_inspected(sym)
+ def assert_eval_inspected(sym, valid = true)
n = sym.inspect
+ if valid
+ bug5136 = '[ruby-dev:44314]'
+ assert_not_match(/\A:"/, n, bug5136)
+ end
assert_nothing_raised(SyntaxError) {assert_equal(sym, eval(n))}
end
def test_inspect_invalid
# 2) Symbol#inspect sometimes returns invalid symbol representations:
assert_eval_inspected(:"!")
- assert_eval_inspected(:"=")
- assert_eval_inspected(:"0")
+ assert_eval_inspected(:"=", false)
+ assert_eval_inspected(:"0", false)
assert_eval_inspected(:"$1")
- assert_eval_inspected(:"@1")
- assert_eval_inspected(:"@@1")
- assert_eval_inspected(:"@")
- assert_eval_inspected(:"@@")
+ assert_eval_inspected(:"@1", false)
+ assert_eval_inspected(:"@@1", false)
+ assert_eval_inspected(:"@", false)
+ assert_eval_inspected(:"@@", false)
end
def assert_inspect_evaled(n)