Skip to content

Commit 990098f

Browse files
committed
Modified Tests
1 parent 3b1f755 commit 990098f

File tree

2 files changed

+174
-174
lines changed

2 files changed

+174
-174
lines changed

Tests/XCStringsMigratorTests/XMMigratorTests.swift

Lines changed: 108 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@ import Testing
66
@Suite(.serialized)
77
struct XMMigratorTests {
88
@Test("If URL is invalid, nil will be returned.")
9-
func extractKeyValue_negative() throws {
9+
func extractSingularValue_negative() throws {
1010
let sut = XMMigrator(sourceLanguage: "", paths: [], outputPath: "", verbose: false)
1111
let url = try #require(Bundle.module.resourceURL).appending(path: "not-exist.strings")
12-
let actual = sut.extractKeyValue(from: url)
12+
let actual = sut.extractSingularValue(from: url)
1313
#expect(actual == nil)
1414
}
1515

1616
@Test("If strings file is valid, dictionary will be returned.")
17-
func extractKeyValue_positive() throws {
17+
func extractSingularValue_positive() throws {
1818
let sut = XMMigrator(sourceLanguage: "", paths: [], outputPath: "", verbose: false)
1919
let url = try #require(Bundle.module.url(forResource: "Localizable", withExtension: "strings", subdirectory: "Migrator"))
20-
let actual = sut.extractKeyValue(from: url)
20+
let actual = sut.extractSingularValue(from: url)
2121
let expect = [
2222
"\"Hello %@\"": "\"Hello %@\"",
2323
"Count = %lld": "Count = %lld",
@@ -35,18 +35,18 @@ struct XMMigratorTests {
3535
}
3636

3737
@Test("If URL is invalid, nil will be returned.")
38-
func extractStringsDictValue_negative() throws {
38+
func extractPluralValue_negative() throws {
3939
let sut = XMMigrator(sourceLanguage: "", paths: [], outputPath: "", verbose: false)
4040
let url = try #require(Bundle.module.resourceURL).appending(path: "not-exist.stringsdict")
41-
let actual = sut.extractStringsDictValue(from: url)
41+
let actual = sut.extractPluralValue(from: url)
4242
#expect(actual == nil)
4343
}
4444

4545
@Test("If stringsdict file is valid, dictionary will be returned.")
46-
func extractStringsDictValue_positive() throws {
46+
func extractPluralValue_positive() throws {
4747
let sut = XMMigrator(sourceLanguage: "", paths: [], outputPath: "", verbose: false)
4848
let url = try #require(Bundle.module.url(forResource: "Localizable", withExtension: "stringsdict", subdirectory: "Migrator"))
49-
let actual = sut.extractStringsDictValue(from: url)
49+
let actual = sut.extractPluralValue(from: url)
5050
let expect: [String: [String: String]] = [
5151
"%lld item(s)": [
5252
"zero": "%lld item",
@@ -101,22 +101,22 @@ struct XMMigratorTests {
101101
StringsData(
102102
tableName: "Localizable",
103103
language: "full",
104-
values: [
105-
"\"Hello %@\"": .simple("\"Hello %@\""),
106-
"Count = %lld": .simple("Count = %lld"),
107-
"key": .simple("value"),
108-
"path": .simple("/"),
104+
items: [
105+
.init(key: "\"Hello %@\"", value: .singular("\"Hello %@\"")),
106+
.init(key: "Count = %lld", value: .singular("Count = %lld")),
107+
.init(key: "key", value: .singular("value")),
108+
.init(key: "path", value: .singular("/")),
109109
]
110110
),
111111
StringsData(
112112
tableName: "Localizable",
113113
language: "full",
114-
values: [
115-
"%lld item(s)": .plural([
116-
"other": "%lld items",
117-
"one": "%lld item",
118-
"zero": "%lld item",
119-
]),
114+
items: [
115+
.init(key: "%lld item(s)", value: .plural([
116+
.init(rule: .one, value: "%lld item"),
117+
.init(rule: .other, value: "%lld items"),
118+
.init(rule: .zero, value: "%lld item"),
119+
])),
120120
]
121121
),
122122
]
@@ -126,21 +126,21 @@ struct XMMigratorTests {
126126
@Test("StringsData array is classified by table name.")
127127
func classifyStringsData_positive() throws {
128128
let sut = XMMigrator(sourceLanguage: "", paths: [], outputPath: "", verbose: false)
129-
let input: [StringsData] = [
130-
StringsData(tableName: "Module1", language: "en", values: [:]),
131-
StringsData(tableName: "Module1", language: "ja", values: [:]),
132-
StringsData(tableName: "Module2", language: "en", values: [:]),
133-
StringsData(tableName: "Module2", language: "ja", values: [:]),
129+
let input = [
130+
StringsData(tableName: "Module1", language: "en", items: []),
131+
StringsData(tableName: "Module1", language: "ja", items: []),
132+
StringsData(tableName: "Module2", language: "en", items: []),
133+
StringsData(tableName: "Module2", language: "ja", items: []),
134134
]
135135
let actual = sut.classifyStringsData(with: input)
136136
let expect = [
137137
"Module1": [
138-
StringsData(tableName: "Module1", language: "en", values: [:]),
139-
StringsData(tableName: "Module1", language: "ja", values: [:]),
138+
StringsData(tableName: "Module1", language: "en", items: []),
139+
StringsData(tableName: "Module1", language: "ja", items: []),
140140
],
141141
"Module2": [
142-
StringsData(tableName: "Module2", language: "en", values: [:]),
143-
StringsData(tableName: "Module2", language: "ja", values: [:]),
142+
StringsData(tableName: "Module2", language: "en", items: []),
143+
StringsData(tableName: "Module2", language: "ja", items: []),
144144
]
145145
]
146146
#expect(actual == expect)
@@ -149,66 +149,66 @@ struct XMMigratorTests {
149149
@Test("StringsData array is converted to XCStrings.")
150150
func convertToXCStrings_positive() throws {
151151
let sut = XMMigrator(sourceLanguage: "test", paths: [], outputPath: "", verbose: false)
152-
let input: [StringsData] = [
152+
let input = [
153153
StringsData(
154154
tableName: "Module1",
155155
language: "en",
156-
values: [
157-
"\"Hello %@\"": .simple("\"Hello %@\""),
158-
"Count = %lld": .simple("Count = %lld"),
159-
"language": .simple("English"),
160-
"path": .simple("/"),
161-
"%lld item(s)": .plural([
162-
"one": "%lld item",
163-
"zero": "%lld item",
164-
"other": "%lld items",
165-
]),
156+
items: [
157+
.init(key: "\"Hello %@\"", value: .singular("\"Hello %@\"")),
158+
.init(key: "Count = %lld", value: .singular("Count = %lld")),
159+
.init(key: "language", value: .singular("English")),
160+
.init(key: "path", value: .singular("/")),
161+
.init(key: "%lld item(s)", value: .plural([
162+
.init(rule: .one, value: "%lld item"),
163+
.init(rule: .other, value: "%lld items"),
164+
.init(rule: .zero, value: "%lld item"),
165+
])),
166166
]
167167
),
168168
StringsData(
169169
tableName: "Module1",
170170
language: "ja",
171-
values: [
172-
"\"Hello %@\"": .simple("「こんにちは%@」"),
173-
"Count = %lld": .simple("カウント=%lld"),
174-
"language": .simple("日本語"),
175-
"path": .simple("/"),
176-
"%lld item(s)": .plural([
177-
"zero": "%lld個",
178-
"other": "%lld個",
179-
]),
171+
items: [
172+
.init(key: "\"Hello %@\"", value: .singular("「こんにちは%@」")),
173+
.init(key: "Count = %lld", value: .singular("カウント=%lld")),
174+
.init(key: "language", value: .singular("日本語")),
175+
.init(key: "path", value: .singular("/")),
176+
.init(key: "%lld item(s)", value: .plural([
177+
.init(rule: .other, value: "%lld個"),
178+
.init(rule: .zero, value: "%lld個"),
179+
])),
180180
]
181181
),
182182
]
183183
let actual = sut.convertToXCStrings(from: input)
184184
let expect = XCStrings(
185185
sourceLanguage: "test",
186186
strings: [
187-
"\"Hello %@\"": Strings(localizations: [
188-
"en": Localization(stringUnit: .init(value: "\"Hello %@\"")),
189-
"ja": Localization(stringUnit: .init(value: "「こんにちは%@」")),
187+
"\"Hello %@\"": .init(localizations: [
188+
"en": .stringUnit(.init(value: "\"Hello %@\"")),
189+
"ja": .stringUnit(.init(value: "「こんにちは%@」")),
190190
]),
191-
"Count = %lld": Strings(localizations: [
192-
"en": Localization(stringUnit: .init(value: "Count = %lld")),
193-
"ja": Localization(stringUnit: .init(value: "カウント=%lld")),
191+
"Count = %lld": .init(localizations: [
192+
"en": .stringUnit(.init(value: "Count = %lld")),
193+
"ja": .stringUnit(.init(value: "カウント=%lld")),
194194
]),
195-
"language": Strings(localizations: [
196-
"en": Localization(stringUnit: .init(value: "English")),
197-
"ja": Localization(stringUnit: .init(value: "日本語")),
195+
"language": .init(localizations: [
196+
"en": .stringUnit(.init(value: "English")),
197+
"ja": .stringUnit(.init(value: "日本語")),
198198
]),
199-
"path": Strings(localizations: [
200-
"en": Localization(stringUnit: .init(value: "/")),
201-
"ja": Localization(stringUnit: .init(value: "/")),
199+
"path": XCStrings.Strings(localizations: [
200+
"en": .stringUnit(.init(value: "/")),
201+
"ja": .stringUnit(.init(value: "/")),
202202
]),
203-
"%lld item(s)": Strings(localizations: [
204-
"en": Localization(variations: .init(plural: [
205-
"one": PluralVariation(stringUnit: .init(value: "%lld item")),
206-
"zero": PluralVariation(stringUnit: .init(value: "%lld item")),
207-
"other": PluralVariation(stringUnit: .init(value: "%lld items")),
203+
"%lld item(s)": .init(localizations: [
204+
"en": .variations(.init(plural: [
205+
"one": .init(stringUnit: .init(value: "%lld item")),
206+
"zero": .init(stringUnit: .init(value: "%lld item")),
207+
"other": .init(stringUnit: .init(value: "%lld items")),
208208
])),
209-
"ja": Localization(variations: .init(plural: [
210-
"zero": PluralVariation(stringUnit: .init(value: "%lld個")),
211-
"other": PluralVariation(stringUnit: .init(value: "%lld個")),
209+
"ja": .variations(.init(plural: [
210+
"zero": .init(stringUnit: .init(value: "%lld個")),
211+
"other": .init(stringUnit: .init(value: "%lld個")),
212212
])),
213213
]),
214214
],
@@ -248,31 +248,31 @@ struct XMMigratorTests {
248248
let input = XCStrings(
249249
sourceLanguage: "test",
250250
strings: [
251-
"\"Hello %@\"": Strings(localizations: [
252-
"en": Localization(stringUnit: StringUnit(value: "\"Hello %@\"")),
253-
"ja": Localization(stringUnit: StringUnit(value: "「こんにちは%@」")),
251+
"\"Hello %@\"": .init(localizations: [
252+
"en": .stringUnit(.init(value: "\"Hello %@\"")),
253+
"ja": .stringUnit(.init(value: "「こんにちは%@」")),
254254
]),
255-
"Count = %lld": Strings(localizations: [
256-
"en": Localization(stringUnit: StringUnit(value: "Count = %lld")),
257-
"ja": Localization(stringUnit: StringUnit(value: "カウント=%lld")),
255+
"Count = %lld": .init(localizations: [
256+
"en": .stringUnit(.init(value: "Count = %lld")),
257+
"ja": .stringUnit(.init(value: "カウント=%lld")),
258258
]),
259-
"language": Strings(localizations: [
260-
"en": Localization(stringUnit: StringUnit(value: "English")),
261-
"ja": Localization(stringUnit: StringUnit(value: "日本語")),
259+
"language": .init(localizations: [
260+
"en": .stringUnit(.init(value: "English")),
261+
"ja": .stringUnit(.init(value: "日本語")),
262262
]),
263-
"path": Strings(localizations: [
264-
"en": Localization(stringUnit: StringUnit(value: "/")),
265-
"ja": Localization(stringUnit: StringUnit(value: "/")),
263+
"path": .init(localizations: [
264+
"en": .stringUnit(.init(value: "/")),
265+
"ja": .stringUnit(.init(value: "/")),
266266
]),
267-
"%lld item(s)": Strings(localizations: [
268-
"en": Localization(variations: .init(plural: [
269-
"one": PluralVariation(stringUnit: .init(value: "%lld item")),
270-
"zero": PluralVariation(stringUnit: .init(value: "%lld item")),
271-
"other": PluralVariation(stringUnit: .init(value: "%lld items")),
267+
"%lld item(s)": .init(localizations: [
268+
"en": .variations(.init(plural: [
269+
"one": .init(stringUnit: .init(value: "%lld item")),
270+
"zero": .init(stringUnit: .init(value: "%lld item")),
271+
"other": .init(stringUnit: .init(value: "%lld items")),
272272
])),
273-
"ja": Localization(variations: .init(plural: [
274-
"zero": PluralVariation(stringUnit: .init(value: "%lld個")),
275-
"other": PluralVariation(stringUnit: .init(value: "%lld個")),
273+
"ja": .variations(.init(plural: [
274+
"zero": .init(stringUnit: .init(value: "%lld個")),
275+
"other": .init(stringUnit: .init(value: "%lld個")),
276276
])),
277277
]),
278278
],
@@ -299,31 +299,31 @@ struct XMMigratorTests {
299299
let input = XCStrings(
300300
sourceLanguage: "test",
301301
strings: [
302-
"\"Hello %@\"": Strings(localizations: [
303-
"en": Localization(stringUnit: StringUnit(value: "\"Hello %@\"")),
304-
"ja": Localization(stringUnit: StringUnit(value: "「こんにちは%@」")),
302+
"\"Hello %@\"": .init(localizations: [
303+
"en": .stringUnit(.init(value: "\"Hello %@\"")),
304+
"ja": .stringUnit(.init(value: "「こんにちは%@」")),
305305
]),
306-
"Count = %lld": Strings(localizations: [
307-
"en": Localization(stringUnit: StringUnit(value: "Count = %lld")),
308-
"ja": Localization(stringUnit: StringUnit(value: "カウント=%lld")),
306+
"Count = %lld": .init(localizations: [
307+
"en": .stringUnit(.init(value: "Count = %lld")),
308+
"ja": .stringUnit(.init(value: "カウント=%lld")),
309309
]),
310-
"language": Strings(localizations: [
311-
"en": Localization(stringUnit: StringUnit(value: "English")),
312-
"ja": Localization(stringUnit: StringUnit(value: "日本語")),
310+
"language": .init(localizations: [
311+
"en": .stringUnit(.init(value: "English")),
312+
"ja": .stringUnit(.init(value: "日本語")),
313313
]),
314-
"path": Strings(localizations: [
315-
"en": Localization(stringUnit: StringUnit(value: "/")),
316-
"ja": Localization(stringUnit: StringUnit(value: "/")),
314+
"path": .init(localizations: [
315+
"en": .stringUnit(.init(value: "/")),
316+
"ja": .stringUnit(.init(value: "/")),
317317
]),
318-
"%lld item(s)": Strings(localizations: [
319-
"en": Localization(variations: .init(plural: [
320-
"one": PluralVariation(stringUnit: .init(value: "%lld item")),
321-
"zero": PluralVariation(stringUnit: .init(value: "%lld item")),
322-
"other": PluralVariation(stringUnit: .init(value: "%lld items")),
318+
"%lld item(s)": .init(localizations: [
319+
"en": .variations(.init(plural: [
320+
"one": .init(stringUnit: .init(value: "%lld item")),
321+
"zero": .init(stringUnit: .init(value: "%lld item")),
322+
"other": .init(stringUnit: .init(value: "%lld items")),
323323
])),
324-
"ja": Localization(variations: .init(plural: [
325-
"zero": PluralVariation(stringUnit: .init(value: "%lld個")),
326-
"other": PluralVariation(stringUnit: .init(value: "%lld個")),
324+
"ja": .variations(.init(plural: [
325+
"zero": .init(stringUnit: .init(value: "%lld個")),
326+
"other": .init(stringUnit: .init(value: "%lld個")),
327327
])),
328328
]),
329329
],

0 commit comments

Comments
 (0)