aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortenderlove <tenderlove@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-10-22 21:06:25 +0000
committertenderlove <tenderlove@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-10-22 21:06:25 +0000
commitc05952c6a1687cac0526b0324b3659032aa7664a (patch)
treefc39be4fb56718022de4723b00fad13f2d649ad2
parent1c5ae4b31d364dd9af8c7e4b1499c48f08e55cf2 (diff)
downloadruby-c05952c6a1687cac0526b0324b3659032aa7664a.tar.gz
* ext/psych/lib/psych/scalar_scanner.rb: Fix scalar_scanner to
understand strings starting with an underscore and containing only digits. Thanks Kelley Reynolds. * test/psych/test_scalar_scanner.rb: test for fix git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37287 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog8
-rw-r--r--ext/psych/lib/psych/scalar_scanner.rb2
-rw-r--r--test/psych/test_scalar_scanner.rb4
3 files changed, 13 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index eb8ef2d64f..421178595c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Tue Oct 23 06:04:07 2012 Aaron Patterson <aaron@tenderlovemaking.com>
+
+ * ext/psych/lib/psych/scalar_scanner.rb: Fix scalar_scanner to
+ understand strings starting with an underscore and containing only
+ digits. Thanks Kelley Reynolds.
+
+ * test/psych/test_scalar_scanner.rb: test for fix
+
Tue Oct 23 06:00:41 2012 Aaron Patterson <aaron@tenderlovemaking.com>
* ext/psych/lib/psych.rb: Changed comment in psych.rb to update new
diff --git a/ext/psych/lib/psych/scalar_scanner.rb b/ext/psych/lib/psych/scalar_scanner.rb
index fa2d385a63..8727adecb4 100644
--- a/ext/psych/lib/psych/scalar_scanner.rb
+++ b/ext/psych/lib/psych/scalar_scanner.rb
@@ -24,7 +24,7 @@ module Psych
return string if @string_cache.key?(string)
case string
- when /^[A-Za-z~]/
+ when /^[A-Za-z_~]/
if string.length > 5
@string_cache[string] = true
return string
diff --git a/test/psych/test_scalar_scanner.rb b/test/psych/test_scalar_scanner.rb
index cf0dfff6aa..1397020c88 100644
--- a/test/psych/test_scalar_scanner.rb
+++ b/test/psych/test_scalar_scanner.rb
@@ -87,5 +87,9 @@ module Psych
def test_scan_true
assert_equal true, ss.tokenize('true')
end
+
+ def test_scan_strings_starting_with_underscores
+ assert_equal "_100", ss.tokenize('_100')
+ end
end
end