From 98c7058bf7b3eab91c62a77cb10b09f6c8ed368e Mon Sep 17 00:00:00 2001 From: hsbt Date: Mon, 26 Mar 2018 05:56:26 +0000 Subject: Merge RDoc 6.0.3 from upstream. It fixed the several bugs that was found after RDoc 6 releasing. From: SHIBATA Hiroshi git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62924 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/rdoc/test_rdoc_encoding.rb | 96 ++++++++++------------------------------- 1 file changed, 23 insertions(+), 73 deletions(-) (limited to 'test/rdoc/test_rdoc_encoding.rb') 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 = "\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 = "\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' -- cgit v1.2.3