diff --git a/CHANGELOG.md b/CHANGELOG.md index b575048de4..fcee93a56d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ #### Breaking +* Teststate enhancement. + [@aydinomer00](https://github.com/aydinomer00) + [#5803](https://github.com/realm/SwiftLint/issues/5803) + + * The command plugin now requires write permissions so that it works with the `--fix` option without an error. [SimplyDanny](https://github.com/SimplyDanny) @@ -7958,3 +7963,6 @@ This release has seen a phenomenal uptake in community contributions! ## 0.1.0: Fresh Out Of The Dryer First Version! + + + diff --git a/Source/SwiftLintBuiltInRules/Rules/Lint/QuickDiscouragedCallRule.swift b/Source/SwiftLintBuiltInRules/Rules/Lint/QuickDiscouragedCallRule.swift index 9b65c81127..a38e1ba94a 100644 --- a/Source/SwiftLintBuiltInRules/Rules/Lint/QuickDiscouragedCallRule.swift +++ b/Source/SwiftLintBuiltInRules/Rules/Lint/QuickDiscouragedCallRule.swift @@ -47,6 +47,7 @@ struct QuickDiscouragedCallRule: OptInRule { guard kind == .call, let name = dictionary.name, + name != "@TestState", // Exception: Do not trigger a warning for @TestState let kindName = QuickCallKind(rawValue: name), QuickCallKind.restrictiveKinds.contains(kindName) else { return [] } @@ -58,7 +59,7 @@ struct QuickDiscouragedCallRule: OptInRule { reason: "Discouraged call inside a '\(name)' block") } } - + private func violationOffsets(in substructure: [SourceKittenDictionary]) -> [ByteCount] { substructure.flatMap { dictionary -> [ByteCount] in let substructure = dictionary.substructure.flatMap { dict -> [SourceKittenDictionary] in diff --git a/Source/SwiftLintBuiltInRules/Rules/Lint/QuickDiscouragedCallRuleExamples.swift b/Source/SwiftLintBuiltInRules/Rules/Lint/QuickDiscouragedCallRuleExamples.swift index 16ebe4dbdd..5cdf38ab3b 100644 --- a/Source/SwiftLintBuiltInRules/Rules/Lint/QuickDiscouragedCallRuleExamples.swift +++ b/Source/SwiftLintBuiltInRules/Rules/Lint/QuickDiscouragedCallRuleExamples.swift @@ -173,6 +173,13 @@ internal struct QuickDiscouragedCallRuleExamples { } } """), + Example(""" + class TotoTests: QuickSpec { + override func spec() { + @TestState var foo = Foo() + } + } + """), ] static let triggeringExamples: [Example] = [ @@ -324,5 +331,14 @@ internal struct QuickDiscouragedCallRuleExamples { } } """), + Example(""" + class TotoTests: QuickSpec { + override func spec() { + describe("foo") { + @TestState var foo = Foo() + } + } + } + """), ] } diff --git a/Tests/SwiftLintFrameworkTests/PrivateOverFilePrivateRuleTests.swift b/Tests/SwiftLintFrameworkTests/PrivateOverFilePrivateRuleTests.swift index 56a97267ef..7f5750b004 100644 --- a/Tests/SwiftLintFrameworkTests/PrivateOverFilePrivateRuleTests.swift +++ b/Tests/SwiftLintFrameworkTests/PrivateOverFilePrivateRuleTests.swift @@ -29,3 +29,4 @@ final class PrivateOverFilePrivateRuleTests: SwiftLintTestCase { verifyRule(description, ruleConfiguration: ["validate_extensions": false]) } } +