Add visibility parameters to control scope of generated extension
Some checks failed
gitea-openium/resgen.swift/pipeline/head There was a failure building this commit

This commit is contained in:
2025-07-18 11:53:46 +02:00
parent beca2c6b2b
commit 7162f13166
61 changed files with 1511 additions and 791 deletions

View File

@ -8,9 +8,9 @@
// CPD-OFF
import Foundation
import XCTest
@testable import ResgenSwift
import ToolCore
import XCTest
final class DefinitionTests: XCTestCase {
@ -94,9 +94,9 @@ final class DefinitionTests: XCTestCase {
]
// When
let propertyFr = definition.getNSLocalizedStringProperty(forLang: "fr")
let propertyEn = definition.getNSLocalizedStringProperty(forLang: "en")
let propertyEnUs = definition.getNSLocalizedStringProperty(forLang: "en-us")
let propertyFr = definition.getNSLocalizedStringProperty(forLang: "fr", visibility: .public)
let propertyEn = definition.getNSLocalizedStringProperty(forLang: "en", visibility: .public)
let propertyEnUs = definition.getNSLocalizedStringProperty(forLang: "en-us", visibility: .public)
// Expect
let expectFr = """
@ -105,7 +105,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// This is a comment
var definition_name: String {
public var definition_name: String {
NSLocalizedString("definition_name", tableName: kStringsFileName, bundle: Bundle.main, value: "C'est la traduction francaise", comment: "This is a comment")
}
"""
@ -116,7 +116,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// This is a comment
var definition_name: String {
public var definition_name: String {
NSLocalizedString("definition_name", tableName: kStringsFileName, bundle: Bundle.main, value: "This is the english translation", comment: "This is a comment")
}
"""
@ -127,7 +127,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// This is a comment
var definition_name: String {
public var definition_name: String {
NSLocalizedString("definition_name", tableName: kStringsFileName, bundle: Bundle.main, value: "This is the english us translation", comment: "This is a comment")
}
"""
@ -149,9 +149,9 @@ final class DefinitionTests: XCTestCase {
]
// When
let propertyFr = definition.getNSLocalizedStringProperty(forLang: "fr")
let propertyEn = definition.getNSLocalizedStringProperty(forLang: "en")
let propertyEnUs = definition.getNSLocalizedStringProperty(forLang: "en-us")
let propertyFr = definition.getNSLocalizedStringProperty(forLang: "fr", visibility: .private)
let propertyEn = definition.getNSLocalizedStringProperty(forLang: "en", visibility: .private)
let propertyEnUs = definition.getNSLocalizedStringProperty(forLang: "en-us", visibility: .private)
// Expect
let expectFr = """
@ -160,7 +160,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// No comment
var definition_name: String {
private var definition_name: String {
NSLocalizedString("definition_name", tableName: kStringsFileName, bundle: Bundle.main, value: "C'est la traduction francaise", comment: "")
}
"""
@ -171,7 +171,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// No comment
var definition_name: String {
private var definition_name: String {
NSLocalizedString("definition_name", tableName: kStringsFileName, bundle: Bundle.main, value: "This is the english translation", comment: "")
}
"""
@ -182,7 +182,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// No comment
var definition_name: String {
private var definition_name: String {
NSLocalizedString("definition_name", tableName: kStringsFileName, bundle: Bundle.main, value: "This is the english us translation", comment: "")
}
"""
@ -203,9 +203,9 @@ final class DefinitionTests: XCTestCase {
]
// When
let propertyFr = definition.getNSLocalizedStringProperty(forLang: "fr")
let propertyEn = definition.getNSLocalizedStringProperty(forLang: "en")
let propertyEnUs = definition.getNSLocalizedStringProperty(forLang: "en-us")
let propertyFr = definition.getNSLocalizedStringProperty(forLang: "fr", visibility: .public)
let propertyEn = definition.getNSLocalizedStringProperty(forLang: "en", visibility: .public)
let propertyEnUs = definition.getNSLocalizedStringProperty(forLang: "en-us", visibility: .public)
// Expect
let expectFr = """
@ -214,7 +214,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// No comment
var definition_name: String {
public var definition_name: String {
NSLocalizedString("definition_name", tableName: kStringsFileName, bundle: Bundle.main, value: "C'est la traduction francaise", comment: "")
}
"""
@ -225,7 +225,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// No comment
var definition_name: String {
public var definition_name: String {
NSLocalizedString("definition_name", tableName: kStringsFileName, bundle: Bundle.main, value: "This is the english translation", comment: "")
}
"""
@ -236,7 +236,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// No comment
var definition_name: String {
public var definition_name: String {
NSLocalizedString("definition_name", tableName: kStringsFileName, bundle: Bundle.main, value: "This is the english us translation", comment: "")
}
"""
@ -260,10 +260,10 @@ final class DefinitionTests: XCTestCase {
]
// When
let propertyFr = definition.getNSLocalizedStringStaticProperty(forLang: "fr")
let propertyEn = definition.getNSLocalizedStringStaticProperty(forLang: "en")
let propertyEnUs = definition.getNSLocalizedStringStaticProperty(forLang: "en-us")
let propertyFr = definition.getNSLocalizedStringStaticProperty(forLang: "fr", visibility: .public)
let propertyEn = definition.getNSLocalizedStringStaticProperty(forLang: "en", visibility: .public)
let propertyEnUs = definition.getNSLocalizedStringStaticProperty(forLang: "en-us", visibility: .public)
// Expect
let expectFr = """
/// Translation in fr :
@ -271,7 +271,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// This is a comment
static var definition_name: String {
public static var definition_name: String {
NSLocalizedString("definition_name", tableName: kStringsFileName, bundle: Bundle.main, value: "C'est la traduction francaise", comment: "This is a comment")
}
"""
@ -282,7 +282,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// This is a comment
static var definition_name: String {
public static var definition_name: String {
NSLocalizedString("definition_name", tableName: kStringsFileName, bundle: Bundle.main, value: "This is the english translation", comment: "This is a comment")
}
"""
@ -293,7 +293,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// This is a comment
static var definition_name: String {
public static var definition_name: String {
NSLocalizedString("definition_name", tableName: kStringsFileName, bundle: Bundle.main, value: "This is the english us translation", comment: "This is a comment")
}
"""
@ -315,9 +315,9 @@ final class DefinitionTests: XCTestCase {
]
// When
let propertyFr = definition.getNSLocalizedStringStaticProperty(forLang: "fr")
let propertyEn = definition.getNSLocalizedStringStaticProperty(forLang: "en")
let propertyEnUs = definition.getNSLocalizedStringStaticProperty(forLang: "en-us")
let propertyFr = definition.getNSLocalizedStringStaticProperty(forLang: "fr", visibility: .internal)
let propertyEn = definition.getNSLocalizedStringStaticProperty(forLang: "en", visibility: .internal)
let propertyEnUs = definition.getNSLocalizedStringStaticProperty(forLang: "en-us", visibility: .internal)
// Expect
let expectFr = """
@ -326,7 +326,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// No comment
static var definition_name: String {
internal static var definition_name: String {
NSLocalizedString("definition_name", tableName: kStringsFileName, bundle: Bundle.main, value: "C'est la traduction francaise", comment: "")
}
"""
@ -337,7 +337,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// No comment
static var definition_name: String {
internal static var definition_name: String {
NSLocalizedString("definition_name", tableName: kStringsFileName, bundle: Bundle.main, value: "This is the english translation", comment: "")
}
"""
@ -348,7 +348,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// No comment
static var definition_name: String {
internal static var definition_name: String {
NSLocalizedString("definition_name", tableName: kStringsFileName, bundle: Bundle.main, value: "This is the english us translation", comment: "")
}
"""
@ -369,9 +369,9 @@ final class DefinitionTests: XCTestCase {
]
// When
let propertyFr = definition.getNSLocalizedStringStaticProperty(forLang: "fr")
let propertyEn = definition.getNSLocalizedStringStaticProperty(forLang: "en")
let propertyEnUs = definition.getNSLocalizedStringStaticProperty(forLang: "en-us")
let propertyFr = definition.getNSLocalizedStringStaticProperty(forLang: "fr", visibility: .internal)
let propertyEn = definition.getNSLocalizedStringStaticProperty(forLang: "en", visibility: .internal)
let propertyEnUs = definition.getNSLocalizedStringStaticProperty(forLang: "en-us", visibility: .internal)
// Expect
let expectFr = """
@ -380,7 +380,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// No comment
static var definition_name: String {
internal static var definition_name: String {
NSLocalizedString("definition_name", tableName: kStringsFileName, bundle: Bundle.main, value: "C'est la traduction francaise", comment: "")
}
"""
@ -391,7 +391,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// No comment
static var definition_name: String {
internal static var definition_name: String {
NSLocalizedString("definition_name", tableName: kStringsFileName, bundle: Bundle.main, value: "This is the english translation", comment: "")
}
"""
@ -402,7 +402,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// No comment
static var definition_name: String {
internal static var definition_name: String {
NSLocalizedString("definition_name", tableName: kStringsFileName, bundle: Bundle.main, value: "This is the english us translation", comment: "")
}
"""
@ -422,8 +422,8 @@ final class DefinitionTests: XCTestCase {
]
// When
let propertyFr = definition.getNSLocalizedStringProperty(forLang: "fr")
let propertyFr = definition.getNSLocalizedStringProperty(forLang: "fr", visibility: .internal)
// Expect
let expectFr = """
/// Translation in fr :
@ -431,7 +431,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// This is a comment
var definition_name: String {
internal var definition_name: String {
NSLocalizedString("definition_name", tableName: kStringsFileName, bundle: Bundle.main, value: "Welcome \"%@\" !", comment: "This is a comment")
}
@ -440,7 +440,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// This is a comment
func definition_name(arg0: String) -> String {
internal func definition_name(arg0: String) -> String {
String(format: self.definition_name, arg0)
}
"""
@ -458,8 +458,8 @@ final class DefinitionTests: XCTestCase {
]
// When
let propertyFr = definition.getNSLocalizedStringProperty(forLang: "fr")
let propertyFr = definition.getNSLocalizedStringProperty(forLang: "fr", visibility: .private)
// Expect
let expectFr = """
/// Translation in fr :
@ -467,7 +467,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// This is a comment
var definition_name: String {
private var definition_name: String {
NSLocalizedString("definition_name", tableName: kStringsFileName, bundle: Bundle.main, value: "Welcome \"%@\" ! Your age is %d :) Your weight is %f ;-)", comment: "This is a comment")
}
@ -476,7 +476,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// This is a comment
func definition_name(arg0: String, arg1: Int, arg2: Double) -> String {
private func definition_name(arg0: String, arg1: Int, arg2: Double) -> String {
String(format: self.definition_name, arg0, arg1, arg2)
}
"""
@ -495,16 +495,16 @@ final class DefinitionTests: XCTestCase {
]
// When
let propertyFr = definition.getNSLocalizedStringProperty(forLang: "fr")
let propertyEn = definition.getNSLocalizedStringProperty(forLang: "en")
let propertyFr = definition.getNSLocalizedStringProperty(forLang: "fr", visibility: .public)
let propertyEn = definition.getNSLocalizedStringProperty(forLang: "en", visibility: .public)
let expectFr = """
/// Translation in fr :
/// Vous %%: %1$@ %2$@ Age: %3$d
///
/// Comment :
/// This is a comment
var definition_name: String {
public var definition_name: String {
NSLocalizedString("definition_name", tableName: kStringsFileName, bundle: Bundle.main, value: "Vous %%: %1$@ %2$@ Age: %3$d", comment: "This is a comment")
}
@ -513,7 +513,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// This is a comment
func definition_name(arg0: String, arg1: String, arg2: Int) -> String {
public func definition_name(arg0: String, arg1: String, arg2: Int) -> String {
String(format: self.definition_name, arg0, arg1, arg2)
}
"""
@ -524,7 +524,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// This is a comment
var definition_name: String {
public var definition_name: String {
NSLocalizedString("definition_name", tableName: kStringsFileName, bundle: Bundle.main, value: "You %%: %2$@ %1$@ Age: %3$d", comment: "This is a comment")
}
@ -533,7 +533,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// This is a comment
func definition_name(arg0: String, arg1: String, arg2: Int) -> String {
public func definition_name(arg0: String, arg1: String, arg2: Int) -> String {
String(format: self.definition_name, arg0, arg1, arg2)
}
"""
@ -556,10 +556,10 @@ final class DefinitionTests: XCTestCase {
]
// When
let propertyFr = definition.getProperty(forLang: "fr")
let propertyEn = definition.getProperty(forLang: "en")
let propertyEnUs = definition.getProperty(forLang: "en-us")
let propertyFr = definition.getProperty(forLang: "fr", visibility: .public)
let propertyEn = definition.getProperty(forLang: "en", visibility: .public)
let propertyEnUs = definition.getProperty(forLang: "en-us", visibility: .public)
// Expect
let expectFr = """
/// Translation in fr :
@ -567,7 +567,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// This is a comment
var definition_name: String {
public var definition_name: String {
"C'est la traduction francaise"
}
"""
@ -578,7 +578,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// This is a comment
var definition_name: String {
public var definition_name: String {
"This is the english translation"
}
"""
@ -589,7 +589,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// This is a comment
var definition_name: String {
public var definition_name: String {
"This is the english us translation"
}
"""
@ -611,9 +611,9 @@ final class DefinitionTests: XCTestCase {
]
// When
let propertyFr = definition.getProperty(forLang: "fr")
let propertyEn = definition.getProperty(forLang: "en")
let propertyEnUs = definition.getProperty(forLang: "en-us")
let propertyFr = definition.getProperty(forLang: "fr", visibility: .package)
let propertyEn = definition.getProperty(forLang: "en", visibility: .package)
let propertyEnUs = definition.getProperty(forLang: "en-us", visibility: .package)
// Expect
let expectFr = """
@ -622,7 +622,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// No comment
var definition_name: String {
package var definition_name: String {
"C'est la traduction francaise"
}
"""
@ -633,7 +633,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// No comment
var definition_name: String {
package var definition_name: String {
"This is the english translation"
}
"""
@ -644,7 +644,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// No comment
var definition_name: String {
package var definition_name: String {
"This is the english us translation"
}
"""
@ -665,9 +665,9 @@ final class DefinitionTests: XCTestCase {
]
// When
let propertyFr = definition.getProperty(forLang: "fr")
let propertyEn = definition.getProperty(forLang: "en")
let propertyEnUs = definition.getProperty(forLang: "en-us")
let propertyFr = definition.getProperty(forLang: "fr", visibility: .private)
let propertyEn = definition.getProperty(forLang: "en", visibility: .private)
let propertyEnUs = definition.getProperty(forLang: "en-us", visibility: .private)
// Expect
let expectFr = """
@ -676,7 +676,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// No comment
var definition_name: String {
private var definition_name: String {
"C'est la traduction francaise"
}
"""
@ -687,7 +687,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// No comment
var definition_name: String {
private var definition_name: String {
"This is the english translation"
}
"""
@ -698,7 +698,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// No comment
var definition_name: String {
private var definition_name: String {
"This is the english us translation"
}
"""
@ -722,10 +722,10 @@ final class DefinitionTests: XCTestCase {
]
// When
let propertyFr = definition.getStaticProperty(forLang: "fr")
let propertyEn = definition.getStaticProperty(forLang: "en")
let propertyEnUs = definition.getStaticProperty(forLang: "en-us")
let propertyFr = definition.getStaticProperty(forLang: "fr", visibility: .internal)
let propertyEn = definition.getStaticProperty(forLang: "en", visibility: .internal)
let propertyEnUs = definition.getStaticProperty(forLang: "en-us", visibility: .internal)
// Expect
let expectFr = """
/// Translation in fr :
@ -733,7 +733,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// This is a comment
static var definition_name: String {
internal static var definition_name: String {
"C'est la traduction francaise"
}
"""
@ -744,7 +744,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// This is a comment
static var definition_name: String {
internal static var definition_name: String {
"This is the english translation"
}
"""
@ -755,7 +755,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// This is a comment
static var definition_name: String {
internal static var definition_name: String {
"This is the english us translation"
}
"""
@ -777,9 +777,9 @@ final class DefinitionTests: XCTestCase {
]
// When
let propertyFr = definition.getStaticProperty(forLang: "fr")
let propertyEn = definition.getStaticProperty(forLang: "en")
let propertyEnUs = definition.getStaticProperty(forLang: "en-us")
let propertyFr = definition.getStaticProperty(forLang: "fr", visibility: .internal)
let propertyEn = definition.getStaticProperty(forLang: "en", visibility: .internal)
let propertyEnUs = definition.getStaticProperty(forLang: "en-us", visibility: .internal)
// Expect
let expectFr = """
@ -788,7 +788,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// No comment
static var definition_name: String {
internal static var definition_name: String {
"C'est la traduction francaise"
}
"""
@ -799,7 +799,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// No comment
static var definition_name: String {
internal static var definition_name: String {
"This is the english translation"
}
"""
@ -810,7 +810,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// No comment
static var definition_name: String {
internal static var definition_name: String {
"This is the english us translation"
}
"""
@ -831,9 +831,9 @@ final class DefinitionTests: XCTestCase {
]
// When
let propertyFr = definition.getStaticProperty(forLang: "fr")
let propertyEn = definition.getStaticProperty(forLang: "en")
let propertyEnUs = definition.getStaticProperty(forLang: "en-us")
let propertyFr = definition.getStaticProperty(forLang: "fr", visibility: .internal)
let propertyEn = definition.getStaticProperty(forLang: "en", visibility: .internal)
let propertyEnUs = definition.getStaticProperty(forLang: "en-us", visibility: .internal)
// Expect
let expectFr = """
@ -842,7 +842,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// No comment
static var definition_name: String {
internal static var definition_name: String {
"C'est la traduction francaise"
}
"""
@ -853,7 +853,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// No comment
static var definition_name: String {
internal static var definition_name: String {
"This is the english translation"
}
"""
@ -864,7 +864,7 @@ final class DefinitionTests: XCTestCase {
///
/// Comment :
/// No comment
static var definition_name: String {
internal static var definition_name: String {
"This is the english us translation"
}
"""

View File

@ -20,6 +20,7 @@ extension StringsFileGeneratorTests {
s2DefOneComment: String = "",
s2DefTwoFr: String = "Section Deux - Definition Deux",
s2DefTwoComment: String = "",
visibility: ExtensionVisibility = .internal
) -> String {
"""
// Generated by ResgenSwift.Strings.Stringium \(ResgenSwiftVersion)
@ -30,13 +31,13 @@ extension StringsFileGeneratorTests {
extension GenStrings {
enum KeyStrings: String {
\(visibility) enum KeyStrings: String {
case s1_def_one = "s1_def_one"
case s1_def_two = "s1_def_two"
case s2_def_one = "s2_def_one"
case s2_def_two = "s2_def_two"
var keyPath: KeyPath<GenStrings, String> {
\(visibility) var keyPath: KeyPath<GenStrings, String> {
switch self {
case .s1_def_one: return \\GenStrings.s1_def_one
case .s1_def_two: return \\GenStrings.s1_def_two
@ -53,7 +54,7 @@ extension StringsFileGeneratorTests {
///
/// Comment :
/// \(s1DefOneComment.isEmpty ? "No comment" : s1DefOneComment)
\(staticVar ? "static " : "")var s1_def_one: String {
\(visibility) \(staticVar ? "static " : "")var s1_def_one: String {
NSLocalizedString("s1_def_one", tableName: kStringsFileName, bundle: Bundle.main, value: "Section Un - Definition Un", comment: "\(s1DefOneComment)")
}
@ -62,7 +63,7 @@ extension StringsFileGeneratorTests {
///
/// Comment :
/// \(s1DefTwoComment.isEmpty ? "No comment" : s1DefTwoComment)
\(staticVar ? "static " : "")var s1_def_two: String {
\(visibility) \(staticVar ? "static " : "")var s1_def_two: String {
NSLocalizedString("s1_def_two", tableName: kStringsFileName, bundle: Bundle.main, value: "Section Un - Definition Deux", comment: "\(s1DefTwoComment)")
}
@ -73,7 +74,7 @@ extension StringsFileGeneratorTests {
///
/// Comment :
/// \(s2DefOneComment.isEmpty ? "No comment" : s2DefOneComment)
\(staticVar ? "static " : "")var s2_def_one: String {
\(visibility) \(staticVar ? "static " : "")var s2_def_one: String {
NSLocalizedString("s2_def_one", tableName: kStringsFileName, bundle: Bundle.main, value: "Section Deux - Definition Un", comment: "\(s2DefOneComment)")
}
@ -82,7 +83,7 @@ extension StringsFileGeneratorTests {
///
/// Comment :
/// \(s2DefTwoComment.isEmpty ? "No comment" : s2DefTwoComment)
\(staticVar ? "static " : "")var s2_def_two: String {
\(visibility) \(staticVar ? "static " : "")var s2_def_two: String {
NSLocalizedString("s2_def_two", tableName: kStringsFileName, bundle: Bundle.main, value: "Section Deux - Definition Deux", comment: "\(s2DefTwoComment)")
}
}

View File

@ -373,13 +373,16 @@ final class StringsFileGeneratorTests: XCTestCase {
let sectionTwo = Section.Mock.getSectionTwo()
// When
let extensionContent = StringsFileGenerator.getExtensionContent(sections: [sectionOne, sectionTwo],
defaultLang: "fr",
tags: ["ios", "iosonly", "notranslation"],
staticVar: false,
inputFilename: "myInputFilename",
extensionName: "GenStrings",
extensionSuffix: "strings")
let extensionContent = StringsFileGenerator.getExtensionContent(
sections: [sectionOne, sectionTwo],
defaultLang: "fr",
tags: ["ios", "iosonly", "notranslation"],
staticVar: false,
inputFilename: "myInputFilename",
extensionName: "GenStrings",
extensionSuffix: "strings",
visibility: .internal
)
// Expect
let expect = Self.getExtensionContentExpectation(
@ -404,13 +407,16 @@ final class StringsFileGeneratorTests: XCTestCase {
)
// When
let extensionContent = StringsFileGenerator.getExtensionContent(sections: [sectionOne, sectionTwo],
defaultLang: "fr",
tags: ["ios", "iosonly", "notranslation"],
staticVar: false,
inputFilename: "myInputFilename",
extensionName: "GenStrings",
extensionSuffix: "strings")
let extensionContent = StringsFileGenerator.getExtensionContent(
sections: [sectionOne, sectionTwo],
defaultLang: "fr",
tags: ["ios", "iosonly", "notranslation"],
staticVar: false,
inputFilename: "myInputFilename",
extensionName: "GenStrings",
extensionSuffix: "strings",
visibility: .public
)
// Expect
let expect = Self.getExtensionContentExpectation(
@ -419,6 +425,7 @@ final class StringsFileGeneratorTests: XCTestCase {
s1DefTwoComment: "This is a comment",
s2DefOneComment: "This is a comment",
s2DefTwoComment: "This is a comment",
visibility: .public
)
if extensionContent != expect {
@ -434,17 +441,21 @@ final class StringsFileGeneratorTests: XCTestCase {
let sectionTwo = Section.Mock.getSectionTwo()
// When
let extensionContent = StringsFileGenerator.getExtensionContent(sections: [sectionOne, sectionTwo],
defaultLang: "fr",
tags: ["ios", "iosonly", "notranslation"],
staticVar: true,
inputFilename: "myInputFilename",
extensionName: "GenStrings",
extensionSuffix: "strings")
let extensionContent = StringsFileGenerator.getExtensionContent(
sections: [sectionOne, sectionTwo],
defaultLang: "fr",
tags: ["ios", "iosonly", "notranslation"],
staticVar: true,
inputFilename: "myInputFilename",
extensionName: "GenStrings",
extensionSuffix: "strings",
visibility: .package
)
// Expect
let expect = Self.getExtensionContentExpectation(
staticVar: true
staticVar: true,
visibility: .package
)
if extensionContent != expect {
@ -465,13 +476,16 @@ final class StringsFileGeneratorTests: XCTestCase {
)
// When
let extensionContent = StringsFileGenerator.getExtensionContent(sections: [sectionOne, sectionTwo],
defaultLang: "fr",
tags: ["ios", "iosonly", "notranslation"],
staticVar: true,
inputFilename: "myInputFilename",
extensionName: "GenStrings",
extensionSuffix: "strings")
let extensionContent = StringsFileGenerator.getExtensionContent(
sections: [sectionOne, sectionTwo],
defaultLang: "fr",
tags: ["ios", "iosonly", "notranslation"],
staticVar: true,
inputFilename: "myInputFilename",
extensionName: "GenStrings",
extensionSuffix: "strings",
visibility: .internal
)
// Expect
let expect = Self.getExtensionContentExpectation(
@ -480,6 +494,7 @@ final class StringsFileGeneratorTests: XCTestCase {
s1DefTwoComment: "This is a comment",
s2DefOneComment: "This is a comment",
s2DefTwoComment: "This is a comment",
visibility: .internal
)
if extensionContent != expect {

View File

@ -13,7 +13,11 @@ import ToolCore
final class TagsGeneratorTests: XCTestCase {
private func getDefinition(name: String, lang: String, tags: [String]) -> Definition {
private func getDefinition(
name: String,
lang: String,
tags: [String]
) -> Definition {
let definition = Definition(name: name)
definition.tags = tags
definition.translations = [lang: "Some translation"]
@ -41,11 +45,15 @@ final class TagsGeneratorTests: XCTestCase {
]
// When
let extensionContent = TagsGenerator.getExtensionContent(sections: [sectionOne, sectionTwo, sectionThree],
lang: "ium",
tags: ["ios", "iosonly"],
staticVar: false,
extensionName: "GenTags")
let extensionContent = TagsGenerator.getExtensionContent(
sections: [sectionOne, sectionTwo, sectionThree],
lang: "ium",
tags: ["ios", "iosonly"],
staticVar: false,
extensionName: "GenTags",
visibility: .public
)
// Expect Tags
let expect = """
// Generated by ResgenSwift.Strings.Tags \(ResgenSwiftVersion)
@ -60,7 +68,7 @@ final class TagsGeneratorTests: XCTestCase {
///
/// Comment :
/// No comment
var s1_def_one: String {
public var s1_def_one: String {
"Some translation"
}
@ -69,7 +77,7 @@ final class TagsGeneratorTests: XCTestCase {
///
/// Comment :
/// No comment
var s1_def_two: String {
public var s1_def_two: String {
"Some translation"
}
@ -80,7 +88,7 @@ final class TagsGeneratorTests: XCTestCase {
///
/// Comment :
/// No comment
var s2_def_one: String {
public var s2_def_one: String {
"Some translation"
}
}