summaryrefslogtreecommitdiff
path: root/test/rdoc/test_rdoc_encoding.rb
diff options
context:
space:
mode:
authorhsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-03-26 05:56:26 +0000
committerhsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-03-26 05:56:26 +0000
commit98c7058bf7b3eab91c62a77cb10b09f6c8ed368e (patch)
treea90e594c950a1e3160a69f90a9e6215242937ef7 /test/rdoc/test_rdoc_encoding.rb
parentee83dc3fe49ac23321a055a2a4b337499d2494eb (diff)
Merge RDoc 6.0.3 from upstream.
It fixed the several bugs that was found after RDoc 6 releasing. From: SHIBATA Hiroshi <hsbt@ruby-lang.org> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62924 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rdoc/test_rdoc_encoding.rb')
-rw-r--r--test/rdoc/test_rdoc_encoding.rb96
1 files changed, 23 insertions, 73 deletions
diff --git a/test/rdoc/test_rdoc_encoding.rb b/test/rdoc/test_rdoc_encoding.rb
index 9d9ded4bbd..5b2de47aa2 100644
--- a/test/rdoc/test_rdoc_encoding.rb
+++ b/test/rdoc/test_rdoc_encoding.rb
@@ -1,7 +1,7 @@
# coding: US-ASCII
# frozen_string_literal: true
-require 'rdoc/test_case'
+require 'minitest_helper'
class TestRDocEncoding < RDoc::TestCase
@@ -31,7 +31,7 @@ class TestRDocEncoding < RDoc::TestCase
@tempfile.flush
contents = RDoc::Encoding.read_file @tempfile.path, Encoding::UTF_8
- assert_equal "hi everybody", contents
+ assert_equal "# coding: utf-8\nhi everybody", contents
assert_equal Encoding::UTF_8, contents.encoding
end
@@ -45,7 +45,7 @@ class TestRDocEncoding < RDoc::TestCase
contents = RDoc::Encoding.read_file @tempfile.path, Encoding::UTF_8
assert_equal Encoding::UTF_8, contents.encoding
- assert_equal "hi \u00e9verybody", contents.sub("\r", '')
+ assert_equal "# coding: ISO-8859-1\nhi \u00e9verybody", contents.sub("\r", '')
end
def test_class_read_file_encoding_fail
@@ -65,13 +65,13 @@ class TestRDocEncoding < RDoc::TestCase
def test_class_read_file_encoding_fancy
expected = "# -*- coding: utf-8; fill-column: 74 -*-\nhi everybody"
- exptected = RDoc::Encoding.change_encoding expected, Encoding::UTF_8
+ expected = RDoc::Encoding.change_encoding expected, Encoding::UTF_8
@tempfile.write expected
@tempfile.flush
contents = RDoc::Encoding.read_file @tempfile.path, Encoding::UTF_8
- assert_equal "hi everybody", contents
+ assert_equal "# -*- coding: utf-8; fill-column: 74 -*-\nhi everybody", contents
assert_equal Encoding::UTF_8, contents.encoding
end
@@ -81,7 +81,7 @@ class TestRDocEncoding < RDoc::TestCase
contents = RDoc::Encoding.read_file @tempfile.path, Encoding::US_ASCII, true
- assert_equal '?', contents
+ assert_equal "# coding: utf-8\n?", contents
assert_equal Encoding::US_ASCII, contents.encoding
end
@@ -124,108 +124,58 @@ class TestRDocEncoding < RDoc::TestCase
contents = RDoc::Encoding.read_file @tempfile.path, Encoding::UTF_8
- expected = ":\xe3\x82\xb3\xe3\x83\x9e\xe3\x83\xb3\xe3\x83\x89:"
+ expected = "# coding: ISO-2022-JP\n:\xe3\x82\xb3\xe3\x83\x9e\xe3\x83\xb3\xe3\x83\x89:"
expected = RDoc::Encoding.change_encoding expected, Encoding::UTF_8
assert_equal expected, contents
assert_equal Encoding::UTF_8, contents.encoding
end
- def test_class_set_encoding
+ def test_class_detect_encoding
s = "# coding: UTF-8\n"
- s = RDoc::Encoding.set_encoding s
+ encoding = RDoc::Encoding.detect_encoding s
# sanity check for 1.8
- assert_equal Encoding::UTF_8, s.encoding
+ assert_equal Encoding::UTF_8, encoding
s = "#!/bin/ruby\n# coding: UTF-8\n"
- s = RDoc::Encoding.set_encoding s
+ encoding = RDoc::Encoding.detect_encoding s
- assert_equal Encoding::UTF_8, s.encoding
+ assert_equal Encoding::UTF_8, encoding
s = "<?xml version='1.0' encoding='UTF-8'?>\n"
- s = RDoc::Encoding.set_encoding s
+ encoding = RDoc::Encoding.detect_encoding s
- assert_equal Encoding::UTF_8, s.encoding
+ assert_equal Encoding::UTF_8, encoding
s = "<?xml version='1.0' encoding=\"UTF-8\"?>\n"
- s = RDoc::Encoding.set_encoding s
-
- assert_equal Encoding::UTF_8, s.encoding
- end
-
- def test_class_set_encoding_strip
- s = "# coding: UTF-8\n# more comments"
-
- s = RDoc::Encoding.set_encoding s
-
- assert_equal "# more comments", s
-
- s = "#!/bin/ruby\n# coding: UTF-8\n# more comments"
-
- s = RDoc::Encoding.set_encoding s
+ encoding = RDoc::Encoding.detect_encoding s
- assert_equal "#!/bin/ruby\n# more comments", s
+ assert_equal Encoding::UTF_8, encoding
end
def test_class_set_encoding_bad
s = ""
- expected = s.encoding
- s = RDoc::Encoding.set_encoding s
+ encoding = RDoc::Encoding.detect_encoding s
- assert_equal expected, s.encoding
+ assert_nil encoding
s = "# vim:set fileencoding=utf-8:\n"
- expected = s.encoding
- s = RDoc::Encoding.set_encoding s
+ encoding = RDoc::Encoding.detect_encoding s
- assert_equal expected, s.encoding
+ assert_nil encoding
s = "# vim:set fileencoding=utf-8:\n"
- expected = s.encoding
- s = RDoc::Encoding.set_encoding s
+ encoding = RDoc::Encoding.detect_encoding s
- assert_equal expected, s.encoding
+ assert_nil encoding
assert_raises ArgumentError do
- s = RDoc::Encoding.set_encoding "# -*- encoding: undecided -*-\n"
+ s = RDoc::Encoding.detect_encoding "# -*- encoding: undecided -*-\n"
end
end
- def test_skip_frozen_string_literal
- expected = "# frozen_string_literal: true\nhi everybody"
-
- @tempfile.write expected
- @tempfile.flush
-
- contents = RDoc::Encoding.read_file @tempfile.path, Encoding::UTF_8
- assert_equal "hi everybody", contents
- assert_equal Encoding::UTF_8, contents.encoding
- end
-
- def test_skip_frozen_string_literal_after_coding
- expected = "# coding: utf-8\n# frozen-string-literal: false\nhi everybody"
-
- @tempfile.write expected
- @tempfile.flush
-
- contents = RDoc::Encoding.read_file @tempfile.path, Encoding::UTF_8
- assert_equal "hi everybody", contents
- assert_equal Encoding::UTF_8, contents.encoding
- end
-
- def test_skip_frozen_string_literal_before_coding
- expected = "# frozen_string_literal: true\n# coding: utf-8\nhi everybody"
-
- @tempfile.write expected
- @tempfile.flush
-
- contents = RDoc::Encoding.read_file @tempfile.path, Encoding::UTF_8
- assert_equal "hi everybody", contents
- assert_equal Encoding::UTF_8, contents.encoding
- end
-
def test_sanity
assert_equal Encoding::US_ASCII, ''.encoding,
'If this file is not ASCII tests may incorrectly pass'