summaryrefslogtreecommitdiff
path: root/test/ruby
diff options
context:
space:
mode:
Diffstat (limited to 'test/ruby')
-rw-r--r--test/ruby/test_literal.rb28
1 files changed, 26 insertions, 2 deletions
diff --git a/test/ruby/test_literal.rb b/test/ruby/test_literal.rb
index 0d65ebac2c..e523f11cd7 100644
--- a/test/ruby/test_literal.rb
+++ b/test/ruby/test_literal.rb
@@ -123,14 +123,38 @@ class TestRubyLiteral < Test::Unit::TestCase
def test_frozen_string
all_assertions do |a|
- a.for("false") do
+ a.for("false with indicator") do
str = eval("# -*- frozen-string-literal: false -*-\n""'foo'")
assert_not_predicate(str, :frozen?)
end
- a.for("true") do
+ a.for("true with indicator") do
str = eval("# -*- frozen-string-literal: true -*-\n""'foo'")
assert_predicate(str, :frozen?)
end
+ a.for("false without indicator") do
+ str = eval("# frozen-string-literal: false\n""'foo'")
+ assert_not_predicate(str, :frozen?)
+ end
+ a.for("true without indicator") do
+ str = eval("# frozen-string-literal: true\n""'foo'")
+ assert_predicate(str, :frozen?)
+ end
+ a.for("false with preceding garbage") do
+ str = eval("# x frozen-string-literal: false\n""'foo'")
+ assert_not_predicate(str, :frozen?)
+ end
+ a.for("true with preceding garbage") do
+ str = eval("# x frozen-string-literal: true\n""'foo'")
+ assert_not_predicate(str, :frozen?)
+ end
+ a.for("false with succeeding garbage") do
+ str = eval("# frozen-string-literal: false x\n""'foo'")
+ assert_not_predicate(str, :frozen?)
+ end
+ a.for("true with succeeding garbage") do
+ str = eval("# frozen-string-literal: true x\n""'foo'")
+ assert_not_predicate(str, :frozen?)
+ end
end
end