Files
SwiftLint/Tests/BuiltInRulesTests/ImplicitReturnConfigurationTests.swift
Danny Mösch 15b285527a Separate built-in rule tests from framework tests (#5924)
* Short names for test modules
* Lint plugins and `Package.swift` in integration tests
* Simplify and merge file groups in Bazel
* Move common functions to `TestHelpers`
2024-12-30 12:26:46 +01:00

40 lines
1.3 KiB
Swift

@testable import SwiftLintBuiltInRules
import TestHelpers
import XCTest
final class ImplicitReturnConfigurationTests: SwiftLintTestCase {
func testImplicitReturnConfigurationFromDictionary() throws {
var configuration = ImplicitReturnConfiguration(includedKinds: Set<ImplicitReturnConfiguration.ReturnKind>())
let config: [String: Any] = [
"severity": "error",
"included": [
"closure",
"function",
"getter",
"initializer",
"subscript",
],
]
try configuration.apply(configuration: config)
let expectedKinds: Set<ImplicitReturnConfiguration.ReturnKind> = Set([
.closure,
.function,
.getter,
.initializer,
.subscript,
])
XCTAssertEqual(configuration.severityConfiguration.severity, .error)
XCTAssertEqual(configuration.includedKinds, expectedKinds)
}
func testImplicitReturnConfigurationThrowsOnUnrecognizedModifierGroup() {
var configuration = ImplicitReturnConfiguration()
let config = ["included": ["foreach"]] as [String: any Sendable]
checkError(Issue.invalidConfiguration(ruleID: ImplicitReturnRule.identifier)) {
try configuration.apply(configuration: config)
}
}
}