File: numeric.rb

package info (click to toggle)
nghttp2 1.68.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 15,592 kB
  • sloc: ansic: 104,233; cpp: 55,792; ruby: 30,108; yacc: 7,083; sh: 4,643; makefile: 1,506; python: 806
file content (27 lines) | stat: -rw-r--r-- 953 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
assert('Integer#chr') do
  assert_equal("A", 65.chr)
  assert_equal("B", 0x42.chr)
  assert_equal("\xab", 171.chr)
  assert_raise(RangeError) { -1.chr }
  assert_raise(RangeError) { 256.chr }

  assert_equal("A", 65.chr("ASCII-8BIT"))
  assert_equal("B", 0x42.chr("BINARY"))
  assert_equal("\xab", 171.chr("ascii-8bit"))
  assert_raise(RangeError) { -1.chr("binary") }
  assert_raise(RangeError) { 256.chr("Ascii-8bit") }
  assert_raise(ArgumentError) { 65.chr("ASCII") }
  assert_raise(ArgumentError) { 65.chr("ASCII-8BIT", 2) }
  assert_raise(TypeError) { 65.chr(:BINARY) }

  if __ENCODING__ == "ASCII-8BIT"
    assert_raise(ArgumentError) { 65.chr("UTF-8") }
  else
    assert_equal("A", 65.chr("UTF-8"))
    assert_equal("B", 0x42.chr("UTF-8"))
    assert_equal("«", 171.chr("utf-8"))
    assert_equal("あ", 12354.chr("Utf-8"))
    assert_raise(RangeError) { -1.chr("utf-8") }
    assert_raise(RangeError) { 0x110000.chr.chr("UTF-8") }
  end
end