Fix configuration parsing error in `unused_declaration` rule (#4619)

This commit is contained in:
Danny Mösch 2022-12-05 23:11:19 +01:00 committed by GitHub
parent 4dfef014ab
commit 93d0d8fa7f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 28 additions and 1 deletions

View File

@ -34,6 +34,10 @@
#### Bug Fixes
* Fix configuration parsing error in `unused_declaration` rule.
[SimplyDanny](https://github.com/SimplyDanny)
[#4612](https://github.com/realm/SwiftLint/issues/4612)
* Fix false positives in `empty_enum_arguments` when the called expression
is an identifier or an init call.
[Steffen Matthischke](https://github.com/heeaad)

View File

@ -32,7 +32,7 @@ struct UnusedDeclarationConfiguration: RuleConfiguration, Equatable {
}
switch (key, value) {
case (.severity, let stringValue as String):
try severityConfiguration.apply(configuration: [key: stringValue])
try severityConfiguration.apply(configuration: stringValue)
case (.includePublicAndOpen, let boolValue as Bool):
includePublicAndOpen = boolValue
case (.relatedUSRsToSkip, let value):

View File

@ -0,0 +1,23 @@
@testable import SwiftLintFramework
import XCTest
class UnusedDeclarationConfigurationTests: XCTestCase {
func testParseConfiguration() throws {
var testee = UnusedDeclarationConfiguration(
severity: .warning,
includePublicAndOpen: false,
relatedUSRsToSkip: []
)
let config: Any = [
"severity": "error",
"include_public_and_open": true,
"related_usrs_to_skip": ["a", "b"]
]
try testee.apply(configuration: config)
XCTAssertEqual(testee.severityConfiguration.severity, .error)
XCTAssertTrue(testee.includePublicAndOpen)
XCTAssertEqual(testee.relatedUSRsToSkip, ["a", "b"])
}
}