Skip to content

Commit 6a883ad

Browse files
committed
Split specs in 2 files + use described_class
1 parent 0bcd961 commit 6a883ad

File tree

3 files changed

+30
-27
lines changed

3 files changed

+30
-27
lines changed

.rubocop_todo.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,8 @@ RSpec/FilePath:
142142
- 'spec/ios_merge_translators_strings_spec.rb'
143143
- 'spec/release_notes_helper_spec.rb'
144144
- 'spec/check_localization_progress_spec.rb'
145+
- 'spec/locale_spec.rb'
146+
- 'spec/locales_spec.rb'
145147

146148
# Offense count: 8
147149
# Cop supports --auto-correct.

spec/locale_spec.rb

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
require 'spec_helper'
2+
3+
describe Fastlane::Locale do
4+
it 'returns a single Locale if one was found' do
5+
locale = described_class['fr']
6+
expect(locale).to be_instance_of(described_class)
7+
expect(locale.glotpress).to eq('fr')
8+
end
9+
10+
it 'raises if no locale was found for a given code' do
11+
expect do
12+
described_class['invalidcode']
13+
end.to raise_error(RuntimeError, "Unknown locale for glotpress code 'invalidcode'")
14+
end
15+
16+
it 'can convert a Locale to a hash' do
17+
h = described_class['fr'].to_h
18+
expect(h).to eq({ glotpress: 'fr', android: 'fr', google_play: 'fr-FR', ios: nil, app_store: nil })
19+
end
20+
end

spec/locales_spec.rb

Lines changed: 8 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,18 @@
11
require 'spec_helper'
22

3-
describe Fastlane::Locale do
4-
it 'returns a single Locale if one was found' do
5-
locale = Fastlane::Locale['fr']
6-
expect(locale).to be_instance_of(Fastlane::Locale)
7-
expect(locale.glotpress).to eq('fr')
8-
end
9-
10-
it 'raises if no locale was found for a given code' do
11-
expect do
12-
Fastlane::Locale['invalidcode']
13-
end.to raise_error(RuntimeError, "Unknown locale for glotpress code 'invalidcode'")
14-
end
15-
end
16-
173
describe Fastlane::Locales do
184
shared_examples 'from_xxx' do |key, fr_code, pt_code|
195
let(:method_sym) { "from_#{key}".to_sym }
206
it 'can find a locale from a single code' do
21-
fr_locale = Fastlane::Locales.send(method_sym, fr_code)
7+
fr_locale = described_class.send(method_sym, fr_code)
228
expect(fr_locale).to be_instance_of(Fastlane::Locale)
239
expect(fr_locale.glotpress).to eq('fr')
2410
expect(fr_locale.android).to eq('fr')
2511
expect(fr_locale.google_play).to eq('fr-FR')
2612
end
2713

2814
it 'can find locales from a multiple codes' do
29-
locales = Fastlane::Locales.send(method_sym, [fr_code, pt_code])
15+
locales = described_class.send(method_sym, [fr_code, pt_code])
3016
expect(locales).to be_instance_of(Array)
3117

3218
expect(locales[0]).to be_instance_of(Fastlane::Locale)
@@ -38,7 +24,7 @@
3824

3925
it 'raises if one of the locale codes passed was not found' do
4026
expect do
41-
Fastlane::Locales.send(method_sym, [fr_code, 'invalidcode', 'pt-br'])
27+
described_class.send(method_sym, [fr_code, 'invalidcode', 'pt-br'])
4228
end.to raise_error(RuntimeError, "Unknown locale for #{key} code 'invalidcode'")
4329
end
4430
end
@@ -59,14 +45,14 @@
5945

6046
describe 'subscript [] operator' do
6147
it 'returns an Array<Locale> even if a single one was passed' do
62-
locales = Fastlane::Locales['fr']
48+
locales = described_class['fr']
6349
expect(locales).to be_instance_of(Array)
6450
expect(locales.count).to equal(1)
6551
expect(locales[0].glotpress).to eq('fr')
6652
end
6753

6854
it 'returns an Array<Locale> if a list of vararg codes was passed' do
69-
locales = Fastlane::Locales['fr', 'pt-br']
55+
locales = described_class['fr', 'pt-br']
7056
expect(locales).to be_instance_of(Array)
7157
expect(locales.count).to equal(2)
7258
expect(locales[0]).to be_instance_of(Fastlane::Locale)
@@ -77,7 +63,7 @@
7763

7864
it 'returns an Array<Locale> if an Array<String> of codes was passed' do
7965
list = %w[fr pt-br]
80-
locales = Fastlane::Locales[list]
66+
locales = described_class[list]
8167
expect(locales).to be_instance_of(Array)
8268
expect(locales.count).to equal(2)
8369
expect(locales[0]).to be_instance_of(Fastlane::Locale)
@@ -88,18 +74,13 @@
8874
end
8975

9076
it 'returns exactly 16 Mag16 locales' do
91-
expect(Fastlane::Locales.mag16.count).to eq(16)
77+
expect(described_class.mag16.count).to eq(16)
9278
end
9379

9480
it 'is easy to do Locale subset intersections' do
95-
mag16_except_pt = Fastlane::Locales.mag16 - Fastlane::Locales['pt-br']
81+
mag16_except_pt = described_class.mag16 - described_class['pt-br']
9682
expect(mag16_except_pt.count).to equal(15)
9783
expect(mag16_except_pt.find { |l| l.glotpress == 'pt-br' }).to be_nil
9884
expect(mag16_except_pt.find { |l| l.glotpress == 'fr' }).not_to be_nil
9985
end
100-
101-
it 'can convert a Locale to a hash' do
102-
h = Fastlane::Locale['fr'].to_h
103-
expect(h).to eq({ glotpress: 'fr', android: 'fr', google_play: 'fr-FR', ios: nil, app_store: nil })
104-
end
10586
end

0 commit comments

Comments
 (0)