zendesk_apps_support 1.5.0 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -21,12 +21,11 @@ en:
21
21
  other: ! 'Missing required oauth fields in manifest: %{missing_keys}'
22
22
  missing_source: Could not find app.js
23
23
  style_in_template: <style> tag in %{template}. Use an app.css file instead.
24
- invalid_default_locale: ! '%{defaultLocale} is not a valid default locale.
25
- Only two- and three-letter ISO 639 language codes are allowed.'
24
+ invalid_default_locale: ! '%{defaultLocale} is not a valid default locale.'
26
25
  missing_translation_file: ! 'Missing translation file for locale ''%{defaultLocale}''.
27
26
  Please read: http://developer.zendesk.com/documentation/apps/i18n.html'
28
27
  invalid_location:
29
- one: ! '%{invalid_locations} in an invalid location.'
28
+ one: ! '%{invalid_locations} is an invalid location.'
30
29
  other: ! '%{invalid_locations} are invalid locations.'
31
30
  invalid_hidden_parameter:
32
31
  one: ! '%{invalid_params} is set to hidden and cannot be required.'
@@ -36,8 +35,7 @@ en:
36
35
  parameters_not_an_array: App parameters must be an array.
37
36
  duplicate_parameters: ! 'Duplicate app parameters defined: %{duplicate_parameters}'
38
37
  translation:
39
- invalid_locale: ! '%{file} is not a valid locale. Only two- and three-letter
40
- ISO 639 language codes are allowed.'
38
+ invalid_locale: ! '%{file} is not a valid locale.'
41
39
  not_json: ! '%{file} is not valid JSON. %{errors}'
42
40
  not_json_object: ! '%{file} is not a JSON object.'
43
41
  stylesheet_error: ! 'Sass error: %{sass_error}'
@@ -50,7 +50,7 @@ parts:
50
50
  - translation:
51
51
  key: "txt.apps.admin.error.app_build.invalid_default_locale"
52
52
  title: "App builder job: invalid default locale"
53
- value: "%{defaultLocale} is not a valid default locale. Only two- and three-letter ISO 639 language codes are allowed."
53
+ value: "%{defaultLocale} is not a valid default locale."
54
54
  - translation:
55
55
  key: "txt.apps.admin.error.app_build.missing_translation_file"
56
56
  title: "App builder job: missing translation file"
@@ -58,7 +58,7 @@ parts:
58
58
  - translation:
59
59
  key: "txt.apps.admin.error.app_build.invalid_location.one"
60
60
  title: "App builder job: invalid locations"
61
- value: "%{invalid_locations} in an invalid location."
61
+ value: "%{invalid_locations} is an invalid location."
62
62
  - translation:
63
63
  key: "txt.apps.admin.error.app_build.invalid_location.other"
64
64
  title: "App builder job: invalid locations"
@@ -90,7 +90,7 @@ parts:
90
90
  - translation:
91
91
  key: "txt.apps.admin.error.app_build.translation.invalid_locale"
92
92
  title: "App builder job: invalid locale file name"
93
- value: "%{file} is not a valid locale. Only two- and three-letter ISO 639 language codes are allowed."
93
+ value: "%{file} is not a valid locale."
94
94
  - translation:
95
95
  key: "txt.apps.admin.error.app_build.translation.not_json"
96
96
  title: "App builder job: translation file is invalid json"
@@ -1,21 +1,3 @@
1
- header {
2
- border-bottom: 1px dotted #CCC; margin-bottom: 12px;
3
-
4
- h3 { line-height: 30px; }
5
- hr { margin-top: 0; }
6
-
7
- .logo {
8
- background: transparent app-asset-url("logo-small.png") no-repeat;
9
- background-size: 25px 25px; float: right; height: 25px; width: 25px;
10
- }
11
-
12
- .app-warning-icon {
13
- cursor: pointer;
14
- float: right;
15
- margin-left: 2px;
16
- padding: 5px;
17
- }
1
+ header .logo {
2
+ background-image: app-asset-url("logo-small.png");
18
3
  }
19
-
20
- h3 { font-size: 14px; }
21
- footer { background: none; border: 0 }
@@ -74,7 +74,7 @@ module ZendeskAppsSupport
74
74
  def default_locale_error(manifest, package)
75
75
  default_locale = manifest['defaultLocale']
76
76
  if !default_locale.nil?
77
- if default_locale !~ /^[a-z]{2,3}$/
77
+ if default_locale !~ Translations::VALID_LOCALE
78
78
  ValidationError.new(:invalid_default_locale, :defaultLocale => default_locale)
79
79
  elsif package.translation_files.detect { |file| file.relative_path == "translations/#{default_locale}.json" }.nil?
80
80
  ValidationError.new(:missing_translation_file, :defaultLocale => default_locale)
@@ -3,11 +3,10 @@ require 'jshintrb'
3
3
  module ZendeskAppsSupport
4
4
  module Validations
5
5
  module Translations
6
- class << self
7
-
8
- TRANSLATIONS_PATH = %r{^translations/(.*)\.json$}
9
- VALID_LOCALE = /^[a-z]{2,3}$/
6
+ TRANSLATIONS_PATH = %r{^translations/(.*)\.json$}
7
+ VALID_LOCALE = /^[a-z]{2}(-\w{2,3})?$/
10
8
 
9
+ class << self
11
10
  def call(package)
12
11
  package.files.inject([]) do |errors, file|
13
12
  if path_match = TRANSLATIONS_PATH.match(file.relative_path)
@@ -16,7 +16,7 @@ describe 'translations' do
16
16
  project_root = Pathname.new(File.expand_path('../../', __FILE__))
17
17
  zendesk_version = project_root.join('config/locales/translations/zendesk_apps_support.yml')
18
18
  standard_version = project_root.join('config/locales/en.yml')
19
- File.mtime(standard_version).should be >= File.mtime(zendesk_version)
19
+ File.mtime(zendesk_version).should be <= File.mtime(standard_version)
20
20
  end
21
21
 
22
22
  end
@@ -68,7 +68,7 @@ describe ZendeskAppsSupport::Package do
68
68
  email: "john@example.com"
69
69
  },
70
70
  translations: {"app":{\"name\":\"Buddha Machine\"}},
71
- templates: {"layout":"<style>\\n.app-0 header {\\n border-bottom: 1px dotted #CCC;\\n margin-bottom: 12px; }\\n .app-0 header h3 {\\n line-height: 30px; }\\n .app-0 header hr {\\n margin-top: 0; }\\n .app-0 header .logo {\\n background: transparent url(\\"http://localhost:4567/logo-small.png\\") no-repeat;\\n background-size: 25px 25px;\\n float: right;\\n height: 25px;\\n width: 25px; }\\n .app-0 header .app-warning-icon {\\n cursor: pointer;\\n float: right;\\n margin-left: 2px;\\n padding: 5px; }\\n.app-0 h3 {\\n font-size: 14px; }\\n.app-0 footer {\\n background: none;\\n border: 0; }\\n.app-0 h1 {\\n color: red; }\\n .app-0 h1 span {\\n color: green; }\\n</style>\\n<header>\\n <span class=\\"logo\\"/>\\n <h3>{{setting \\"name\\"}}</h3>\\n</header>\\n<section data-main/>\\n<footer>\\n <a href=\\"mailto:{{author.email}}\\">\\n {{author.name}}\\n </a>\\n</footer>\\n</div>"},
71
+ templates: {"layout":"<style>\\n.app-0 header .logo {\\n background-image: url(\\"http://localhost:4567/logo-small.png\\"); }\\n.app-0 h1 {\\n color: red; }\\n .app-0 h1 span {\\n color: green; }\\n</style>\\n<header>\\n <span class=\\"logo\\"/>\\n <h3>{{setting \\"name\\"}}</h3>\\n</header>\\n<section data-main/>\\n<footer>\\n <a href=\\"mailto:{{author.email}}\\">\\n {{author.name}}\\n </a>\\n</footer>\\n</div>"},
72
72
  frameworkVersion: "0.5"
73
73
  });
74
74
 
@@ -35,7 +35,7 @@ describe ZendeskAppsSupport::Validations::Manifest do
35
35
  end
36
36
 
37
37
  it 'should have an error when the defaultLocale is invalid' do
38
- manifest = { 'defaultLocale' => 'pt-BR' }
38
+ manifest = { 'defaultLocale' => 'pt-BR-1' }
39
39
  manifest_file = mock('AppFile', :relative_path => 'manifest.json', :read => JSON.dump(manifest))
40
40
  package = mock('Package', :files => [manifest_file])
41
41
  errors = ZendeskAppsSupport::Validations::Manifest.call(package)
@@ -37,7 +37,7 @@ describe ZendeskAppsSupport::Validations::Translations do
37
37
 
38
38
  context 'when there is a file with an invalid locale for a name' do
39
39
  let(:translation_files) do
40
- [ mock('AppFile', :relative_path => 'translations/en-US.json', :read => '{}') ]
40
+ [ mock('AppFile', :relative_path => 'translations/en-US-1.json', :read => '{}') ]
41
41
  end
42
42
 
43
43
  it 'should report the error' do
@@ -48,7 +48,7 @@ describe ZendeskAppsSupport::Validations::Translations do
48
48
 
49
49
  context 'when there is a file with a valid locale containing valid JSON' do
50
50
  let(:translation_files) do
51
- [ mock('AppFile', :relative_path => 'translations/en.json', :read => '{}') ]
51
+ [ mock('AppFile', :relative_path => 'translations/en-US.json', :read => '{}') ]
52
52
  end
53
53
 
54
54
  it 'should be valid' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zendesk_apps_support
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0
4
+ version: 1.6.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2013-10-02 00:00:00.000000000 Z
15
+ date: 2013-10-18 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: i18n