Merge pull request #812 from pmcmaw/Update_localization_tests
authorEimhin Laverty <eimlav@users.noreply.github.com>
Fri, 5 Oct 2018 15:26:15 +0000 (16:26 +0100)
committerGitHub <noreply@github.com>
Fri, 5 Oct 2018 15:26:15 +0000 (16:26 +0100)
(maint) - Updating loc tests to include Japanese translations

spec/acceptance/locales_spec.rb

index eaf214d20f5fa706840cdefd710f35f33a54af01..ed25a8623de8089071b524334888f0524349a8da 100644 (file)
@@ -4,33 +4,37 @@ require 'beaker/i18n_helper'
 PUPPETLABS_GPG_KEY_LONG_ID     = '7F438280EF8D349F'.freeze
 PUPPETLABS_LONG_FINGERPRINT    = '123456781274D2C8A956789A456789A456789A9A'.freeze
 
-id_short_warning_pp = <<-MANIFEST
-        apt_key { 'puppetlabs':
-          id     => '#{PUPPETLABS_GPG_KEY_LONG_ID}',
-          ensure => 'present',
-          source => 'http://apt.puppetlabs.com/herpderp.gpg',
-        }
-  MANIFEST
-
 id_doesnt_match_fingerprint_pp = <<-MANIFEST
-        apt_key { '#{PUPPETLABS_LONG_FINGERPRINT}':
-          ensure => 'present',
-          content => '123456781274D2C8A956789A456789A456789A9B',
-        }
-  MANIFEST
+  apt_key { '#{PUPPETLABS_LONG_FINGERPRINT}':
+    ensure => 'present',
+    content => '123456781274D2C8A956789A456789A456789A9B',
+  }
+MANIFEST
 
 location_not_specified_fail_pp = <<-MANIFEST
-        apt::source { 'puppetlabs':
-          ensure => 'present',
-          repos    => 'main',
-          key      => {
-            id     => '6F6B15509CF8E59E6E469F327F438280EF8D349F',
-            server => 'hkps.pool.sks-keyservers.net',
-          },
-        }
-  MANIFEST
+  apt::source { 'puppetlabs':
+    ensure => 'present',
+    repos    => 'main',
+    key      => {
+      id     => '6F6B15509CF8E59E6E469F327F438280EF8D349F',
+      server => 'hkps.pool.sks-keyservers.net',
+    },
+  }
+MANIFEST
+
+no_content_param = <<-MANIFEST
+  apt_conf {
+    ensure => 'present',
+  }
+MANIFEST
+
+invalid_ensure = <<-MANIFEST
+  apt_key { '#{PUPPETLABS_LONG_FINGERPRINT}':
+    ensure => 'bourbon',
+  }
+MANIFEST
 
-describe 'apt', if: (fact('osfamily') == 'Debian' || fact('osfamily') == 'RedHat') && (Gem::Version.new(puppet_version) >= Gem::Version.new('4.10.5')) do
+describe 'localization', if: (fact('osfamily') == 'Debian' || fact('osfamily') == 'RedHat') && (Gem::Version.new(puppet_version) >= Gem::Version.new('4.10.5')) do
   before :all do
     hosts.each do |host|
       on(host, "sed -i \"96i FastGettext.locale='ja'\" /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb")
@@ -38,20 +42,28 @@ describe 'apt', if: (fact('osfamily') == 'Debian' || fact('osfamily') == 'RedHat
     end
   end
 
-  describe 'i18n translations' do
-    it 'warns with shortened id' do
-      apply_manifest(id_short_warning_pp, catch_failures: true) do |r|
-        expect(r.stderr).to match(%r{Ŧħḗ īḓ şħǿŭŀḓ ƀḗ ȧ ƒŭŀŀ ƒīƞɠḗřƥřīƞŧ})
-      end
-    end
-    it 'fails with different id and fingerprint' do
+  describe 'ruby translations' do
+    it 'fails with interpolated string' do
       apply_manifest(id_doesnt_match_fingerprint_pp, expect_failures: true) do |r|
-        expect(r.stderr).to match(%r{Ŧħḗ īḓ īƞ ẏǿŭř ḿȧƞīƒḗşŧ 123456781274D2C8A956789A456789A456789A9A})
+        expect(r.stderr).to match(%r{を設定できませんでした: マニフェスト123456781274D2C8A956789A456789A456789A9Aに含まれるidと、content/sourceのフィンガープリントが一致しません。idに間違いがないか、content/sourceが正当であるかを確認してください})
       end
     end
-    it 'fails with no location' do
+    it 'fails with simple string' do
       apply_manifest(location_not_specified_fail_pp, expect_failures: true) do |r|
-        expect(r.stderr).to match(%r{ƈȧƞƞǿŧ ƈřḗȧŧḗ ȧ şǿŭřƈḗ ḗƞŧřẏ ẇīŧħǿŭŧ şƥḗƈīƒẏīƞɠ ȧ ŀǿƈȧŧīǿƞ})
+        expect(r.stderr).to match(%r{の検証中にエラーが生じました。Evaluation Error: a Function Callの検証中にエラーが生じました。場所を指定せずにソースエントリを作成することはできません})
+      end
+    end
+  end
+
+  describe 'puppet translations' do
+    it 'fails with interpolated string' do
+      apply_manifest(invalid_ensure, expect_failures: true) do |r|
+        expect(r.stderr).to match(%r{失敗しました: 無効な値\"bourbon\" 有効な値は})
+      end
+    end
+    it 'fails with simple string' do
+      apply_manifest(no_content_param, expect_failures: true) do |r|
+        expect(r.stderr).to match(%r{この表現は無効です。タイトルなしの'apt_conf'リソースの宣言を試みましたか?})
       end
     end
   end