|
1 | 1 | require 'spec_helper'
|
2 | 2 |
|
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 |
| - |
17 | 3 | describe Fastlane::Locales do
|
18 | 4 | shared_examples 'from_xxx' do |key, fr_code, pt_code|
|
19 | 5 | let(:method_sym) { "from_#{key}".to_sym }
|
20 | 6 | 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) |
22 | 8 | expect(fr_locale).to be_instance_of(Fastlane::Locale)
|
23 | 9 | expect(fr_locale.glotpress).to eq('fr')
|
24 | 10 | expect(fr_locale.android).to eq('fr')
|
25 | 11 | expect(fr_locale.google_play).to eq('fr-FR')
|
26 | 12 | end
|
27 | 13 |
|
28 | 14 | 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]) |
30 | 16 | expect(locales).to be_instance_of(Array)
|
31 | 17 |
|
32 | 18 | expect(locales[0]).to be_instance_of(Fastlane::Locale)
|
|
38 | 24 |
|
39 | 25 | it 'raises if one of the locale codes passed was not found' do
|
40 | 26 | expect do
|
41 |
| - Fastlane::Locales.send(method_sym, [fr_code, 'invalidcode', 'pt-br']) |
| 27 | + described_class.send(method_sym, [fr_code, 'invalidcode', 'pt-br']) |
42 | 28 | end.to raise_error(RuntimeError, "Unknown locale for #{key} code 'invalidcode'")
|
43 | 29 | end
|
44 | 30 | end
|
|
59 | 45 |
|
60 | 46 | describe 'subscript [] operator' do
|
61 | 47 | it 'returns an Array<Locale> even if a single one was passed' do
|
62 |
| - locales = Fastlane::Locales['fr'] |
| 48 | + locales = described_class['fr'] |
63 | 49 | expect(locales).to be_instance_of(Array)
|
64 | 50 | expect(locales.count).to equal(1)
|
65 | 51 | expect(locales[0].glotpress).to eq('fr')
|
66 | 52 | end
|
67 | 53 |
|
68 | 54 | 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'] |
70 | 56 | expect(locales).to be_instance_of(Array)
|
71 | 57 | expect(locales.count).to equal(2)
|
72 | 58 | expect(locales[0]).to be_instance_of(Fastlane::Locale)
|
|
77 | 63 |
|
78 | 64 | it 'returns an Array<Locale> if an Array<String> of codes was passed' do
|
79 | 65 | list = %w[fr pt-br]
|
80 |
| - locales = Fastlane::Locales[list] |
| 66 | + locales = described_class[list] |
81 | 67 | expect(locales).to be_instance_of(Array)
|
82 | 68 | expect(locales.count).to equal(2)
|
83 | 69 | expect(locales[0]).to be_instance_of(Fastlane::Locale)
|
|
88 | 74 | end
|
89 | 75 |
|
90 | 76 | 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) |
92 | 78 | end
|
93 | 79 |
|
94 | 80 | 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'] |
96 | 82 | expect(mag16_except_pt.count).to equal(15)
|
97 | 83 | expect(mag16_except_pt.find { |l| l.glotpress == 'pt-br' }).to be_nil
|
98 | 84 | expect(mag16_except_pt.find { |l| l.glotpress == 'fr' }).not_to be_nil
|
99 | 85 | 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 |
105 | 86 | end
|
0 commit comments