Imported Upstream version 1.46.0
[platform/upstream/nghttp2.git] / third-party / mruby / mrbgems / mruby-string-ext / test / numeric.rb
1 # coding: utf-8
2
3 assert('Integer#chr') do
4   assert_equal("A", 65.chr)
5   assert_equal("B", 0x42.chr)
6   assert_equal("\xab", 171.chr)
7   assert_raise(RangeError) { -1.chr }
8   assert_raise(RangeError) { 256.chr }
9
10   assert_equal("A", 65.chr("ASCII-8BIT"))
11   assert_equal("B", 0x42.chr("BINARY"))
12   assert_equal("\xab", 171.chr("ascii-8bit"))
13   assert_raise(RangeError) { -1.chr("binary") }
14   assert_raise(RangeError) { 256.chr("Ascii-8bit") }
15   assert_raise(ArgumentError) { 65.chr("ASCII") }
16   assert_raise(ArgumentError) { 65.chr("ASCII-8BIT", 2) }
17   assert_raise(TypeError) { 65.chr(:BINARY) }
18
19   if __ENCODING__ == "ASCII-8BIT"
20     assert_raise(ArgumentError) { 65.chr("UTF-8") }
21   else
22     assert_equal("A", 65.chr("UTF-8"))
23     assert_equal("B", 0x42.chr("UTF-8"))
24     assert_equal("«", 171.chr("utf-8"))
25     assert_equal("あ", 12354.chr("Utf-8"))
26     assert_raise(RangeError) { -1.chr("utf-8") }
27     assert_raise(RangeError) { 0x110000.chr.chr("UTF-8") }
28   end
29 end