]> git.openstreetmap.org Git - rails.git/blob - test/lib/utf8_test.rb
Merge remote-tracking branch 'upstream/pull/4234'
[rails.git] / test / lib / utf8_test.rb
1 require "test_helper"
2
3 class UTF8Test < ActiveSupport::TestCase
4   def test_valid?
5     assert UTF8.valid?("test")
6     assert UTF8.valid?("vergrößern")
7     assert UTF8.valid?("ルシステムにも対応します")
8     assert UTF8.valid?("輕觸搖晃的遊戲")
9
10     assert_not UTF8.valid?("\xC0")         # always invalid utf8
11     assert_not UTF8.valid?("\xC2\x4a")     # 2-byte multibyte identifier, followed by plain ASCII
12     assert_not UTF8.valid?("\xC2\xC2")     # 2-byte multibyte identifier, followed by another one
13     assert_not UTF8.valid?("\x4a\x82")     # plain ASCII, followed by multibyte continuation
14     assert_not UTF8.valid?("\x82\x82")     # multibyte continuations without multibyte identifier
15     assert_not UTF8.valid?("\xe1\x82\x4a") # three-byte identifier, continuation and (incorrectly) plain ASCII
16   end
17 end