mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	* test/ruby/enc: moved tests for particular encodings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18095 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
		
							parent
							
								
									47e3f4e1ae
								
							
						
					
					
						commit
						c60b57ade0
					
				
					 12 changed files with 0 additions and 0 deletions
				
			
		
							
								
								
									
										163
									
								
								test/ruby/enc/test_iso_8859.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										163
									
								
								test/ruby/enc/test_iso_8859.rb
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,163 @@
 | 
			
		|||
require 'test/unit'
 | 
			
		||||
 | 
			
		||||
class TestISO8859 < Test::Unit::TestCase
 | 
			
		||||
  ASSERTS = %q(
 | 
			
		||||
    assert_match(/^(\xdf)\1$/i, "\xdf\xdf")
 | 
			
		||||
    assert_match(/^(\xdf)\1$/i, "ssss")
 | 
			
		||||
    # assert_match(/^(\xdf)\1$/i, "\xdfss") # this must be bug...
 | 
			
		||||
    assert_match(/^[\xdfz]+$/i, "sszzsszz")
 | 
			
		||||
    assert_match(/^SS$/i, "\xdf")
 | 
			
		||||
    assert_match(/^Ss$/i, "\xdf")
 | 
			
		||||
    ((0xc0..0xde).to_a - [0xd7]).each do |c|
 | 
			
		||||
      c1 = c.chr("ENCODING")
 | 
			
		||||
      c2 = (c + 0x20).chr("ENCODING")
 | 
			
		||||
      assert_match(/^(#{ c1 })\1$/i, c2 + c1)
 | 
			
		||||
      assert_match(/^(#{ c2 })\1$/i, c1 + c2)
 | 
			
		||||
      assert_match(/^[#{ c1 }]+$/i, c2 + c1)
 | 
			
		||||
      assert_match(/^[#{ c2 }]+$/i, c1 + c2)
 | 
			
		||||
    end
 | 
			
		||||
    assert_match(/^\xff$/i, "\xff")
 | 
			
		||||
  )
 | 
			
		||||
 | 
			
		||||
  def test_iso_8859_1
 | 
			
		||||
    eval("# encoding: iso8859-1\n" + ASSERTS.gsub(/ENCODING/m, "iso8859-1"))
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_iso_8859_2
 | 
			
		||||
    eval("# encoding: iso8859-2\n" + ASSERTS.gsub(/ENCODING/m, "iso8859-2"))
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_iso_8859_3
 | 
			
		||||
    eval(%q(# encoding: iso8859-3
 | 
			
		||||
      assert_match(/^(\xdf)\1$/i, "\xdf\xdf")
 | 
			
		||||
      assert_match(/^(\xdf)\1$/i, "ssss")
 | 
			
		||||
      assert_match(/^[\xdfz]+$/i, "sszzsszz")
 | 
			
		||||
      assert_match(/^SS$/i, "\xdf")
 | 
			
		||||
      assert_match(/^Ss$/i, "\xdf")
 | 
			
		||||
      [0xa1, 0xa6, *(0xa9..0xac), 0xaf].each do |c|
 | 
			
		||||
        c1 = c.chr("iso8859-3")
 | 
			
		||||
        c2 = (c + 0x10).chr("iso8859-3")
 | 
			
		||||
        assert_match(/^(#{ c1 })\1$/i, c2 + c1)
 | 
			
		||||
        assert_match(/^(#{ c2 })\1$/i, c1 + c2)
 | 
			
		||||
        assert_match(/^[#{ c1 }]+$/i, c2 + c1)
 | 
			
		||||
        assert_match(/^[#{ c2 }]+$/i, c1 + c2)
 | 
			
		||||
      end
 | 
			
		||||
      ([*(0xc0..0xde)] - [0xc3, 0xd0, 0xd7]).each do |c|
 | 
			
		||||
        c1 = c.chr("iso8859-3")
 | 
			
		||||
        c2 = (c + 0x20).chr("iso8859-3")
 | 
			
		||||
        assert_match(/^(#{ c1 })\1$/i, c2 + c1)
 | 
			
		||||
        assert_match(/^(#{ c2 })\1$/i, c1 + c2)
 | 
			
		||||
        assert_match(/^[#{ c1 }]+$/i, c2 + c1)
 | 
			
		||||
        assert_match(/^[#{ c2 }]+$/i, c1 + c2)
 | 
			
		||||
      end
 | 
			
		||||
    ))
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_iso_8859_4
 | 
			
		||||
    eval("# encoding: iso8859-4\n" + ASSERTS.gsub(/ENCODING/m, "iso8859-4"))
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_iso_8859_5
 | 
			
		||||
    eval(%q(# encoding: iso8859-5
 | 
			
		||||
      (0xb0..0xcf).each do |c|
 | 
			
		||||
        c1 = c.chr("iso8859-5")
 | 
			
		||||
        c2 = (c + 0x20).chr("iso8859-5")
 | 
			
		||||
        assert_match(/^(#{ c1 })\1$/i, c2 + c1)
 | 
			
		||||
        assert_match(/^(#{ c2 })\1$/i, c1 + c2)
 | 
			
		||||
        assert_match(/^[#{ c1 }]+$/i, c2 + c1)
 | 
			
		||||
        assert_match(/^[#{ c2 }]+$/i, c1 + c2)
 | 
			
		||||
      end
 | 
			
		||||
      ((0xa1..0xaf).to_a - [0xad]).each do |c|
 | 
			
		||||
        c1 = c.chr("iso8859-5")
 | 
			
		||||
        c2 = (c + 0x50).chr("iso8859-5")
 | 
			
		||||
        assert_match(/^(#{ c1 })\1$/i, c2 + c1)
 | 
			
		||||
        assert_match(/^(#{ c2 })\1$/i, c1 + c2)
 | 
			
		||||
        assert_match(/^[#{ c1 }]+$/i, c2 + c1)
 | 
			
		||||
        assert_match(/^[#{ c2 }]+$/i, c1 + c2)
 | 
			
		||||
      end
 | 
			
		||||
    ))
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_iso_8859_6
 | 
			
		||||
    eval(%q(# encoding: iso8859-6
 | 
			
		||||
      [0xa4, 0xac, 0xbb, 0xbf, *(0xc1..0xda), *(0xe0..0xf2)].each do |c|
 | 
			
		||||
        c1 = c.chr("iso8859-6")
 | 
			
		||||
        assert_match(/^(#{ c1 })\1$/i, c1 * 2)
 | 
			
		||||
      end
 | 
			
		||||
    ))
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_iso_8859_7
 | 
			
		||||
    eval(%q(# encoding: iso8859-7
 | 
			
		||||
      ((0xa0..0xfe).to_a - [0xae, 0xd2]).each do |c|
 | 
			
		||||
        c1 = c.chr("iso8859-7")
 | 
			
		||||
        assert_match(/^(#{ c1 })\1$/i, c1 * 2)
 | 
			
		||||
      end
 | 
			
		||||
      ((0xc1..0xd9).to_a - [0xd2]).each do |c|
 | 
			
		||||
        c1 = c.chr("iso8859-7")
 | 
			
		||||
        c2 = (c + 0x20).chr("iso8859-7")
 | 
			
		||||
        assert_match(/^(#{ c1 })\1$/i, c2 + c1)
 | 
			
		||||
        assert_match(/^(#{ c2 })\1$/i, c1 + c2)
 | 
			
		||||
        assert_match(/^[#{ c1 }]+$/i, c2 + c1)
 | 
			
		||||
        assert_match(/^[#{ c2 }]+$/i, c1 + c2)
 | 
			
		||||
      end
 | 
			
		||||
    ))
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_iso_8859_8
 | 
			
		||||
    eval(%q(# encoding: iso8859-8
 | 
			
		||||
      [0xa0, *(0xa2..0xbe), *(0xdf..0xfa), 0xfc, 0xfd].each do |c|
 | 
			
		||||
        c1 = c.chr("iso8859-8")
 | 
			
		||||
        assert_match(/^(#{ c1 })\1$/i, c1 * 2)
 | 
			
		||||
      end
 | 
			
		||||
    ))
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_iso_8859_9
 | 
			
		||||
    eval(%q(# encoding: iso8859-9
 | 
			
		||||
      assert_match(/^(\xdf)\1$/i, "\xdf\xdf")
 | 
			
		||||
      assert_match(/^(\xdf)\1$/i, "ssss")
 | 
			
		||||
      assert_match(/^[\xdfz]+$/i, "sszzsszz")
 | 
			
		||||
      assert_match(/^SS$/i, "\xdf")
 | 
			
		||||
      assert_match(/^Ss$/i, "\xdf")
 | 
			
		||||
      ([*(0xc0..0xdc)] - [0xd7]).each do |c|
 | 
			
		||||
        c1 = c.chr("iso8859-9")
 | 
			
		||||
        c2 = (c + 0x20).chr("iso8859-9")
 | 
			
		||||
        assert_match(/^(#{ c1 })\1$/i, c2 + c1)
 | 
			
		||||
        assert_match(/^(#{ c2 })\1$/i, c1 + c2)
 | 
			
		||||
        assert_match(/^[#{ c1 }]+$/i, c2 + c1)
 | 
			
		||||
        assert_match(/^[#{ c2 }]+$/i, c1 + c2)
 | 
			
		||||
      end
 | 
			
		||||
    ))
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_iso_8859_10
 | 
			
		||||
    eval("# encoding: iso8859-10\n" + ASSERTS.gsub(/ENCODING/m, "iso8859-10"))
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_iso_8859_11
 | 
			
		||||
    eval(%q(# encoding: iso8859-11
 | 
			
		||||
      [*(0xa0..0xda), *(0xdf..0xfb)].each do |c|
 | 
			
		||||
        c1 = c.chr("iso8859-11")
 | 
			
		||||
        assert_match(/^(#{ c1 })\1$/i, c1 * 2)
 | 
			
		||||
      end
 | 
			
		||||
    ))
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_iso_8859_13
 | 
			
		||||
    eval("# encoding: iso8859-13\n" + ASSERTS.gsub(/ENCODING/m, "iso8859-13"))
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_iso_8859_14
 | 
			
		||||
    eval("# encoding: iso8859-14\n" + ASSERTS.gsub(/ENCODING/m, "iso8859-14"))
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_iso_8859_15
 | 
			
		||||
    eval("# encoding: iso8859-15\n" + ASSERTS.gsub(/ENCODING/m, "iso8859-15"))
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_iso_8859_16
 | 
			
		||||
    eval("# encoding: iso8859-16\n" + ASSERTS.gsub(/ENCODING/m, "iso8859-16"))
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue