Sha256: 7f6ead45e78c241a79ed3b433115736df1d8be5b190bbb4c44043ea47051b892

Contents?: true

Size: 1.55 KB

Versions: 7

Compression:

Stored size: 1.55 KB

Contents

require 'test_helper'

module Wovnrb
  class LangTest < WovnMiniTest
    def test_langs_exist
      refute_nil(Wovnrb::Lang::LANG)
    end

    def test_langs_length
      assert_equal(77, Wovnrb::Lang::LANG.length)
    end

    def test_keys_exist
      Wovnrb::Lang::LANG.each do |k, l|
        assert(l.key?(:name))
        assert(l.key?(:code))
        assert(l.key?(:en))
        assert_equal(k, l[:code])
      end
    end

    def test_iso_639_1_normalization
      Wovnrb::Lang::LANG.each do |_, l|
        case l[:code]
        when 'zh-CHS'
          assert_equal('zh-Hans',  Lang.iso_639_1_normalization('zh-CHS'))
        when 'zh-CHT'
          assert_equal('zh-Hant',  Lang.iso_639_1_normalization('zh-CHT'))
        else
          assert_equal(l[:code], Lang.iso_639_1_normalization(l[:code]))
        end
      end
    end

    def test_get_code_with_valid_code
      assert_equal('ms', Wovnrb::Lang.get_code('ms'))
    end

    def test_get_code_with_capital_letters
      assert_equal('zh-CHT', Wovnrb::Lang.get_code('zh-cht'))
    end

    def test_get_code_with_valid_english_name
      assert_equal('pt', Wovnrb::Lang.get_code('Portuguese'))
    end

    def test_get_code_with_valid_native_name
      assert_equal('hi', Wovnrb::Lang.get_code('हिन्दी'))
    end

    def test_get_code_with_invalid_name
      assert_nil(Wovnrb::Lang.get_code('WOVN4LYFE'))
    end

    def test_get_code_with_empty_string
      assert_nil(Wovnrb::Lang.get_code(''))
    end

    def test_get_code_with_nil
      assert_nil(Wovnrb::Lang.get_code(nil))
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
wovnrb-3.10.2 test/lib/lang_test.rb
wovnrb-3.10.1 test/lib/lang_test.rb
wovnrb-3.10.0 test/lib/lang_test.rb
wovnrb-3.9.0 test/lib/lang_test.rb
wovnrb-3.8.0 test/lib/lang_test.rb
wovnrb-3.7.2 test/lib/lang_test.rb
wovnrb-3.7.1 test/lib/lang_test.rb