summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-08-16 02:52:09 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-08-16 02:52:09 +0000
commitf230b1ec985696164b208e4e42687e572b82e5c1 (patch)
tree373866fef962763e3d735c8f4591ad1fef946cd1
parent5225cc16feaad1dced9a3056160f01c13f51abb6 (diff)
test_printf.rb: need to be infected
* test/-ext-/test_printf.rb (Test_SPrintf#test_{taint,untrust}): use plain object so that the results of to_s and inspect are infected. [ruby-dev:46053] [Bug #6881] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36712 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog6
-rw-r--r--test/-ext-/test_printf.rb18
2 files changed, 13 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog
index 12a57ac20a9..986c5e21515 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Thu Aug 16 11:52:06 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * test/-ext-/test_printf.rb (Test_SPrintf#test_{taint,untrust}): use
+ plain object so that the results of to_s and inspect are infected.
+ [ruby-dev:46053] [Bug #6881]
+
Thu Aug 16 09:46:07 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* strftime.c: remove unnecessary macros to check traditional C.
diff --git a/test/-ext-/test_printf.rb b/test/-ext-/test_printf.rb
index 4c4001654ad..4b471ab5d9b 100644
--- a/test/-ext-/test_printf.rb
+++ b/test/-ext-/test_printf.rb
@@ -30,24 +30,20 @@ class Test_SPrintf < Test::Unit::TestCase
end
def test_taint
- def self.to_s
- super.taint
- end
+ obj = Object.new.taint
assert_equal({to_s: true, inspect: true},
{
- to_s: Bug::Printf.s(self).tainted?,
- inspect: Bug::Printf.v(self).tainted?,
+ to_s: Bug::Printf.s(obj).tainted?,
+ inspect: Bug::Printf.v(obj).tainted?,
})
end
- def test_trust
- def self.to_s
- super.untrust
- end
+ def test_untrust
+ obj = Object.new.untrust
assert_equal({to_s: true, inspect: true},
{
- to_s: Bug::Printf.s(self).untrusted?,
- inspect: Bug::Printf.v(self).untrusted?,
+ to_s: Bug::Printf.s(obj).untrusted?,
+ inspect: Bug::Printf.v(obj).untrusted?,
})
end
end