File: test_taglist.rb

package info (click to toggle)
ruby-locale 2.1.0-3
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 444 kB
  • ctags: 293
  • sloc: ruby: 3,203; makefile: 4
file content (61 lines) | stat: -rw-r--r-- 1,913 bytes parent folder | download | duplicates (4)
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# encoding: UTF-8

require 'locale/tag'
require 'locale/taglist'
require 'test/unit'

class TestTagList < Test::Unit::TestCase
  def test_taglist_posix
    list = Locale::TagList.new([Locale::Tag.parse("ja_JP.eucJP@mobile"), 
				Locale::Tag.parse("en_US.iso8859-1")])

    assert_equal "ja", list.language
    assert_equal "JP", list.region
    assert_equal "eucJP", list.charset
    assert_equal "mobile", list.modifier
    assert_equal "ja_JP.eucJP@mobile", list.to_s
    assert_equal Locale::Tag::Common.parse("ja_JP_mobile"), list.to_common
    assert_equal Locale::Tag::Rfc.parse("ja-JP-mobile"), list.to_rfc
    assert_equal Locale::Tag::Cldr.parse("ja_JP_mobile"), list.to_cldr
    assert_equal Locale::Tag::Posix.parse("ja_JP.eucJP@mobile"), list.to_posix
    assert_equal Locale::Tag::Posix.parse("en_US.iso8859-1"), list[1]
  end

  def test_taglist_rfc
    list = Locale::TagList.new([Locale::Tag.parse("ja-Hira-JP-MOBILE-y-aaa-x-bbb"), 
				Locale::Tag.parse("en-US-mobile")])
    assert_equal "ja", list.language
    assert_equal "Hira", list.script
    assert_equal "JP", list.region
    assert_equal ["MOBILE"], list.variants
    assert_equal ["y-aaa"], list.extensions
    assert_equal "x-bbb", list.privateuse
  end

  class TestCharset < self
    def setup
      ENV["LC_ALL"] = nil
      ENV["LC_CTYPE"] = nil
      ENV["LANG"] = nil
      ENV["LANGUAGE"] = nil
    end

    def test_empty
      list = Locale::TagList.new
      ENV["LC_ALL"] = "en_US.UTF-8"
      assert_equal("UTF-8", list.charset)
    end

    def test_have_charset_tag
      list = Locale::TagList.new([Locale::Tag.parse("en_US.ISO-8859-1")])
      ENV["LC_ALL"] = "en_US.UTF-8"
      assert_equal("ISO-8859-1", list.charset)
    end

    def test_no_charset_tag
      list = Locale::TagList.new([Locale::Tag.parse("en_US")])
      ENV["LC_ALL"] = "en_US.UTF-8"
      assert_equal("UTF-8", list.charset)
    end
  end
end