diff --git a/CHANGELOG.md b/CHANGELOG.md index 449f617..8016f14 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,10 @@ ## master +### Fixed + +- Incorrect file name when specified with _.strings_ suffix ([#39](https://github.com/AckeeCZ/ACKLocalization/pull/39), kudos to @vendulasvastal) + ## 1.6.0 ### Added diff --git a/Sources/ACKLocalizationCore/ACKLocalization.swift b/Sources/ACKLocalizationCore/ACKLocalization.swift index 45df297..065ce97 100644 --- a/Sources/ACKLocalizationCore/ACKLocalization.swift +++ b/Sources/ACKLocalizationCore/ACKLocalization.swift @@ -462,8 +462,7 @@ public final class ACKLocalization { extension String { func removingSuffix(_ suffix: String) -> String { guard hasSuffix(suffix) else { return self } - - return String(self[...index(endIndex, offsetBy: -suffix.count)]) + return String(dropLast(suffix.count)) } } diff --git a/Tests/ACKLocalizationCoreTests/ACKLocalizationTests.swift b/Tests/ACKLocalizationCoreTests/ACKLocalizationTests.swift index 33bbe31..7a13e7b 100644 --- a/Tests/ACKLocalizationCoreTests/ACKLocalizationTests.swift +++ b/Tests/ACKLocalizationCoreTests/ACKLocalizationTests.swift @@ -1,4 +1,4 @@ -import ACKLocalizationCore +@testable import ACKLocalizationCore import XCTest final class ACKLocalizationTests: XCTestCase { @@ -40,4 +40,9 @@ final class ACKLocalizationTests: XCTestCase { ] XCTAssertNoThrow(try localization.checkDuplicateKeys(form: locRow)) } + + func testRemovingSuffix() { + var fileName = "Localizable.strings" + XCTAssertEqual("Localizable", fileName.removingSuffix(".strings")) + } }