Sha256: 1de7a3158a377b4352ad26810f9a4f09270dcec38e44eb083d1e36f898ef891f

Contents?: true

Size: 1.72 KB

Versions: 28

Compression:

Stored size: 1.72 KB

Contents

require 'helper'
require 'pathname'

class TestUnf < Test::Unit::TestCase
  test "raise ArgumentError if an unknown normalization form is given" do
    normalizer = UNF::Normalizer.new
    assert_raises(ArgumentError) { normalizer.normalize("が", :nfck) }
  end

  test "pass all tests bundled with the original unf" do
    normalizer = UNF::Normalizer.new
    open(Pathname(__FILE__).dirname + 'normalization-test.txt', 'r:utf-8').each_slice(6) { |lines|
      flunk "broken test file" if lines.size != 6 || lines.pop !~ /^$/
      str, nfc, nfd, nfkc, nfkd = lines
      assert_equal nfd,  normalizer.normalize(str,  :nfd)
      assert_equal nfd,  normalizer.normalize(nfd,  :nfd)
      assert_equal nfd,  normalizer.normalize(nfc,  :nfd)
      assert_equal nfkd, normalizer.normalize(nfkc, :nfd)
      assert_equal nfkd, normalizer.normalize(nfkc, :nfd)

      assert_equal nfc,  normalizer.normalize(str,  :nfc)
      assert_equal nfc,  normalizer.normalize(nfd,  :nfc)
      assert_equal nfc,  normalizer.normalize(nfc,  :nfc)
      assert_equal nfkc, normalizer.normalize(nfkc, :nfc)
      assert_equal nfkc, normalizer.normalize(nfkd, :nfc)

      assert_equal nfkd, normalizer.normalize(str,  :nfkd)
      assert_equal nfkd, normalizer.normalize(nfd,  :nfkd)
      assert_equal nfkd, normalizer.normalize(nfc,  :nfkd)
      assert_equal nfkd, normalizer.normalize(nfkc, :nfkd)
      assert_equal nfkd, normalizer.normalize(nfkd, :nfkd)

      assert_equal nfkc, normalizer.normalize(str,  :nfkc)
      assert_equal nfkc, normalizer.normalize(nfd,  :nfkc)
      assert_equal nfkc, normalizer.normalize(nfc,  :nfkc)
      assert_equal nfkc, normalizer.normalize(nfkc, :nfkc)
      assert_equal nfkc, normalizer.normalize(nfkd, :nfkc)
    }
  end
end

Version data entries

28 entries across 28 versions & 2 rubygems

Version Path
direct7-0.0.18 vendor/bundle/ruby/2.7.0/gems/unf_ext-0.0.8.2/test/test_unf_ext.rb
direct7-0.0.17 vendor/bundle/ruby/2.7.0/gems/unf_ext-0.0.8.2/test/test_unf_ext.rb
direct7-0.0.16 vendor/bundle/ruby/2.7.0/gems/unf_ext-0.0.8.2/test/test_unf_ext.rb
direct7-0.0.13 vendor/bundle/ruby/2.7.0/gems/unf_ext-0.0.8.2/test/test_unf_ext.rb
direct7-0.0.12 vendor/bundle/ruby/2.7.0/gems/unf_ext-0.0.8.2/test/test_unf_ext.rb
direct7-0.0.11 vendor/bundle/ruby/2.7.0/gems/unf_ext-0.0.8.2/test/test_unf_ext.rb
unf_ext-0.0.9.1-x86-mingw32 test/test_unf_ext.rb
unf_ext-0.0.9.1-x64-mingw32 test/test_unf_ext.rb
unf_ext-0.0.9.1-x64-mingw-ucrt test/test_unf_ext.rb
unf_ext-0.0.9.1 test/test_unf_ext.rb
unf_ext-0.0.9-x86-mingw32 test/test_unf_ext.rb
unf_ext-0.0.9-x64-mingw32 test/test_unf_ext.rb
unf_ext-0.0.9-x64-mingw-ucrt test/test_unf_ext.rb
unf_ext-0.0.9 test/test_unf_ext.rb
unf_ext-0.0.8.2-x86-mingw32 test/test_unf_ext.rb
unf_ext-0.0.8.2-x64-mingw32 test/test_unf_ext.rb
unf_ext-0.0.8.2-x64-mingw-ucrt test/test_unf_ext.rb
unf_ext-0.0.8.2 test/test_unf_ext.rb
unf_ext-0.0.8.2.beta-x86-mingw32 test/test_unf_ext.rb
unf_ext-0.0.8.2.beta-x64-mingw32 test/test_unf_ext.rb