diff --git a/Sources/ArgumentParser/Parsable Types/ParsableArgumentsValidation.swift b/Sources/ArgumentParser/Parsable Types/ParsableArgumentsValidation.swift index c37d57fb0..2a26ab39c 100644 --- a/Sources/ArgumentParser/Parsable Types/ParsableArgumentsValidation.swift +++ b/Sources/ArgumentParser/Parsable Types/ParsableArgumentsValidation.swift @@ -237,7 +237,7 @@ struct ParsableArgumentsUniqueNamesValidator: ParsableArgumentsValidator { switch args.content { case .arguments(let defs): for name in defs.flatMap({ $0.names }) { - countedNames[name.valueString, default: 0] += 1 + countedNames[name.synopsisString, default: 0] += 1 } default: break diff --git a/Tests/ArgumentParserUnitTests/ParsableArgumentsValidationTests.swift b/Tests/ArgumentParserUnitTests/ParsableArgumentsValidationTests.swift index 8a37f97c5..29aa0979f 100644 --- a/Tests/ArgumentParserUnitTests/ParsableArgumentsValidationTests.swift +++ b/Tests/ArgumentParserUnitTests/ParsableArgumentsValidationTests.swift @@ -230,7 +230,7 @@ final class ParsableArgumentsValidationTests: XCTestCase { if let error = ParsableArgumentsUniqueNamesValidator.validate(TwoOfTheSameName.self) as? ParsableArgumentsUniqueNamesValidator.Error { - XCTAssertEqual(error.description, "Multiple (2) `Option` or `Flag` arguments are named \"foo\".") + XCTAssertEqual(error.description, "Multiple (2) `Option` or `Flag` arguments are named \"--foo\".") } else { XCTFail(unexpectedErrorMessage) } @@ -250,7 +250,7 @@ final class ParsableArgumentsValidationTests: XCTestCase { @Flag(name: .customLong("bar")) var notBar: Bool = false - @Option() + @Option(name: [.long, .customLong("help", withSingleDash: true)]) var help: String } @@ -261,12 +261,12 @@ final class ParsableArgumentsValidationTests: XCTestCase { XCTAssert( /// The `Mirror` reflects the properties `foo` and `bar` in a random order each time it's built. error.description == """ - Multiple (2) `Option` or `Flag` arguments are named \"bar\". - Multiple (2) `Option` or `Flag` arguments are named \"foo\". + Multiple (2) `Option` or `Flag` arguments are named \"--bar\". + Multiple (2) `Option` or `Flag` arguments are named \"--foo\". """ || error.description == """ - Multiple (2) `Option` or `Flag` arguments are named \"foo\". - Multiple (2) `Option` or `Flag` arguments are named \"bar\". + Multiple (2) `Option` or `Flag` arguments are named \"--foo\". + Multiple (2) `Option` or `Flag` arguments are named \"--bar\". """ ) } else { @@ -293,7 +293,7 @@ final class ParsableArgumentsValidationTests: XCTestCase { if let error = ParsableArgumentsUniqueNamesValidator.validate(MultipleNamesPerArgument.self) as? ParsableArgumentsUniqueNamesValidator.Error { - XCTAssertEqual(error.description, "Multiple (2) `Option` or `Flag` arguments are named \"v\".") + XCTAssertEqual(error.description, "Multiple (2) `Option` or `Flag` arguments are named \"-v\".") } else { XCTFail(unexpectedErrorMessage) } @@ -324,7 +324,7 @@ final class ParsableArgumentsValidationTests: XCTestCase { if let error = ParsableArgumentsUniqueNamesValidator.validate(FourDuplicateNames.self) as? ParsableArgumentsUniqueNamesValidator.Error { - XCTAssertEqual(error.description, "Multiple (4) `Option` or `Flag` arguments are named \"foo\".") + XCTAssertEqual(error.description, "Multiple (4) `Option` or `Flag` arguments are named \"--foo\".") } else { XCTFail(unexpectedErrorMessage) } @@ -366,7 +366,7 @@ final class ParsableArgumentsValidationTests: XCTestCase { if let error = ParsableArgumentsUniqueNamesValidator.validate(DuplicatedFirstLettersShortNames.self) as? ParsableArgumentsUniqueNamesValidator.Error { - XCTAssertEqual(error.description, "Multiple (3) `Option` or `Flag` arguments are named \"f\".") + XCTAssertEqual(error.description, "Multiple (3) `Option` or `Flag` arguments are named \"-f\".") } else { XCTFail(unexpectedErrorMessage) }