aboutsummaryrefslogtreecommitdiffstats
path: root/test/ruby/enc/test_case_mapping.rb
blob: d42b6b1cb6068c71b9f6efe8f6252cdc71859f68 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Copyright © 2016 Kimihito Matsui (松井 仁人) and Martin J. Dürst (duerst@it.aoyama.ac.jp)

require "test/unit"

# preliminary tests, using :lithuanian as a guard
# to test new implementation strategy
class TestCaseMappingPreliminary < Test::Unit::TestCase
  def test_case_mapping_preliminary
    assert_equal 'yukihiro matsumoto (matz)',
                 'Yukihiro MATSUMOTO (MATZ)'.downcase(:lithuanian)
    assert_equal 'matsumoto yukTURKISH*ıhTURKISH*ıro (matz)',
                 'MATSUMOTO YUKIHIRO (MATZ)'.downcase(:turkic, :lithuanian)
  end

  def test_buffer_allocations
    assert_equal 'TURKISH*ı'*10, ('I'*10).downcase(:turkic, :lithuanian)
    assert_equal 'TURKISH*ı'*100, ('I'*100).downcase(:turkic, :lithuanian)
    assert_equal 'TURKISH*ı'*1_000, ('I'*1_000).downcase(:turkic, :lithuanian)
    assert_equal 'TURKISH*ı'*10_000, ('I'*10_000).downcase(:turkic, :lithuanian)
    assert_equal 'TURKISH*ı'*100_000, ('I'*100_000).downcase(:turkic, :lithuanian)
    assert_equal 'TURKISH*ı'*1_000_000, ('I'*1_000_000).downcase(:turkic, :lithuanian)
  end
end