[439] | 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
|
---|