1# frozen_string_literal: false 2require "test/unit" 3 4class TestKOI8 < Test::Unit::TestCase 5 ASSERTS = %q( 6 (0xc0..0xdf).each do |c| 7 c1 = c.chr("ENCODING") 8 c2 = (c + 0x20).chr("ENCODING") 9 assert_match(/^(#{ c1 })\1$/i, c2 + c1) 10 assert_match(/^(#{ c2 })\1$/i, c1 + c2) 11 assert_match(/^[#{ c1 }]+$/i, c2 + c1) 12 assert_match(/^[#{ c2 }]+$/i, c1 + c2) 13 end 14 ) 15 16 def test_koi8_r 17 eval("# encoding: koi8-r\n" + ASSERTS.gsub("ENCODING", "koi8-r")) 18 end 19 20 def test_koi8_u 21 eval("# encoding: koi8-u\n" + ASSERTS.gsub("ENCODING", "koi8-u")) 22 end 23end 24