From 8aadb802fbf18d3c19a574296d7d57965e34bb19 Mon Sep 17 00:00:00 2001 From: Marcelo Fabri Date: Sun, 1 Jul 2018 17:32:00 -0700 Subject: [PATCH] Split RulesTests into several test cases, generating them automatically --- .sourcery/AutomaticRuleTests.stencil | 15 + Makefile | 8 +- .../Models/MasterRuleList.swift | 2 +- .../SwiftLintFramework/Protocols/Rule.swift | 2 + .../Rules/AnyObjectProtocolRule.swift | 3 +- .../Rules/ArrayInitRule.swift | 2 +- .../Rules/BlockBasedKVORule.swift | 2 +- .../Rules/ClassDelegateProtocolRule.swift | 2 +- .../Rules/ClosingBraceRule.swift | 2 +- .../Rules/ClosureEndIndentationRule.swift | 2 +- .../Rules/ClosureParameterPositionRule.swift | 2 +- .../Rules/ClosureSpacingRule.swift | 2 +- .../SwiftLintFramework/Rules/CommaRule.swift | 2 +- .../Rules/CompilerProtocolInitRule.swift | 2 +- .../ConditionalReturnsOnNewlineRule.swift | 2 +- .../Rules/ContainsOverFirstNotNilRule.swift | 2 +- .../Rules/ControlStatementRule.swift | 2 +- .../Rules/ConvenienceTypeRule.swift | 2 +- ...cardedNotificationCenterObserverRule.swift | 2 +- .../Rules/DiscouragedObjectLiteralRule.swift | 2 +- .../DiscouragedOptionalBooleanRule.swift | 2 +- .../DiscouragedOptionalCollectionRule.swift | 2 +- .../Rules/DynamicInlineRule.swift | 2 +- .../Rules/EmptyCountRule.swift | 2 +- .../Rules/EmptyEnumArgumentsRule.swift | 2 +- .../Rules/EmptyParametersRule.swift | 2 +- ...tyParenthesesWithTrailingClosureRule.swift | 3 +- .../Rules/EmptyStringRule.swift | 2 +- .../Rules/EmptyXCTestMethodRule.swift | 2 +- .../Rules/ExplicitACLRule.swift | 2 +- .../Rules/ExplicitEnumRawValueRule.swift | 2 +- .../Rules/ExplicitInitRule.swift | 2 +- .../Rules/ExplicitTopLevelACLRule.swift | 2 +- .../Rules/ExtensionAccessModifierRule.swift | 2 +- .../Rules/FallthroughRule.swift | 2 +- .../Rules/FatalErrorMessageRule.swift | 2 +- .../Rules/FirstWhereRule.swift | 2 +- .../Rules/ForWhereRule.swift | 2 +- .../Rules/ForceCastRule.swift | 2 +- .../Rules/ForceTryRule.swift | 2 +- .../Rules/ForceUnwrappingRule.swift | 2 +- .../FunctionDefaultParameterAtEndRule.swift | 2 +- .../Rules/ImplicitGetterRule.swift | 2 +- .../Rules/ImplicitReturnRule.swift | 2 +- .../Rules/IsDisjointRule.swift | 2 +- .../Rules/JoinedDefaultParameterRule.swift | 3 +- .../Rules/LargeTupleRule.swift | 2 +- .../Rules/LegacyCGGeometryFunctionsRule.swift | 2 +- .../Rules/LegacyConstantRule.swift | 2 +- .../Rules/LegacyConstructorRule.swift | 2 +- .../Rules/LegacyNSGeometryFunctionsRule.swift | 2 +- .../Rules/LetVarWhitespaceRule.swift | 2 +- .../LiteralExpressionEndIdentationRule.swift | 2 +- .../Rules/LowerACLThanParentRule.swift | 2 +- .../Rules/MultilineFunctionChainsRule.swift | 2 +- .../Rules/MultilineParametersRule.swift | 2 +- ...tipleClosuresWithTrailingClosureRule.swift | 2 +- .../Rules/NestingRule.swift | 2 +- .../Rules/NimbleOperatorRule.swift | 2 +- .../Rules/NoExtensionAccessModifierRule.swift | 2 +- .../Rules/NoFallthroughOnlyRule.swift | 2 +- .../Rules/NoGroupingExtensionRule.swift | 2 +- .../NotificationCenterDetachmentRule.swift | 2 +- .../Rules/OpeningBraceRule.swift | 2 +- .../OperatorFunctionWhitespaceRule.swift | 2 +- .../Rules/OperatorUsageWhitespaceRule.swift | 3 +- .../Rules/OverriddenSuperCallRule.swift | 2 +- .../Rules/OverrideInExtensionRule.swift | 2 +- .../Rules/PatternMatchingKeywordsRule.swift | 2 +- .../Rules/PrefixedTopLevelConstantRule.swift | 2 +- .../Rules/PrivateActionRule.swift | 2 +- .../Rules/PrivateUnitTestRule.swift | 2 +- .../Rules/ProhibitedSuperRule.swift | 2 +- .../ProtocolPropertyAccessorsOrderRule.swift | 2 +- .../Rules/QuickDiscouragedCallRule.swift | 2 +- .../QuickDiscouragedFocusedTestRule.swift | 2 +- .../QuickDiscouragedPendingTestRule.swift | 2 +- .../Rules/RedundantDiscardableLetRule.swift | 2 +- .../Rules/RedundantNilCoalescingRule.swift | 2 +- .../RedundantOptionalInitializationRule.swift | 3 +- .../Rules/RedundantSetAccessControlRule.swift | 2 +- .../Rules/RedundantStringEnumValueRule.swift | 2 +- .../Rules/RedundantVoidReturnRule.swift | 2 +- .../Rules/ReturnArrowWhitespaceRule.swift | 2 +- .../Rules/ShorthandOperatorRule.swift | 2 +- .../Rules/SingleTestClassRule.swift | 2 +- .../Rules/SortedFirstLastRule.swift | 2 +- .../Rules/SortedImportsRule.swift | 2 +- .../Rules/StrictFilePrivateRule.swift | 2 +- .../Rules/SwitchCaseOnNewlineRule.swift | 2 +- .../Rules/SyntacticSugarRule.swift | 2 +- .../Rules/TrailingClosureRule.swift | 2 +- .../Rules/TrailingSemicolonRule.swift | 2 +- .../Rules/TypeBodyLengthRule.swift | 2 +- .../Rules/UnavailableFunctionRule.swift | 2 +- .../Rules/UnneededBreakInSwitchRule.swift | 2 +- ...ededParenthesesInClosureArgumentRule.swift | 3 +- .../Rules/UntypedErrorInCatchRule.swift | 2 +- .../Rules/UnusedClosureParameterRule.swift | 2 +- .../Rules/UnusedEnumeratedRule.swift | 2 +- .../Rules/ValidIBInspectableRule.swift | 2 +- ...VerticalParameterAlignmentOnCallRule.swift | 3 +- .../VerticalParameterAlignmentRule.swift | 2 +- .../Rules/VoidReturnRule.swift | 2 +- .../Rules/WeakDelegateRule.swift | 2 +- .../Rules/XCTFailMessageRule.swift | 2 +- .../Rules/YodaConditionRule.swift | 2 +- SwiftLint.xcodeproj/project.pbxproj | 35 +- Tests/LinuxMain.swift | 868 +++++++++++++++--- .../AutomaticRuleTests.generated.swift | 628 +++++++++++++ .../FunctionBodyLengthRuleTests.swift | 4 + .../FunctionParameterCountRuleTests.swift | 4 + ...ImplicitlyUnwrappedOptionalRuleTests.swift | 4 + .../PrivateOutletRuleTests.swift | 21 + .../SwiftLintFrameworkTests/RulesTests.swift | 492 ---------- .../StatementPositionRuleTests.swift | 13 + .../SwitchCaseAlignmentRuleTests.swift | 4 + .../TrailingWhitespaceTests.swift | 33 + 118 files changed, 1631 insertions(+), 715 deletions(-) create mode 100644 .sourcery/AutomaticRuleTests.stencil create mode 100644 Tests/SwiftLintFrameworkTests/AutomaticRuleTests.generated.swift create mode 100644 Tests/SwiftLintFrameworkTests/PrivateOutletRuleTests.swift create mode 100644 Tests/SwiftLintFrameworkTests/StatementPositionRuleTests.swift create mode 100644 Tests/SwiftLintFrameworkTests/TrailingWhitespaceTests.swift diff --git a/.sourcery/AutomaticRuleTests.stencil b/.sourcery/AutomaticRuleTests.stencil new file mode 100644 index 000000000..d459f63f5 --- /dev/null +++ b/.sourcery/AutomaticRuleTests.stencil @@ -0,0 +1,15 @@ +import SwiftLintFramework +import XCTest + +// swiftlint:disable file_length single_test_class type_name + +{% for rule in types.structs|based:"AutomaticTestableRule" %} +class {{ rule.name }}Tests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule({{ rule.name }}.description) + } +} + +{% endfor %} +// just to avoid a file_name warning +private struct AutomaticRuleTests {} diff --git a/Makefile b/Makefile index 91de25353..a44963f46 100644 --- a/Makefile +++ b/Makefile @@ -35,16 +35,20 @@ VERSION_STRING=$(shell /usr/libexec/PlistBuddy -c "Print :CFBundleShortVersionSt all: build -sourcery: Tests/LinuxMain.swift Source/SwiftLintFramework/Models/MasterRuleList.swift +sourcery: Tests/LinuxMain.swift Source/SwiftLintFramework/Models/MasterRuleList.swift Tests/SwiftLintFrameworkTests/AutomaticRuleTests.swift Tests/LinuxMain.swift: Tests/*/*.swift .sourcery/LinuxMain.stencil - sourcery --sources Tests --templates .sourcery/LinuxMain.stencil --output .sourcery + sourcery --sources Tests --templates .sourcery/LinuxMain.stencil --output .sourcery --force-parse generated mv .sourcery/LinuxMain.generated.swift Tests/LinuxMain.swift Source/SwiftLintFramework/Models/MasterRuleList.swift: Source/SwiftLintFramework/Rules/*.swift .sourcery/MasterRuleList.stencil sourcery --sources Source/SwiftLintFramework/Rules --templates .sourcery/MasterRuleList.stencil --output .sourcery mv .sourcery/MasterRuleList.generated.swift Source/SwiftLintFramework/Models/MasterRuleList.swift +Tests/SwiftLintFrameworkTests/AutomaticRuleTests.generated.swift: Source/SwiftLintFramework/Rules/*.swift .sourcery/AutomaticRuleTests.stencil + sourcery --sources Source/SwiftLintFramework/Rules --templates .sourcery/AutomaticRuleTests.stencil --output .sourcery + mv .sourcery/AutomaticRuleTests.generated.swift Tests/SwiftLintFrameworkTests/AutomaticRuleTests.generated.swift + bootstrap: script/bootstrap diff --git a/Source/SwiftLintFramework/Models/MasterRuleList.swift b/Source/SwiftLintFramework/Models/MasterRuleList.swift index 755843650..1a7ca5211 100644 --- a/Source/SwiftLintFramework/Models/MasterRuleList.swift +++ b/Source/SwiftLintFramework/Models/MasterRuleList.swift @@ -1,4 +1,4 @@ -// Generated using Sourcery 0.13.1 — https://github.com/krzysztofzablocki/Sourcery +// Generated using Sourcery 0.11.2 — https://github.com/krzysztofzablocki/Sourcery // DO NOT EDIT public let masterRuleList = RuleList(rules: [ diff --git a/Source/SwiftLintFramework/Protocols/Rule.swift b/Source/SwiftLintFramework/Protocols/Rule.swift index 3b7815257..ed5a19dd9 100644 --- a/Source/SwiftLintFramework/Protocols/Rule.swift +++ b/Source/SwiftLintFramework/Protocols/Rule.swift @@ -23,6 +23,8 @@ extension Rule { public protocol OptInRule: Rule {} +public protocol AutomaticTestableRule: Rule {} + public protocol ConfigurationProviderRule: Rule { associatedtype ConfigurationType: RuleConfiguration diff --git a/Source/SwiftLintFramework/Rules/AnyObjectProtocolRule.swift b/Source/SwiftLintFramework/Rules/AnyObjectProtocolRule.swift index 370e618df..4b495e6e1 100644 --- a/Source/SwiftLintFramework/Rules/AnyObjectProtocolRule.swift +++ b/Source/SwiftLintFramework/Rules/AnyObjectProtocolRule.swift @@ -1,7 +1,8 @@ import Foundation import SourceKittenFramework -public struct AnyObjectProtocolRule: ASTRule, OptInRule, CorrectableRule, ConfigurationProviderRule { +public struct AnyObjectProtocolRule: ASTRule, OptInRule, CorrectableRule, + ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/ArrayInitRule.swift b/Source/SwiftLintFramework/Rules/ArrayInitRule.swift index 06bf78cc1..5e52b86b0 100644 --- a/Source/SwiftLintFramework/Rules/ArrayInitRule.swift +++ b/Source/SwiftLintFramework/Rules/ArrayInitRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct ArrayInitRule: ASTRule, ConfigurationProviderRule, OptInRule { +public struct ArrayInitRule: ASTRule, ConfigurationProviderRule, OptInRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/BlockBasedKVORule.swift b/Source/SwiftLintFramework/Rules/BlockBasedKVORule.swift index d2a9313a4..65459ef03 100644 --- a/Source/SwiftLintFramework/Rules/BlockBasedKVORule.swift +++ b/Source/SwiftLintFramework/Rules/BlockBasedKVORule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct BlockBasedKVORule: ASTRule, ConfigurationProviderRule { +public struct BlockBasedKVORule: ASTRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/ClassDelegateProtocolRule.swift b/Source/SwiftLintFramework/Rules/ClassDelegateProtocolRule.swift index 593595de6..73793d247 100644 --- a/Source/SwiftLintFramework/Rules/ClassDelegateProtocolRule.swift +++ b/Source/SwiftLintFramework/Rules/ClassDelegateProtocolRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct ClassDelegateProtocolRule: ASTRule, ConfigurationProviderRule { +public struct ClassDelegateProtocolRule: ASTRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/ClosingBraceRule.swift b/Source/SwiftLintFramework/Rules/ClosingBraceRule.swift index 587311807..4f7bccde0 100644 --- a/Source/SwiftLintFramework/Rules/ClosingBraceRule.swift +++ b/Source/SwiftLintFramework/Rules/ClosingBraceRule.swift @@ -7,7 +7,7 @@ private extension File { } } -public struct ClosingBraceRule: CorrectableRule, ConfigurationProviderRule { +public struct ClosingBraceRule: CorrectableRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) diff --git a/Source/SwiftLintFramework/Rules/ClosureEndIndentationRule.swift b/Source/SwiftLintFramework/Rules/ClosureEndIndentationRule.swift index e1fcb0ee4..c215dee75 100644 --- a/Source/SwiftLintFramework/Rules/ClosureEndIndentationRule.swift +++ b/Source/SwiftLintFramework/Rules/ClosureEndIndentationRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct ClosureEndIndentationRule: Rule, OptInRule, ConfigurationProviderRule { +public struct ClosureEndIndentationRule: Rule, OptInRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/ClosureParameterPositionRule.swift b/Source/SwiftLintFramework/Rules/ClosureParameterPositionRule.swift index d6b9a4b8d..aceab3040 100644 --- a/Source/SwiftLintFramework/Rules/ClosureParameterPositionRule.swift +++ b/Source/SwiftLintFramework/Rules/ClosureParameterPositionRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct ClosureParameterPositionRule: ASTRule, ConfigurationProviderRule { +public struct ClosureParameterPositionRule: ASTRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/ClosureSpacingRule.swift b/Source/SwiftLintFramework/Rules/ClosureSpacingRule.swift index 76ca8e020..3b6c247a3 100644 --- a/Source/SwiftLintFramework/Rules/ClosureSpacingRule.swift +++ b/Source/SwiftLintFramework/Rules/ClosureSpacingRule.swift @@ -16,7 +16,7 @@ extension NSRange { } } -public struct ClosureSpacingRule: CorrectableRule, ConfigurationProviderRule, OptInRule { +public struct ClosureSpacingRule: CorrectableRule, ConfigurationProviderRule, OptInRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) diff --git a/Source/SwiftLintFramework/Rules/CommaRule.swift b/Source/SwiftLintFramework/Rules/CommaRule.swift index 2b08e4e7c..b14b68d33 100644 --- a/Source/SwiftLintFramework/Rules/CommaRule.swift +++ b/Source/SwiftLintFramework/Rules/CommaRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct CommaRule: CorrectableRule, ConfigurationProviderRule { +public struct CommaRule: CorrectableRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) diff --git a/Source/SwiftLintFramework/Rules/CompilerProtocolInitRule.swift b/Source/SwiftLintFramework/Rules/CompilerProtocolInitRule.swift index c55d362bb..4e93b3d6c 100644 --- a/Source/SwiftLintFramework/Rules/CompilerProtocolInitRule.swift +++ b/Source/SwiftLintFramework/Rules/CompilerProtocolInitRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct CompilerProtocolInitRule: ASTRule, ConfigurationProviderRule { +public struct CompilerProtocolInitRule: ASTRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/ConditionalReturnsOnNewlineRule.swift b/Source/SwiftLintFramework/Rules/ConditionalReturnsOnNewlineRule.swift index d7a8c47eb..43389f095 100644 --- a/Source/SwiftLintFramework/Rules/ConditionalReturnsOnNewlineRule.swift +++ b/Source/SwiftLintFramework/Rules/ConditionalReturnsOnNewlineRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct ConditionalReturnsOnNewlineRule: ConfigurationProviderRule, Rule, OptInRule { +public struct ConditionalReturnsOnNewlineRule: ConfigurationProviderRule, Rule, OptInRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/ContainsOverFirstNotNilRule.swift b/Source/SwiftLintFramework/Rules/ContainsOverFirstNotNilRule.swift index bb9771f50..d6c9e1ba0 100644 --- a/Source/SwiftLintFramework/Rules/ContainsOverFirstNotNilRule.swift +++ b/Source/SwiftLintFramework/Rules/ContainsOverFirstNotNilRule.swift @@ -1,6 +1,6 @@ import SourceKittenFramework -public struct ContainsOverFirstNotNilRule: CallPairRule, OptInRule, ConfigurationProviderRule { +public struct ContainsOverFirstNotNilRule: CallPairRule, OptInRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/ControlStatementRule.swift b/Source/SwiftLintFramework/Rules/ControlStatementRule.swift index 71d574fe0..aaccff310 100644 --- a/Source/SwiftLintFramework/Rules/ControlStatementRule.swift +++ b/Source/SwiftLintFramework/Rules/ControlStatementRule.swift @@ -1,6 +1,6 @@ import SourceKittenFramework -public struct ControlStatementRule: ConfigurationProviderRule { +public struct ControlStatementRule: ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) diff --git a/Source/SwiftLintFramework/Rules/ConvenienceTypeRule.swift b/Source/SwiftLintFramework/Rules/ConvenienceTypeRule.swift index 66139809b..b68c1ac47 100644 --- a/Source/SwiftLintFramework/Rules/ConvenienceTypeRule.swift +++ b/Source/SwiftLintFramework/Rules/ConvenienceTypeRule.swift @@ -1,6 +1,6 @@ import SourceKittenFramework -public struct ConvenienceTypeRule: ASTRule, OptInRule, ConfigurationProviderRule { +public struct ConvenienceTypeRule: ASTRule, OptInRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/DiscardedNotificationCenterObserverRule.swift b/Source/SwiftLintFramework/Rules/DiscardedNotificationCenterObserverRule.swift index 3ad144567..dbd63d27b 100644 --- a/Source/SwiftLintFramework/Rules/DiscardedNotificationCenterObserverRule.swift +++ b/Source/SwiftLintFramework/Rules/DiscardedNotificationCenterObserverRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct DiscardedNotificationCenterObserverRule: ASTRule, ConfigurationProviderRule { +public struct DiscardedNotificationCenterObserverRule: ASTRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/DiscouragedObjectLiteralRule.swift b/Source/SwiftLintFramework/Rules/DiscouragedObjectLiteralRule.swift index 87f801b13..74984c07d 100644 --- a/Source/SwiftLintFramework/Rules/DiscouragedObjectLiteralRule.swift +++ b/Source/SwiftLintFramework/Rules/DiscouragedObjectLiteralRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct DiscouragedObjectLiteralRule: ASTRule, OptInRule, ConfigurationProviderRule { +public struct DiscouragedObjectLiteralRule: ASTRule, OptInRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/DiscouragedOptionalBooleanRule.swift b/Source/SwiftLintFramework/Rules/DiscouragedOptionalBooleanRule.swift index 20ab75e1b..687162c21 100644 --- a/Source/SwiftLintFramework/Rules/DiscouragedOptionalBooleanRule.swift +++ b/Source/SwiftLintFramework/Rules/DiscouragedOptionalBooleanRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct DiscouragedOptionalBooleanRule: OptInRule, ConfigurationProviderRule { +public struct DiscouragedOptionalBooleanRule: OptInRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/DiscouragedOptionalCollectionRule.swift b/Source/SwiftLintFramework/Rules/DiscouragedOptionalCollectionRule.swift index f8849a525..858f7fa6d 100644 --- a/Source/SwiftLintFramework/Rules/DiscouragedOptionalCollectionRule.swift +++ b/Source/SwiftLintFramework/Rules/DiscouragedOptionalCollectionRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct DiscouragedOptionalCollectionRule: ASTRule, OptInRule, ConfigurationProviderRule { +public struct DiscouragedOptionalCollectionRule: ASTRule, OptInRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/DynamicInlineRule.swift b/Source/SwiftLintFramework/Rules/DynamicInlineRule.swift index 72c003136..53c4d0230 100644 --- a/Source/SwiftLintFramework/Rules/DynamicInlineRule.swift +++ b/Source/SwiftLintFramework/Rules/DynamicInlineRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct DynamicInlineRule: ASTRule, ConfigurationProviderRule { +public struct DynamicInlineRule: ASTRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.error) diff --git a/Source/SwiftLintFramework/Rules/EmptyCountRule.swift b/Source/SwiftLintFramework/Rules/EmptyCountRule.swift index 9e1e10d42..6bef0a29b 100644 --- a/Source/SwiftLintFramework/Rules/EmptyCountRule.swift +++ b/Source/SwiftLintFramework/Rules/EmptyCountRule.swift @@ -1,6 +1,6 @@ import SourceKittenFramework -public struct EmptyCountRule: ConfigurationProviderRule, OptInRule { +public struct EmptyCountRule: ConfigurationProviderRule, OptInRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.error) public init() {} diff --git a/Source/SwiftLintFramework/Rules/EmptyEnumArgumentsRule.swift b/Source/SwiftLintFramework/Rules/EmptyEnumArgumentsRule.swift index e3cc09c95..115bc7611 100644 --- a/Source/SwiftLintFramework/Rules/EmptyEnumArgumentsRule.swift +++ b/Source/SwiftLintFramework/Rules/EmptyEnumArgumentsRule.swift @@ -18,7 +18,7 @@ private func wrapInFunc(_ str: String) -> String { """ } -public struct EmptyEnumArgumentsRule: ASTRule, ConfigurationProviderRule, CorrectableRule { +public struct EmptyEnumArgumentsRule: ASTRule, ConfigurationProviderRule, CorrectableRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/EmptyParametersRule.swift b/Source/SwiftLintFramework/Rules/EmptyParametersRule.swift index 975582d67..133f8988d 100644 --- a/Source/SwiftLintFramework/Rules/EmptyParametersRule.swift +++ b/Source/SwiftLintFramework/Rules/EmptyParametersRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct EmptyParametersRule: ConfigurationProviderRule, CorrectableRule { +public struct EmptyParametersRule: ConfigurationProviderRule, CorrectableRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/EmptyParenthesesWithTrailingClosureRule.swift b/Source/SwiftLintFramework/Rules/EmptyParenthesesWithTrailingClosureRule.swift index eed49d3cd..fa5df3808 100644 --- a/Source/SwiftLintFramework/Rules/EmptyParenthesesWithTrailingClosureRule.swift +++ b/Source/SwiftLintFramework/Rules/EmptyParenthesesWithTrailingClosureRule.swift @@ -1,7 +1,8 @@ import Foundation import SourceKittenFramework -public struct EmptyParenthesesWithTrailingClosureRule: ASTRule, CorrectableRule, ConfigurationProviderRule { +public struct EmptyParenthesesWithTrailingClosureRule: ASTRule, CorrectableRule, ConfigurationProviderRule, + AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/EmptyStringRule.swift b/Source/SwiftLintFramework/Rules/EmptyStringRule.swift index 38102589c..93f52374a 100644 --- a/Source/SwiftLintFramework/Rules/EmptyStringRule.swift +++ b/Source/SwiftLintFramework/Rules/EmptyStringRule.swift @@ -1,6 +1,6 @@ import SourceKittenFramework -public struct EmptyStringRule: ConfigurationProviderRule, OptInRule { +public struct EmptyStringRule: ConfigurationProviderRule, OptInRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/EmptyXCTestMethodRule.swift b/Source/SwiftLintFramework/Rules/EmptyXCTestMethodRule.swift index ee1100aac..ad57fe22b 100644 --- a/Source/SwiftLintFramework/Rules/EmptyXCTestMethodRule.swift +++ b/Source/SwiftLintFramework/Rules/EmptyXCTestMethodRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct EmptyXCTestMethodRule: Rule, OptInRule, ConfigurationProviderRule { +public struct EmptyXCTestMethodRule: Rule, OptInRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) diff --git a/Source/SwiftLintFramework/Rules/ExplicitACLRule.swift b/Source/SwiftLintFramework/Rules/ExplicitACLRule.swift index 4fd797ba5..9c21226d1 100644 --- a/Source/SwiftLintFramework/Rules/ExplicitACLRule.swift +++ b/Source/SwiftLintFramework/Rules/ExplicitACLRule.swift @@ -3,7 +3,7 @@ import SourceKittenFramework private typealias SourceKittenElement = [String: SourceKitRepresentable] -public struct ExplicitACLRule: OptInRule, ConfigurationProviderRule { +public struct ExplicitACLRule: OptInRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) diff --git a/Source/SwiftLintFramework/Rules/ExplicitEnumRawValueRule.swift b/Source/SwiftLintFramework/Rules/ExplicitEnumRawValueRule.swift index 06291ac8d..f32e29f74 100644 --- a/Source/SwiftLintFramework/Rules/ExplicitEnumRawValueRule.swift +++ b/Source/SwiftLintFramework/Rules/ExplicitEnumRawValueRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct ExplicitEnumRawValueRule: ASTRule, OptInRule, ConfigurationProviderRule { +public struct ExplicitEnumRawValueRule: ASTRule, OptInRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/ExplicitInitRule.swift b/Source/SwiftLintFramework/Rules/ExplicitInitRule.swift index 99c9c64e6..8a49c0d31 100644 --- a/Source/SwiftLintFramework/Rules/ExplicitInitRule.swift +++ b/Source/SwiftLintFramework/Rules/ExplicitInitRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct ExplicitInitRule: ASTRule, ConfigurationProviderRule, CorrectableRule, OptInRule { +public struct ExplicitInitRule: ASTRule, ConfigurationProviderRule, CorrectableRule, OptInRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) diff --git a/Source/SwiftLintFramework/Rules/ExplicitTopLevelACLRule.swift b/Source/SwiftLintFramework/Rules/ExplicitTopLevelACLRule.swift index 466f7865d..81d78d18c 100644 --- a/Source/SwiftLintFramework/Rules/ExplicitTopLevelACLRule.swift +++ b/Source/SwiftLintFramework/Rules/ExplicitTopLevelACLRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct ExplicitTopLevelACLRule: OptInRule, ConfigurationProviderRule { +public struct ExplicitTopLevelACLRule: OptInRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/ExtensionAccessModifierRule.swift b/Source/SwiftLintFramework/Rules/ExtensionAccessModifierRule.swift index 364363461..10dbb1e21 100644 --- a/Source/SwiftLintFramework/Rules/ExtensionAccessModifierRule.swift +++ b/Source/SwiftLintFramework/Rules/ExtensionAccessModifierRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct ExtensionAccessModifierRule: ASTRule, ConfigurationProviderRule, OptInRule { +public struct ExtensionAccessModifierRule: ASTRule, ConfigurationProviderRule, OptInRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/FallthroughRule.swift b/Source/SwiftLintFramework/Rules/FallthroughRule.swift index ecb3abefe..6785d2092 100644 --- a/Source/SwiftLintFramework/Rules/FallthroughRule.swift +++ b/Source/SwiftLintFramework/Rules/FallthroughRule.swift @@ -1,6 +1,6 @@ import SourceKittenFramework -public struct FallthroughRule: ConfigurationProviderRule, OptInRule { +public struct FallthroughRule: ConfigurationProviderRule, OptInRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) diff --git a/Source/SwiftLintFramework/Rules/FatalErrorMessageRule.swift b/Source/SwiftLintFramework/Rules/FatalErrorMessageRule.swift index b26693792..0c0ce26bc 100644 --- a/Source/SwiftLintFramework/Rules/FatalErrorMessageRule.swift +++ b/Source/SwiftLintFramework/Rules/FatalErrorMessageRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct FatalErrorMessageRule: ASTRule, ConfigurationProviderRule, OptInRule { +public struct FatalErrorMessageRule: ASTRule, ConfigurationProviderRule, OptInRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/FirstWhereRule.swift b/Source/SwiftLintFramework/Rules/FirstWhereRule.swift index 32296f33c..34b296b97 100644 --- a/Source/SwiftLintFramework/Rules/FirstWhereRule.swift +++ b/Source/SwiftLintFramework/Rules/FirstWhereRule.swift @@ -1,6 +1,6 @@ import SourceKittenFramework -public struct FirstWhereRule: CallPairRule, OptInRule, ConfigurationProviderRule { +public struct FirstWhereRule: CallPairRule, OptInRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/ForWhereRule.swift b/Source/SwiftLintFramework/Rules/ForWhereRule.swift index 3a66311dd..ae9ca204e 100644 --- a/Source/SwiftLintFramework/Rules/ForWhereRule.swift +++ b/Source/SwiftLintFramework/Rules/ForWhereRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct ForWhereRule: ASTRule, ConfigurationProviderRule { +public struct ForWhereRule: ASTRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/ForceCastRule.swift b/Source/SwiftLintFramework/Rules/ForceCastRule.swift index da239b162..3c886c93c 100644 --- a/Source/SwiftLintFramework/Rules/ForceCastRule.swift +++ b/Source/SwiftLintFramework/Rules/ForceCastRule.swift @@ -1,6 +1,6 @@ import SourceKittenFramework -public struct ForceCastRule: ConfigurationProviderRule { +public struct ForceCastRule: ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.error) diff --git a/Source/SwiftLintFramework/Rules/ForceTryRule.swift b/Source/SwiftLintFramework/Rules/ForceTryRule.swift index bc4056289..c97e1070d 100644 --- a/Source/SwiftLintFramework/Rules/ForceTryRule.swift +++ b/Source/SwiftLintFramework/Rules/ForceTryRule.swift @@ -1,6 +1,6 @@ import SourceKittenFramework -public struct ForceTryRule: ConfigurationProviderRule { +public struct ForceTryRule: ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.error) diff --git a/Source/SwiftLintFramework/Rules/ForceUnwrappingRule.swift b/Source/SwiftLintFramework/Rules/ForceUnwrappingRule.swift index d430998fb..c5e3b088f 100644 --- a/Source/SwiftLintFramework/Rules/ForceUnwrappingRule.swift +++ b/Source/SwiftLintFramework/Rules/ForceUnwrappingRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct ForceUnwrappingRule: OptInRule, ConfigurationProviderRule { +public struct ForceUnwrappingRule: OptInRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) diff --git a/Source/SwiftLintFramework/Rules/FunctionDefaultParameterAtEndRule.swift b/Source/SwiftLintFramework/Rules/FunctionDefaultParameterAtEndRule.swift index 094831d84..967299b92 100644 --- a/Source/SwiftLintFramework/Rules/FunctionDefaultParameterAtEndRule.swift +++ b/Source/SwiftLintFramework/Rules/FunctionDefaultParameterAtEndRule.swift @@ -1,6 +1,6 @@ import SourceKittenFramework -public struct FunctionDefaultParameterAtEndRule: ASTRule, ConfigurationProviderRule, OptInRule { +public struct FunctionDefaultParameterAtEndRule: ASTRule, ConfigurationProviderRule, OptInRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/ImplicitGetterRule.swift b/Source/SwiftLintFramework/Rules/ImplicitGetterRule.swift index 98640cf97..556498625 100644 --- a/Source/SwiftLintFramework/Rules/ImplicitGetterRule.swift +++ b/Source/SwiftLintFramework/Rules/ImplicitGetterRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct ImplicitGetterRule: ConfigurationProviderRule { +public struct ImplicitGetterRule: ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/ImplicitReturnRule.swift b/Source/SwiftLintFramework/Rules/ImplicitReturnRule.swift index 1f49078e9..e30d50e8a 100644 --- a/Source/SwiftLintFramework/Rules/ImplicitReturnRule.swift +++ b/Source/SwiftLintFramework/Rules/ImplicitReturnRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct ImplicitReturnRule: ConfigurationProviderRule, CorrectableRule, OptInRule { +public struct ImplicitReturnRule: ConfigurationProviderRule, CorrectableRule, OptInRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/IsDisjointRule.swift b/Source/SwiftLintFramework/Rules/IsDisjointRule.swift index f426a1632..3ee357149 100644 --- a/Source/SwiftLintFramework/Rules/IsDisjointRule.swift +++ b/Source/SwiftLintFramework/Rules/IsDisjointRule.swift @@ -1,6 +1,6 @@ import SourceKittenFramework -public struct IsDisjointRule: ConfigurationProviderRule { +public struct IsDisjointRule: ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/JoinedDefaultParameterRule.swift b/Source/SwiftLintFramework/Rules/JoinedDefaultParameterRule.swift index 855164bd4..57289aea4 100644 --- a/Source/SwiftLintFramework/Rules/JoinedDefaultParameterRule.swift +++ b/Source/SwiftLintFramework/Rules/JoinedDefaultParameterRule.swift @@ -1,7 +1,8 @@ import Foundation import SourceKittenFramework -public struct JoinedDefaultParameterRule: ASTRule, ConfigurationProviderRule, OptInRule, CorrectableRule { +public struct JoinedDefaultParameterRule: ASTRule, ConfigurationProviderRule, OptInRule, CorrectableRule, + AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/LargeTupleRule.swift b/Source/SwiftLintFramework/Rules/LargeTupleRule.swift index 767260150..717df3065 100644 --- a/Source/SwiftLintFramework/Rules/LargeTupleRule.swift +++ b/Source/SwiftLintFramework/Rules/LargeTupleRule.swift @@ -10,7 +10,7 @@ private enum RangeKind { case generic } -public struct LargeTupleRule: ASTRule, ConfigurationProviderRule { +public struct LargeTupleRule: ASTRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityLevelsConfiguration(warning: 2, error: 3) diff --git a/Source/SwiftLintFramework/Rules/LegacyCGGeometryFunctionsRule.swift b/Source/SwiftLintFramework/Rules/LegacyCGGeometryFunctionsRule.swift index 22b30bc30..fd2d769b2 100644 --- a/Source/SwiftLintFramework/Rules/LegacyCGGeometryFunctionsRule.swift +++ b/Source/SwiftLintFramework/Rules/LegacyCGGeometryFunctionsRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct LegacyCGGeometryFunctionsRule: CorrectableRule, ConfigurationProviderRule { +public struct LegacyCGGeometryFunctionsRule: CorrectableRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/LegacyConstantRule.swift b/Source/SwiftLintFramework/Rules/LegacyConstantRule.swift index 6727f3001..6c2e5ff9f 100644 --- a/Source/SwiftLintFramework/Rules/LegacyConstantRule.swift +++ b/Source/SwiftLintFramework/Rules/LegacyConstantRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct LegacyConstantRule: CorrectableRule, ConfigurationProviderRule { +public struct LegacyConstantRule: CorrectableRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) diff --git a/Source/SwiftLintFramework/Rules/LegacyConstructorRule.swift b/Source/SwiftLintFramework/Rules/LegacyConstructorRule.swift index 1eccb79c8..30bff81eb 100644 --- a/Source/SwiftLintFramework/Rules/LegacyConstructorRule.swift +++ b/Source/SwiftLintFramework/Rules/LegacyConstructorRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct LegacyConstructorRule: ASTRule, CorrectableRule, ConfigurationProviderRule { +public struct LegacyConstructorRule: ASTRule, CorrectableRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) diff --git a/Source/SwiftLintFramework/Rules/LegacyNSGeometryFunctionsRule.swift b/Source/SwiftLintFramework/Rules/LegacyNSGeometryFunctionsRule.swift index 4dfa27750..7ec31333c 100644 --- a/Source/SwiftLintFramework/Rules/LegacyNSGeometryFunctionsRule.swift +++ b/Source/SwiftLintFramework/Rules/LegacyNSGeometryFunctionsRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct LegacyNSGeometryFunctionsRule: CorrectableRule, ConfigurationProviderRule { +public struct LegacyNSGeometryFunctionsRule: CorrectableRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/LetVarWhitespaceRule.swift b/Source/SwiftLintFramework/Rules/LetVarWhitespaceRule.swift index ca87c418f..1162061e1 100644 --- a/Source/SwiftLintFramework/Rules/LetVarWhitespaceRule.swift +++ b/Source/SwiftLintFramework/Rules/LetVarWhitespaceRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct LetVarWhitespaceRule: ConfigurationProviderRule, OptInRule { +public struct LetVarWhitespaceRule: ConfigurationProviderRule, OptInRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) diff --git a/Source/SwiftLintFramework/Rules/LiteralExpressionEndIdentationRule.swift b/Source/SwiftLintFramework/Rules/LiteralExpressionEndIdentationRule.swift index f00615010..3182bf75e 100644 --- a/Source/SwiftLintFramework/Rules/LiteralExpressionEndIdentationRule.swift +++ b/Source/SwiftLintFramework/Rules/LiteralExpressionEndIdentationRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct LiteralExpressionEndIdentationRule: Rule, ConfigurationProviderRule, OptInRule { +public struct LiteralExpressionEndIdentationRule: Rule, ConfigurationProviderRule, OptInRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/LowerACLThanParentRule.swift b/Source/SwiftLintFramework/Rules/LowerACLThanParentRule.swift index b1db399e7..c2809e320 100644 --- a/Source/SwiftLintFramework/Rules/LowerACLThanParentRule.swift +++ b/Source/SwiftLintFramework/Rules/LowerACLThanParentRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct LowerACLThanParentRule: OptInRule, ConfigurationProviderRule { +public struct LowerACLThanParentRule: OptInRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/MultilineFunctionChainsRule.swift b/Source/SwiftLintFramework/Rules/MultilineFunctionChainsRule.swift index 0dabf7894..a58070956 100644 --- a/Source/SwiftLintFramework/Rules/MultilineFunctionChainsRule.swift +++ b/Source/SwiftLintFramework/Rules/MultilineFunctionChainsRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct MultilineFunctionChainsRule: ASTRule, OptInRule, ConfigurationProviderRule { +public struct MultilineFunctionChainsRule: ASTRule, OptInRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/MultilineParametersRule.swift b/Source/SwiftLintFramework/Rules/MultilineParametersRule.swift index d946b324d..f87697006 100644 --- a/Source/SwiftLintFramework/Rules/MultilineParametersRule.swift +++ b/Source/SwiftLintFramework/Rules/MultilineParametersRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct MultilineParametersRule: ASTRule, OptInRule, ConfigurationProviderRule { +public struct MultilineParametersRule: ASTRule, OptInRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) private typealias ParameterRange = (offset: Int, length: Int) diff --git a/Source/SwiftLintFramework/Rules/MultipleClosuresWithTrailingClosureRule.swift b/Source/SwiftLintFramework/Rules/MultipleClosuresWithTrailingClosureRule.swift index afc622dfa..fc385e444 100644 --- a/Source/SwiftLintFramework/Rules/MultipleClosuresWithTrailingClosureRule.swift +++ b/Source/SwiftLintFramework/Rules/MultipleClosuresWithTrailingClosureRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct MultipleClosuresWithTrailingClosureRule: ASTRule, ConfigurationProviderRule { +public struct MultipleClosuresWithTrailingClosureRule: ASTRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/NestingRule.swift b/Source/SwiftLintFramework/Rules/NestingRule.swift index e471512ba..0c5ea8763 100644 --- a/Source/SwiftLintFramework/Rules/NestingRule.swift +++ b/Source/SwiftLintFramework/Rules/NestingRule.swift @@ -1,6 +1,6 @@ import SourceKittenFramework -public struct NestingRule: ASTRule, ConfigurationProviderRule { +public struct NestingRule: ASTRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = NestingConfiguration(typeLevelWarning: 1, typeLevelError: nil, diff --git a/Source/SwiftLintFramework/Rules/NimbleOperatorRule.swift b/Source/SwiftLintFramework/Rules/NimbleOperatorRule.swift index 64ee04818..8d651ae9c 100644 --- a/Source/SwiftLintFramework/Rules/NimbleOperatorRule.swift +++ b/Source/SwiftLintFramework/Rules/NimbleOperatorRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct NimbleOperatorRule: ConfigurationProviderRule, OptInRule, CorrectableRule { +public struct NimbleOperatorRule: ConfigurationProviderRule, OptInRule, CorrectableRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/NoExtensionAccessModifierRule.swift b/Source/SwiftLintFramework/Rules/NoExtensionAccessModifierRule.swift index b6c75e352..6a323917e 100644 --- a/Source/SwiftLintFramework/Rules/NoExtensionAccessModifierRule.swift +++ b/Source/SwiftLintFramework/Rules/NoExtensionAccessModifierRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct NoExtensionAccessModifierRule: ASTRule, OptInRule, ConfigurationProviderRule { +public struct NoExtensionAccessModifierRule: ASTRule, OptInRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.error) public init() {} diff --git a/Source/SwiftLintFramework/Rules/NoFallthroughOnlyRule.swift b/Source/SwiftLintFramework/Rules/NoFallthroughOnlyRule.swift index 81f050948..c5d03d7a3 100644 --- a/Source/SwiftLintFramework/Rules/NoFallthroughOnlyRule.swift +++ b/Source/SwiftLintFramework/Rules/NoFallthroughOnlyRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct NoFallthroughOnlyRule: ASTRule, ConfigurationProviderRule { +public struct NoFallthroughOnlyRule: ASTRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/NoGroupingExtensionRule.swift b/Source/SwiftLintFramework/Rules/NoGroupingExtensionRule.swift index 6fc123b7c..b89f6a19c 100644 --- a/Source/SwiftLintFramework/Rules/NoGroupingExtensionRule.swift +++ b/Source/SwiftLintFramework/Rules/NoGroupingExtensionRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct NoGroupingExtensionRule: OptInRule, ConfigurationProviderRule { +public struct NoGroupingExtensionRule: OptInRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/NotificationCenterDetachmentRule.swift b/Source/SwiftLintFramework/Rules/NotificationCenterDetachmentRule.swift index 465dace04..321d5ee5a 100644 --- a/Source/SwiftLintFramework/Rules/NotificationCenterDetachmentRule.swift +++ b/Source/SwiftLintFramework/Rules/NotificationCenterDetachmentRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct NotificationCenterDetachmentRule: ASTRule, ConfigurationProviderRule { +public struct NotificationCenterDetachmentRule: ASTRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/OpeningBraceRule.swift b/Source/SwiftLintFramework/Rules/OpeningBraceRule.swift index acd84d62d..23a4684e7 100644 --- a/Source/SwiftLintFramework/Rules/OpeningBraceRule.swift +++ b/Source/SwiftLintFramework/Rules/OpeningBraceRule.swift @@ -14,7 +14,7 @@ private extension File { } } -public struct OpeningBraceRule: CorrectableRule, ConfigurationProviderRule { +public struct OpeningBraceRule: CorrectableRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) diff --git a/Source/SwiftLintFramework/Rules/OperatorFunctionWhitespaceRule.swift b/Source/SwiftLintFramework/Rules/OperatorFunctionWhitespaceRule.swift index 3d7ba1fbc..1528a191d 100644 --- a/Source/SwiftLintFramework/Rules/OperatorFunctionWhitespaceRule.swift +++ b/Source/SwiftLintFramework/Rules/OperatorFunctionWhitespaceRule.swift @@ -1,6 +1,6 @@ import SourceKittenFramework -public struct OperatorFunctionWhitespaceRule: ConfigurationProviderRule { +public struct OperatorFunctionWhitespaceRule: ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) diff --git a/Source/SwiftLintFramework/Rules/OperatorUsageWhitespaceRule.swift b/Source/SwiftLintFramework/Rules/OperatorUsageWhitespaceRule.swift index 6478e0ffa..5fb1a6e5f 100644 --- a/Source/SwiftLintFramework/Rules/OperatorUsageWhitespaceRule.swift +++ b/Source/SwiftLintFramework/Rules/OperatorUsageWhitespaceRule.swift @@ -1,7 +1,8 @@ import Foundation import SourceKittenFramework -public struct OperatorUsageWhitespaceRule: OptInRule, CorrectableRule, ConfigurationProviderRule { +public struct OperatorUsageWhitespaceRule: OptInRule, CorrectableRule, ConfigurationProviderRule, + AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) diff --git a/Source/SwiftLintFramework/Rules/OverriddenSuperCallRule.swift b/Source/SwiftLintFramework/Rules/OverriddenSuperCallRule.swift index 439c50b27..91520647b 100644 --- a/Source/SwiftLintFramework/Rules/OverriddenSuperCallRule.swift +++ b/Source/SwiftLintFramework/Rules/OverriddenSuperCallRule.swift @@ -1,6 +1,6 @@ import SourceKittenFramework -public struct OverriddenSuperCallRule: ConfigurationProviderRule, ASTRule, OptInRule { +public struct OverriddenSuperCallRule: ConfigurationProviderRule, ASTRule, OptInRule, AutomaticTestableRule { public var configuration = OverridenSuperCallConfiguration() public init() {} diff --git a/Source/SwiftLintFramework/Rules/OverrideInExtensionRule.swift b/Source/SwiftLintFramework/Rules/OverrideInExtensionRule.swift index 5c197fad8..d3f9ed859 100644 --- a/Source/SwiftLintFramework/Rules/OverrideInExtensionRule.swift +++ b/Source/SwiftLintFramework/Rules/OverrideInExtensionRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct OverrideInExtensionRule: ConfigurationProviderRule, OptInRule { +public struct OverrideInExtensionRule: ConfigurationProviderRule, OptInRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/PatternMatchingKeywordsRule.swift b/Source/SwiftLintFramework/Rules/PatternMatchingKeywordsRule.swift index f930b0a8a..ca297b5cb 100644 --- a/Source/SwiftLintFramework/Rules/PatternMatchingKeywordsRule.swift +++ b/Source/SwiftLintFramework/Rules/PatternMatchingKeywordsRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct PatternMatchingKeywordsRule: ASTRule, ConfigurationProviderRule, OptInRule { +public struct PatternMatchingKeywordsRule: ASTRule, ConfigurationProviderRule, OptInRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/PrefixedTopLevelConstantRule.swift b/Source/SwiftLintFramework/Rules/PrefixedTopLevelConstantRule.swift index ce913ccaa..dad2898e4 100644 --- a/Source/SwiftLintFramework/Rules/PrefixedTopLevelConstantRule.swift +++ b/Source/SwiftLintFramework/Rules/PrefixedTopLevelConstantRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct PrefixedTopLevelConstantRule: ASTRule, OptInRule, ConfigurationProviderRule { +public struct PrefixedTopLevelConstantRule: ASTRule, OptInRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) private let topLevelPrefix = "k" diff --git a/Source/SwiftLintFramework/Rules/PrivateActionRule.swift b/Source/SwiftLintFramework/Rules/PrivateActionRule.swift index d8bf78e5b..dd2b8d316 100644 --- a/Source/SwiftLintFramework/Rules/PrivateActionRule.swift +++ b/Source/SwiftLintFramework/Rules/PrivateActionRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct PrivateActionRule: ASTRule, OptInRule, ConfigurationProviderRule { +public struct PrivateActionRule: ASTRule, OptInRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/PrivateUnitTestRule.swift b/Source/SwiftLintFramework/Rules/PrivateUnitTestRule.swift index f2b162c49..04e7036a8 100644 --- a/Source/SwiftLintFramework/Rules/PrivateUnitTestRule.swift +++ b/Source/SwiftLintFramework/Rules/PrivateUnitTestRule.swift @@ -28,7 +28,7 @@ private extension Dictionary where Key: ExpressibleByStringLiteral { } } -public struct PrivateUnitTestRule: ASTRule, ConfigurationProviderRule, CacheDescriptionProvider { +public struct PrivateUnitTestRule: ASTRule, ConfigurationProviderRule, CacheDescriptionProvider, AutomaticTestableRule { public var configuration: PrivateUnitTestConfiguration = { var configuration = PrivateUnitTestConfiguration(identifier: "private_unit_test") diff --git a/Source/SwiftLintFramework/Rules/ProhibitedSuperRule.swift b/Source/SwiftLintFramework/Rules/ProhibitedSuperRule.swift index c75937865..41dfcc224 100644 --- a/Source/SwiftLintFramework/Rules/ProhibitedSuperRule.swift +++ b/Source/SwiftLintFramework/Rules/ProhibitedSuperRule.swift @@ -1,6 +1,6 @@ import SourceKittenFramework -public struct ProhibitedSuperRule: ConfigurationProviderRule, ASTRule, OptInRule { +public struct ProhibitedSuperRule: ConfigurationProviderRule, ASTRule, OptInRule, AutomaticTestableRule { public var configuration = ProhibitedSuperConfiguration() public init() {} diff --git a/Source/SwiftLintFramework/Rules/ProtocolPropertyAccessorsOrderRule.swift b/Source/SwiftLintFramework/Rules/ProtocolPropertyAccessorsOrderRule.swift index e0595e73e..244e1a48f 100644 --- a/Source/SwiftLintFramework/Rules/ProtocolPropertyAccessorsOrderRule.swift +++ b/Source/SwiftLintFramework/Rules/ProtocolPropertyAccessorsOrderRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct ProtocolPropertyAccessorsOrderRule: ConfigurationProviderRule, CorrectableRule { +public struct ProtocolPropertyAccessorsOrderRule: ConfigurationProviderRule, CorrectableRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) diff --git a/Source/SwiftLintFramework/Rules/QuickDiscouragedCallRule.swift b/Source/SwiftLintFramework/Rules/QuickDiscouragedCallRule.swift index c14ccef1e..726ecfd04 100644 --- a/Source/SwiftLintFramework/Rules/QuickDiscouragedCallRule.swift +++ b/Source/SwiftLintFramework/Rules/QuickDiscouragedCallRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct QuickDiscouragedCallRule: OptInRule, ConfigurationProviderRule { +public struct QuickDiscouragedCallRule: OptInRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/QuickDiscouragedFocusedTestRule.swift b/Source/SwiftLintFramework/Rules/QuickDiscouragedFocusedTestRule.swift index a26afeb8e..75f1021a5 100644 --- a/Source/SwiftLintFramework/Rules/QuickDiscouragedFocusedTestRule.swift +++ b/Source/SwiftLintFramework/Rules/QuickDiscouragedFocusedTestRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct QuickDiscouragedFocusedTestRule: OptInRule, ConfigurationProviderRule { +public struct QuickDiscouragedFocusedTestRule: OptInRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/QuickDiscouragedPendingTestRule.swift b/Source/SwiftLintFramework/Rules/QuickDiscouragedPendingTestRule.swift index 1874f8bbf..9a7efaa2d 100644 --- a/Source/SwiftLintFramework/Rules/QuickDiscouragedPendingTestRule.swift +++ b/Source/SwiftLintFramework/Rules/QuickDiscouragedPendingTestRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct QuickDiscouragedPendingTestRule: OptInRule, ConfigurationProviderRule { +public struct QuickDiscouragedPendingTestRule: OptInRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/RedundantDiscardableLetRule.swift b/Source/SwiftLintFramework/Rules/RedundantDiscardableLetRule.swift index 913b5d070..bb99c6c70 100644 --- a/Source/SwiftLintFramework/Rules/RedundantDiscardableLetRule.swift +++ b/Source/SwiftLintFramework/Rules/RedundantDiscardableLetRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct RedundantDiscardableLetRule: CorrectableRule, ConfigurationProviderRule { +public struct RedundantDiscardableLetRule: CorrectableRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) diff --git a/Source/SwiftLintFramework/Rules/RedundantNilCoalescingRule.swift b/Source/SwiftLintFramework/Rules/RedundantNilCoalescingRule.swift index ac5f74231..7947215b3 100644 --- a/Source/SwiftLintFramework/Rules/RedundantNilCoalescingRule.swift +++ b/Source/SwiftLintFramework/Rules/RedundantNilCoalescingRule.swift @@ -8,7 +8,7 @@ private extension File { } } -public struct RedundantNilCoalescingRule: OptInRule, CorrectableRule, ConfigurationProviderRule { +public struct RedundantNilCoalescingRule: OptInRule, CorrectableRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) diff --git a/Source/SwiftLintFramework/Rules/RedundantOptionalInitializationRule.swift b/Source/SwiftLintFramework/Rules/RedundantOptionalInitializationRule.swift index 121ded86e..171969001 100644 --- a/Source/SwiftLintFramework/Rules/RedundantOptionalInitializationRule.swift +++ b/Source/SwiftLintFramework/Rules/RedundantOptionalInitializationRule.swift @@ -1,7 +1,8 @@ import Foundation import SourceKittenFramework -public struct RedundantOptionalInitializationRule: ASTRule, CorrectableRule, ConfigurationProviderRule { +public struct RedundantOptionalInitializationRule: ASTRule, CorrectableRule, ConfigurationProviderRule, + AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) diff --git a/Source/SwiftLintFramework/Rules/RedundantSetAccessControlRule.swift b/Source/SwiftLintFramework/Rules/RedundantSetAccessControlRule.swift index 1619baa5f..e6ee513f9 100644 --- a/Source/SwiftLintFramework/Rules/RedundantSetAccessControlRule.swift +++ b/Source/SwiftLintFramework/Rules/RedundantSetAccessControlRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct RedundantSetAccessControlRule: ASTRule, ConfigurationProviderRule { +public struct RedundantSetAccessControlRule: ASTRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/RedundantStringEnumValueRule.swift b/Source/SwiftLintFramework/Rules/RedundantStringEnumValueRule.swift index 1b0db05ce..da7d7a229 100644 --- a/Source/SwiftLintFramework/Rules/RedundantStringEnumValueRule.swift +++ b/Source/SwiftLintFramework/Rules/RedundantStringEnumValueRule.swift @@ -12,7 +12,7 @@ private func children(of dict: [String: SourceKitRepresentable], } } -public struct RedundantStringEnumValueRule: ASTRule, ConfigurationProviderRule { +public struct RedundantStringEnumValueRule: ASTRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/RedundantVoidReturnRule.swift b/Source/SwiftLintFramework/Rules/RedundantVoidReturnRule.swift index 4fb44725f..c081c5724 100644 --- a/Source/SwiftLintFramework/Rules/RedundantVoidReturnRule.swift +++ b/Source/SwiftLintFramework/Rules/RedundantVoidReturnRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct RedundantVoidReturnRule: ASTRule, ConfigurationProviderRule, CorrectableRule { +public struct RedundantVoidReturnRule: ASTRule, ConfigurationProviderRule, CorrectableRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) diff --git a/Source/SwiftLintFramework/Rules/ReturnArrowWhitespaceRule.swift b/Source/SwiftLintFramework/Rules/ReturnArrowWhitespaceRule.swift index cf1f50199..a2f5501b9 100644 --- a/Source/SwiftLintFramework/Rules/ReturnArrowWhitespaceRule.swift +++ b/Source/SwiftLintFramework/Rules/ReturnArrowWhitespaceRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct ReturnArrowWhitespaceRule: CorrectableRule, ConfigurationProviderRule { +public struct ReturnArrowWhitespaceRule: CorrectableRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) diff --git a/Source/SwiftLintFramework/Rules/ShorthandOperatorRule.swift b/Source/SwiftLintFramework/Rules/ShorthandOperatorRule.swift index bf46827c6..dfa835602 100644 --- a/Source/SwiftLintFramework/Rules/ShorthandOperatorRule.swift +++ b/Source/SwiftLintFramework/Rules/ShorthandOperatorRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct ShorthandOperatorRule: ConfigurationProviderRule { +public struct ShorthandOperatorRule: ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.error) diff --git a/Source/SwiftLintFramework/Rules/SingleTestClassRule.swift b/Source/SwiftLintFramework/Rules/SingleTestClassRule.swift index 4b2dd4aaf..fef0451e3 100644 --- a/Source/SwiftLintFramework/Rules/SingleTestClassRule.swift +++ b/Source/SwiftLintFramework/Rules/SingleTestClassRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct SingleTestClassRule: Rule, OptInRule, ConfigurationProviderRule { +public struct SingleTestClassRule: Rule, OptInRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public static let description = RuleDescription( diff --git a/Source/SwiftLintFramework/Rules/SortedFirstLastRule.swift b/Source/SwiftLintFramework/Rules/SortedFirstLastRule.swift index 4dac93c17..4820f604c 100644 --- a/Source/SwiftLintFramework/Rules/SortedFirstLastRule.swift +++ b/Source/SwiftLintFramework/Rules/SortedFirstLastRule.swift @@ -1,6 +1,6 @@ import SourceKittenFramework -public struct SortedFirstLastRule: CallPairRule, OptInRule, ConfigurationProviderRule { +public struct SortedFirstLastRule: CallPairRule, OptInRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/SortedImportsRule.swift b/Source/SwiftLintFramework/Rules/SortedImportsRule.swift index 11184dbe4..06b92ee15 100644 --- a/Source/SwiftLintFramework/Rules/SortedImportsRule.swift +++ b/Source/SwiftLintFramework/Rules/SortedImportsRule.swift @@ -46,7 +46,7 @@ private extension Sequence where Element == Line { } } -public struct SortedImportsRule: CorrectableRule, ConfigurationProviderRule, OptInRule { +public struct SortedImportsRule: CorrectableRule, ConfigurationProviderRule, OptInRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/StrictFilePrivateRule.swift b/Source/SwiftLintFramework/Rules/StrictFilePrivateRule.swift index 09ac603a8..0040e46d1 100644 --- a/Source/SwiftLintFramework/Rules/StrictFilePrivateRule.swift +++ b/Source/SwiftLintFramework/Rules/StrictFilePrivateRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct StrictFilePrivateRule: OptInRule, ConfigurationProviderRule { +public struct StrictFilePrivateRule: OptInRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/SwitchCaseOnNewlineRule.swift b/Source/SwiftLintFramework/Rules/SwitchCaseOnNewlineRule.swift index ab1da1eb2..d11715093 100644 --- a/Source/SwiftLintFramework/Rules/SwitchCaseOnNewlineRule.swift +++ b/Source/SwiftLintFramework/Rules/SwitchCaseOnNewlineRule.swift @@ -5,7 +5,7 @@ private func wrapInSwitch(_ str: String) -> String { return "switch foo {\n \(str)\n}\n" } -public struct SwitchCaseOnNewlineRule: ASTRule, ConfigurationProviderRule, OptInRule { +public struct SwitchCaseOnNewlineRule: ASTRule, ConfigurationProviderRule, OptInRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/SyntacticSugarRule.swift b/Source/SwiftLintFramework/Rules/SyntacticSugarRule.swift index 19f9e92c0..dc958a130 100644 --- a/Source/SwiftLintFramework/Rules/SyntacticSugarRule.swift +++ b/Source/SwiftLintFramework/Rules/SyntacticSugarRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct SyntacticSugarRule: ConfigurationProviderRule { +public struct SyntacticSugarRule: ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/TrailingClosureRule.swift b/Source/SwiftLintFramework/Rules/TrailingClosureRule.swift index fbeff0a61..3c85471a8 100644 --- a/Source/SwiftLintFramework/Rules/TrailingClosureRule.swift +++ b/Source/SwiftLintFramework/Rules/TrailingClosureRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct TrailingClosureRule: OptInRule, ConfigurationProviderRule { +public struct TrailingClosureRule: OptInRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/TrailingSemicolonRule.swift b/Source/SwiftLintFramework/Rules/TrailingSemicolonRule.swift index 8a6fa3ac7..5497e8475 100644 --- a/Source/SwiftLintFramework/Rules/TrailingSemicolonRule.swift +++ b/Source/SwiftLintFramework/Rules/TrailingSemicolonRule.swift @@ -8,7 +8,7 @@ private extension File { } } -public struct TrailingSemicolonRule: CorrectableRule, ConfigurationProviderRule { +public struct TrailingSemicolonRule: CorrectableRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) diff --git a/Source/SwiftLintFramework/Rules/TypeBodyLengthRule.swift b/Source/SwiftLintFramework/Rules/TypeBodyLengthRule.swift index e3e475736..00ac5dde0 100644 --- a/Source/SwiftLintFramework/Rules/TypeBodyLengthRule.swift +++ b/Source/SwiftLintFramework/Rules/TypeBodyLengthRule.swift @@ -8,7 +8,7 @@ private func example(_ type: String, repeatElement(template, count: count).joined() + "\(add)}\n" } -public struct TypeBodyLengthRule: ASTRule, ConfigurationProviderRule { +public struct TypeBodyLengthRule: ASTRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityLevelsConfiguration(warning: 200, error: 350) public init() {} diff --git a/Source/SwiftLintFramework/Rules/UnavailableFunctionRule.swift b/Source/SwiftLintFramework/Rules/UnavailableFunctionRule.swift index b6c81dfa1..cb43498e3 100644 --- a/Source/SwiftLintFramework/Rules/UnavailableFunctionRule.swift +++ b/Source/SwiftLintFramework/Rules/UnavailableFunctionRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct UnavailableFunctionRule: ASTRule, ConfigurationProviderRule, OptInRule { +public struct UnavailableFunctionRule: ASTRule, ConfigurationProviderRule, OptInRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/UnneededBreakInSwitchRule.swift b/Source/SwiftLintFramework/Rules/UnneededBreakInSwitchRule.swift index 71ecee66e..059cfa520 100644 --- a/Source/SwiftLintFramework/Rules/UnneededBreakInSwitchRule.swift +++ b/Source/SwiftLintFramework/Rules/UnneededBreakInSwitchRule.swift @@ -7,7 +7,7 @@ private func embedInSwitch(_ text: String, case: String = "case .bar") -> String " \(text)\n" + "}" } -public struct UnneededBreakInSwitchRule: ConfigurationProviderRule { +public struct UnneededBreakInSwitchRule: ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/UnneededParenthesesInClosureArgumentRule.swift b/Source/SwiftLintFramework/Rules/UnneededParenthesesInClosureArgumentRule.swift index 54458e4e5..755c6cbe2 100644 --- a/Source/SwiftLintFramework/Rules/UnneededParenthesesInClosureArgumentRule.swift +++ b/Source/SwiftLintFramework/Rules/UnneededParenthesesInClosureArgumentRule.swift @@ -1,7 +1,8 @@ import Foundation import SourceKittenFramework -public struct UnneededParenthesesInClosureArgumentRule: ConfigurationProviderRule, CorrectableRule, OptInRule { +public struct UnneededParenthesesInClosureArgumentRule: ConfigurationProviderRule, CorrectableRule, OptInRule, + AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/UntypedErrorInCatchRule.swift b/Source/SwiftLintFramework/Rules/UntypedErrorInCatchRule.swift index 6521e2644..faaa2c8a0 100644 --- a/Source/SwiftLintFramework/Rules/UntypedErrorInCatchRule.swift +++ b/Source/SwiftLintFramework/Rules/UntypedErrorInCatchRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct UntypedErrorInCatchRule: OptInRule, ConfigurationProviderRule { +public struct UntypedErrorInCatchRule: OptInRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) diff --git a/Source/SwiftLintFramework/Rules/UnusedClosureParameterRule.swift b/Source/SwiftLintFramework/Rules/UnusedClosureParameterRule.swift index 84de4fb5a..2bb9a22c9 100644 --- a/Source/SwiftLintFramework/Rules/UnusedClosureParameterRule.swift +++ b/Source/SwiftLintFramework/Rules/UnusedClosureParameterRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct UnusedClosureParameterRule: ASTRule, ConfigurationProviderRule, CorrectableRule { +public struct UnusedClosureParameterRule: ASTRule, ConfigurationProviderRule, CorrectableRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/UnusedEnumeratedRule.swift b/Source/SwiftLintFramework/Rules/UnusedEnumeratedRule.swift index 0af8e6bda..c8708def8 100644 --- a/Source/SwiftLintFramework/Rules/UnusedEnumeratedRule.swift +++ b/Source/SwiftLintFramework/Rules/UnusedEnumeratedRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct UnusedEnumeratedRule: ASTRule, ConfigurationProviderRule { +public struct UnusedEnumeratedRule: ASTRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/ValidIBInspectableRule.swift b/Source/SwiftLintFramework/Rules/ValidIBInspectableRule.swift index e184f60e8..0d5f0c3e9 100644 --- a/Source/SwiftLintFramework/Rules/ValidIBInspectableRule.swift +++ b/Source/SwiftLintFramework/Rules/ValidIBInspectableRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct ValidIBInspectableRule: ASTRule, ConfigurationProviderRule { +public struct ValidIBInspectableRule: ASTRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) private static let supportedTypes = ValidIBInspectableRule.createSupportedTypes() diff --git a/Source/SwiftLintFramework/Rules/VerticalParameterAlignmentOnCallRule.swift b/Source/SwiftLintFramework/Rules/VerticalParameterAlignmentOnCallRule.swift index 473bf9d67..f4ec8abf4 100644 --- a/Source/SwiftLintFramework/Rules/VerticalParameterAlignmentOnCallRule.swift +++ b/Source/SwiftLintFramework/Rules/VerticalParameterAlignmentOnCallRule.swift @@ -1,7 +1,8 @@ import Foundation import SourceKittenFramework -public struct VerticalParameterAlignmentOnCallRule: ASTRule, ConfigurationProviderRule, OptInRule { +public struct VerticalParameterAlignmentOnCallRule: ASTRule, ConfigurationProviderRule, OptInRule, + AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/VerticalParameterAlignmentRule.swift b/Source/SwiftLintFramework/Rules/VerticalParameterAlignmentRule.swift index 977b2886e..0d7dbe8b5 100644 --- a/Source/SwiftLintFramework/Rules/VerticalParameterAlignmentRule.swift +++ b/Source/SwiftLintFramework/Rules/VerticalParameterAlignmentRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct VerticalParameterAlignmentRule: ASTRule, ConfigurationProviderRule { +public struct VerticalParameterAlignmentRule: ASTRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/VoidReturnRule.swift b/Source/SwiftLintFramework/Rules/VoidReturnRule.swift index 63c26868b..0669e5620 100644 --- a/Source/SwiftLintFramework/Rules/VoidReturnRule.swift +++ b/Source/SwiftLintFramework/Rules/VoidReturnRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct VoidReturnRule: ConfigurationProviderRule, CorrectableRule { +public struct VoidReturnRule: ConfigurationProviderRule, CorrectableRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/WeakDelegateRule.swift b/Source/SwiftLintFramework/Rules/WeakDelegateRule.swift index 8b9c85755..070443eb1 100644 --- a/Source/SwiftLintFramework/Rules/WeakDelegateRule.swift +++ b/Source/SwiftLintFramework/Rules/WeakDelegateRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct WeakDelegateRule: ASTRule, ConfigurationProviderRule { +public struct WeakDelegateRule: ASTRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/XCTFailMessageRule.swift b/Source/SwiftLintFramework/Rules/XCTFailMessageRule.swift index 34b4f186a..f5db9bb68 100644 --- a/Source/SwiftLintFramework/Rules/XCTFailMessageRule.swift +++ b/Source/SwiftLintFramework/Rules/XCTFailMessageRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct XCTFailMessageRule: ASTRule, ConfigurationProviderRule { +public struct XCTFailMessageRule: ASTRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) public init() {} diff --git a/Source/SwiftLintFramework/Rules/YodaConditionRule.swift b/Source/SwiftLintFramework/Rules/YodaConditionRule.swift index 2f501d975..2647423bf 100644 --- a/Source/SwiftLintFramework/Rules/YodaConditionRule.swift +++ b/Source/SwiftLintFramework/Rules/YodaConditionRule.swift @@ -1,7 +1,7 @@ import Foundation import SourceKittenFramework -public struct YodaConditionRule: ASTRule, OptInRule, ConfigurationProviderRule { +public struct YodaConditionRule: ASTRule, OptInRule, ConfigurationProviderRule, AutomaticTestableRule { public var configuration = SeverityConfiguration(.warning) diff --git a/SwiftLint.xcodeproj/project.pbxproj b/SwiftLint.xcodeproj/project.pbxproj index 19d93d533..8c80afd8e 100644 --- a/SwiftLint.xcodeproj/project.pbxproj +++ b/SwiftLint.xcodeproj/project.pbxproj @@ -262,6 +262,10 @@ D4E2BA851F6CD77B00E8E184 /* ArrayInitRule.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4E2BA841F6CD77B00E8E184 /* ArrayInitRule.swift */; }; D4EA77C81F817FD200C315FB /* UnneededBreakInSwitchRule.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4EA77C71F817FD200C315FB /* UnneededBreakInSwitchRule.swift */; }; D4EA77CA1F81FACC00C315FB /* LiteralExpressionEndIdentationRule.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4EA77C91F81FACC00C315FB /* LiteralExpressionEndIdentationRule.swift */; }; + D4EAB3A420E9948E0051C09A /* AutomaticRuleTests.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4EAB3A320E9948D0051C09A /* AutomaticRuleTests.generated.swift */; }; + D4F5851520E99A8A0085C6D8 /* TrailingWhitespaceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4F5851320E99A720085C6D8 /* TrailingWhitespaceTests.swift */; }; + D4F5851720E99B260085C6D8 /* StatementPositionRuleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4F5851620E99B260085C6D8 /* StatementPositionRuleTests.swift */; }; + D4F5851920E99B5A0085C6D8 /* PrivateOutletRuleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4F5851820E99B5A0085C6D8 /* PrivateOutletRuleTests.swift */; }; D4FBADD01E00DA0400669C73 /* OperatorUsageWhitespaceRule.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4FBADCF1E00DA0400669C73 /* OperatorUsageWhitespaceRule.swift */; }; D4FD4C851F2A260A00DD8AA8 /* BlockBasedKVORule.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4FD4C841F2A260A00DD8AA8 /* BlockBasedKVORule.swift */; }; D4FD58B21E12A0200019503C /* LinterCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4FD58B11E12A0200019503C /* LinterCache.swift */; }; @@ -665,6 +669,10 @@ D4E2BA841F6CD77B00E8E184 /* ArrayInitRule.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArrayInitRule.swift; sourceTree = ""; }; D4EA77C71F817FD200C315FB /* UnneededBreakInSwitchRule.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UnneededBreakInSwitchRule.swift; sourceTree = ""; }; D4EA77C91F81FACC00C315FB /* LiteralExpressionEndIdentationRule.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LiteralExpressionEndIdentationRule.swift; sourceTree = ""; }; + D4EAB3A320E9948D0051C09A /* AutomaticRuleTests.generated.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AutomaticRuleTests.generated.swift; sourceTree = ""; }; + D4F5851320E99A720085C6D8 /* TrailingWhitespaceTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrailingWhitespaceTests.swift; sourceTree = ""; }; + D4F5851620E99B260085C6D8 /* StatementPositionRuleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StatementPositionRuleTests.swift; sourceTree = ""; }; + D4F5851820E99B5A0085C6D8 /* PrivateOutletRuleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrivateOutletRuleTests.swift; sourceTree = ""; }; D4FBADCF1E00DA0400669C73 /* OperatorUsageWhitespaceRule.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OperatorUsageWhitespaceRule.swift; sourceTree = ""; }; D4FD4C841F2A260A00DD8AA8 /* BlockBasedKVORule.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BlockBasedKVORule.swift; sourceTree = ""; }; D4FD58B11E12A0200019503C /* LinterCache.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinterCache.swift; sourceTree = ""; }; @@ -993,6 +1001,7 @@ isa = PBXGroup; children = ( D4998DE61DF191380006E05D /* AttributesRuleTests.swift */, + D4EAB3A320E9948D0051C09A /* AutomaticRuleTests.generated.swift */, D43B04651E071ED3004016AF /* ColonRuleTests.swift */, E81ADD731ED6052F000CD451 /* CommandTests.swift */, E809EDA21B8A73FB00399043 /* ConfigurationTests.swift */, @@ -1025,6 +1034,7 @@ B25DCD0F1F7EF6DC0028A199 /* MultilineArgumentsRuleTests.swift */, 825F19D01EEFF19700969EF1 /* ObjectLiteralRuleTests.swift */, D4246D6E1F30DB260097E658 /* PrivateOverFilePrivateRuleTests.swift */, + D4F5851820E99B5A0085C6D8 /* PrivateOutletRuleTests.swift */, E81ADD711ED5ED9D000CD451 /* RegionTests.swift */, E86396C61BADAFE6002C9E88 /* ReporterTests.swift */, B89F3BCB1FD5EDA900931E59 /* RequiredEnumCaseRuleTestCase.swift */, @@ -1033,10 +1043,12 @@ E8BB8F9B1B17DE3B00199606 /* RulesTests.swift */, 3B12C9C61C3361CB000B423F /* RuleTests.swift */, 6C7045431C6ADA450003F15A /* SourceKitCrashTests.swift */, + D4F5851620E99B260085C6D8 /* StatementPositionRuleTests.swift */, 787CDE3A208F9C34005F3D2F /* SwitchCaseAlignmentRuleTests.swift */, E81224991B04F85B001783D2 /* TestHelpers.swift */, D4DB92241E628898005DE9C1 /* TodoRuleTests.swift */, C9802F2E1E0C8AEE008AB27F /* TrailingCommaRuleTests.swift */, + D4F5851320E99A720085C6D8 /* TrailingWhitespaceTests.swift */, 3B20CD0B1EB699C20069EF2E /* TypeNameRuleTests.swift */, D4470D5A1EB76F44008A1B2E /* UnusedOptionalBindingRuleTests.swift */, 006204DD1E1E4E0A00FFFBE1 /* VerticalWhitespaceRuleTests.swift */, @@ -1231,12 +1243,12 @@ 31F1B6CB1F60BF4500A57456 /* SwitchCaseAlignmentRule.swift */, D47A510D1DB29EEB00A4CC21 /* SwitchCaseOnNewlineRule.swift */, D44254251DB9C12300492EA4 /* SyntacticSugarRule.swift */, - E88DEA811B0990A700A66CB0 /* TodoRule.swift */, D4DABFD41E2B350F009617B6 /* TrailingClosureRule.swift */, D46E041C1DE3712C00728374 /* TrailingCommaRule.swift */, E88DEA871B09924C00A66CB0 /* TrailingNewlineRule.swift */, E87E4A041BFB927C00FCFE46 /* TrailingSemicolonRule.swift */, E88DEA851B0991BF00A66CB0 /* TrailingWhitespaceRule.swift */, + E88DEA811B0990A700A66CB0 /* TodoRule.swift */, E88DEA8D1B0999CD00A66CB0 /* TypeBodyLengthRule.swift */, E88DEA911B099B1F00A66CB0 /* TypeNameRule.swift */, D4130D981E16CC1300242361 /* TypeNameRuleExamples.swift */, @@ -1358,6 +1370,7 @@ buildConfigurationList = D0D1218419E87B05005E4BAA /* Build configuration list for PBXNativeTarget "SwiftLintFramework" */; buildPhases = ( 6CF24C411FC9953E008CB0B1 /* Update Source/SwiftLintFramework/Models/MasterRuleList.swift */, + D4F5851220E999C40085C6D8 /* Update Tests/SwiftLintFrameworkTests/AutomaticRuleTests.generated.swift */, 6CF24C421FC99616008CB0B1 /* Update Tests/LinuxMain.swift */, D0D1216819E87B05005E4BAA /* Sources */, D0D1216919E87B05005E4BAA /* Frameworks */, @@ -1558,6 +1571,22 @@ shellPath = /bin/bash; shellScript = ". script/extract-tool"; }; + D4F5851220E999C40085C6D8 /* Update Tests/SwiftLintFrameworkTests/AutomaticRuleTests.generated.swift */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "$(SRCROOT)/Source/SwiftLintFramework/Rules/*.swift", + ); + name = "Update Tests/SwiftLintFrameworkTests/AutomaticRuleTests.generated.swift"; + outputPaths = ( + "$(SRCROOT)/Tests/SwiftLintFrameworkTests/AutomaticRuleTests.generated.swift", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "if which sourcery >/dev/null; then\n make Tests/SwiftLintFrameworkTests/AutomaticRuleTests.generated.swift\nelse\n echo \"Sourcery not found, install with 'brew install sourcery'\"\nfi\n"; + }; E819854B1B09A3CB00CEB0D9 /* Run SwiftLint */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -1834,6 +1863,7 @@ buildActionMask = 2147483647; files = ( 825F19D11EEFF19700969EF1 /* ObjectLiteralRuleTests.swift in Sources */, + D4F5851520E99A8A0085C6D8 /* TrailingWhitespaceTests.swift in Sources */, 3B12C9C31C320A53000B423F /* YamlSwiftLintTests.swift in Sources */, E832F10D1B17E725003F265F /* IntegrationTests.swift in Sources */, D4C27C001E12DFF500DF713E /* LinterCacheTests.swift in Sources */, @@ -1864,8 +1894,10 @@ 62329C2B1F30B2310035737E /* DiscouragedDirectInitRuleTests.swift in Sources */, E86396C71BADAFE6002C9E88 /* ReporterTests.swift in Sources */, D43B04661E071ED3004016AF /* ColonRuleTests.swift in Sources */, + D4F5851920E99B5A0085C6D8 /* PrivateOutletRuleTests.swift in Sources */, 3B12C9C71C3361CB000B423F /* RuleTests.swift in Sources */, 125CE52F20425EFD001635E5 /* ExplicitTypeInterfaceConfigurationTests.swift in Sources */, + D4EAB3A420E9948E0051C09A /* AutomaticRuleTests.generated.swift in Sources */, 67EB4DFC1E4CD7F5004E9ACD /* CyclomaticComplexityRuleTests.swift in Sources */, 3B30C4A11C3785B300E04027 /* YamlParserTests.swift in Sources */, 3B20CD0A1EB699380069EF2E /* GenericTypeNameRuleTests.swift in Sources */, @@ -1873,6 +1905,7 @@ F480DC7F1F26090000099465 /* ConfigurationTests+Nested.swift in Sources */, E88198631BEA9A5400333A11 /* RulesTests.swift in Sources */, 47ACC89A1E7DCCAD0088EEB2 /* ImplicitlyUnwrappedOptionalConfigurationTests.swift in Sources */, + D4F5851720E99B260085C6D8 /* StatementPositionRuleTests.swift in Sources */, 1EB7C8531F0C45C2004BAD22 /* ModifierOrderTests.swift in Sources */, 67932E2D1E54AF4B00CB0629 /* CyclomaticComplexityConfigurationTests.swift in Sources */, D4470D5B1EB76F44008A1B2E /* UnusedOptionalBindingRuleTests.swift in Sources */, diff --git a/Tests/LinuxMain.swift b/Tests/LinuxMain.swift index 1ffddc1f8..3ad03b9d7 100644 --- a/Tests/LinuxMain.swift +++ b/Tests/LinuxMain.swift @@ -6,6 +6,18 @@ import XCTest // swiftlint:disable line_length file_length +extension AnyObjectProtocolRuleTests { + static var allTests: [(String, (AnyObjectProtocolRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension ArrayInitRuleTests { + static var allTests: [(String, (ArrayInitRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + extension AttributesRuleTests { static var allTests: [(String, (AttributesRuleTests) -> () throws -> Void)] = [ ("testAttributesWithDefaultConfiguration", testAttributesWithDefaultConfiguration), @@ -14,6 +26,42 @@ extension AttributesRuleTests { ] } +extension BlockBasedKVORuleTests { + static var allTests: [(String, (BlockBasedKVORuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension ClassDelegateProtocolRuleTests { + static var allTests: [(String, (ClassDelegateProtocolRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension ClosingBraceRuleTests { + static var allTests: [(String, (ClosingBraceRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension ClosureEndIndentationRuleTests { + static var allTests: [(String, (ClosureEndIndentationRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension ClosureParameterPositionRuleTests { + static var allTests: [(String, (ClosureParameterPositionRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension ClosureSpacingRuleTests { + static var allTests: [(String, (ClosureSpacingRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + extension ColonRuleTests { static var allTests: [(String, (ColonRuleTests) -> () throws -> Void)] = [ ("testColonWithDefaultConfiguration", testColonWithDefaultConfiguration), @@ -22,6 +70,12 @@ extension ColonRuleTests { ] } +extension CommaRuleTests { + static var allTests: [(String, (CommaRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + extension CommandTests { static var allTests: [(String, (CommandTests) -> () throws -> Void)] = [ ("testNoCommandsInEmptyFile", testNoCommandsInEmptyFile), @@ -45,6 +99,18 @@ extension CommandTests { ] } +extension CompilerProtocolInitRuleTests { + static var allTests: [(String, (CompilerProtocolInitRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension ConditionalReturnsOnNewlineRuleTests { + static var allTests: [(String, (ConditionalReturnsOnNewlineRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + extension ConfigurationTests { static var allTests: [(String, (ConfigurationTests) -> () throws -> Void)] = [ ("testInit", testInit), @@ -90,6 +156,24 @@ extension ConfigurationTests { ] } +extension ContainsOverFirstNotNilRuleTests { + static var allTests: [(String, (ContainsOverFirstNotNilRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension ControlStatementRuleTests { + static var allTests: [(String, (ControlStatementRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension ConvenienceTypeRuleTests { + static var allTests: [(String, (ConvenienceTypeRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + extension CustomRulesTests { static var allTests: [(String, (CustomRulesTests) -> () throws -> Void)] = [ ("testCustomRuleConfigurationSetsCorrectly", testCustomRuleConfigurationSetsCorrectly), @@ -136,6 +220,12 @@ extension DisableAllTests { ] } +extension DiscardedNotificationCenterObserverRuleTests { + static var allTests: [(String, (DiscardedNotificationCenterObserverRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + extension DiscouragedDirectInitRuleTests { static var allTests: [(String, (DiscouragedDirectInitRuleTests) -> () throws -> Void)] = [ ("testDiscouragedDirectInitWithDefaultConfiguration", testDiscouragedDirectInitWithDefaultConfiguration), @@ -145,11 +235,95 @@ extension DiscouragedDirectInitRuleTests { ] } +extension DiscouragedObjectLiteralRuleTests { + static var allTests: [(String, (DiscouragedObjectLiteralRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension DiscouragedOptionalBooleanRuleTests { + static var allTests: [(String, (DiscouragedOptionalBooleanRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension DiscouragedOptionalCollectionRuleTests { + static var allTests: [(String, (DiscouragedOptionalCollectionRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + extension DocumentationTests { static var allTests: [(String, (DocumentationTests) -> () throws -> Void)] = [ ] } +extension DynamicInlineRuleTests { + static var allTests: [(String, (DynamicInlineRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension EmptyCountRuleTests { + static var allTests: [(String, (EmptyCountRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension EmptyEnumArgumentsRuleTests { + static var allTests: [(String, (EmptyEnumArgumentsRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension EmptyParametersRuleTests { + static var allTests: [(String, (EmptyParametersRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension EmptyParenthesesWithTrailingClosureRuleTests { + static var allTests: [(String, (EmptyParenthesesWithTrailingClosureRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension EmptyStringRuleTests { + static var allTests: [(String, (EmptyStringRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension EmptyXCTestMethodRuleTests { + static var allTests: [(String, (EmptyXCTestMethodRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension ExplicitACLRuleTests { + static var allTests: [(String, (ExplicitACLRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension ExplicitEnumRawValueRuleTests { + static var allTests: [(String, (ExplicitEnumRawValueRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension ExplicitInitRuleTests { + static var allTests: [(String, (ExplicitInitRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension ExplicitTopLevelACLRuleTests { + static var allTests: [(String, (ExplicitTopLevelACLRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + extension ExplicitTypeInterfaceConfigurationTests { static var allTests: [(String, (ExplicitTypeInterfaceConfigurationTests) -> () throws -> Void)] = [ ("testDefaultConfiguration", testDefaultConfiguration), @@ -175,6 +349,24 @@ extension ExtendedNSStringTests { ] } +extension ExtensionAccessModifierRuleTests { + static var allTests: [(String, (ExtensionAccessModifierRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension FallthroughRuleTests { + static var allTests: [(String, (FallthroughRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension FatalErrorMessageRuleTests { + static var allTests: [(String, (FatalErrorMessageRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + extension FileHeaderRuleTests { static var allTests: [(String, (FileHeaderRuleTests) -> () throws -> Void)] = [ ("testFileHeaderWithDefaultConfiguration", testFileHeaderWithDefaultConfiguration), @@ -211,16 +403,54 @@ extension FileNameRuleTests { ] } +extension FirstWhereRuleTests { + static var allTests: [(String, (FirstWhereRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension ForWhereRuleTests { + static var allTests: [(String, (ForWhereRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension ForceCastRuleTests { + static var allTests: [(String, (ForceCastRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension ForceTryRuleTests { + static var allTests: [(String, (ForceTryRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension ForceUnwrappingRuleTests { + static var allTests: [(String, (ForceUnwrappingRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + extension FunctionBodyLengthRuleTests { static var allTests: [(String, (FunctionBodyLengthRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration), ("testFunctionBodyLengths", testFunctionBodyLengths), ("testFunctionBodyLengthsWithComments", testFunctionBodyLengthsWithComments), ("testFunctionBodyLengthsWithMultilineComments", testFunctionBodyLengthsWithMultilineComments) ] } +extension FunctionDefaultParameterAtEndRuleTests { + static var allTests: [(String, (FunctionDefaultParameterAtEndRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + extension FunctionParameterCountRuleTests { static var allTests: [(String, (FunctionParameterCountRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration), ("testFunctionParameterCount", testFunctionParameterCount), ("testDefaultFunctionParameterCount", testDefaultFunctionParameterCount) ] @@ -245,6 +475,18 @@ extension IdentifierNameRuleTests { ] } +extension ImplicitGetterRuleTests { + static var allTests: [(String, (ImplicitGetterRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension ImplicitReturnRuleTests { + static var allTests: [(String, (ImplicitReturnRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + extension ImplicitlyUnwrappedOptionalConfigurationTests { static var allTests: [(String, (ImplicitlyUnwrappedOptionalConfigurationTests) -> () throws -> Void)] = [ ("testImplicitlyUnwrappedOptionalConfigurationProperlyAppliesConfigurationFromDictionary", testImplicitlyUnwrappedOptionalConfigurationProperlyAppliesConfigurationFromDictionary), @@ -254,6 +496,7 @@ extension ImplicitlyUnwrappedOptionalConfigurationTests { extension ImplicitlyUnwrappedOptionalRuleTests { static var allTests: [(String, (ImplicitlyUnwrappedOptionalRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration), ("testImplicitlyUnwrappedOptionalRuleDefaultConfiguration", testImplicitlyUnwrappedOptionalRuleDefaultConfiguration), ("testImplicitlyUnwrappedOptionalRuleWarnsOnOutletsInAllMode", testImplicitlyUnwrappedOptionalRuleWarnsOnOutletsInAllMode) ] @@ -266,6 +509,54 @@ extension IntegrationTests { ] } +extension IsDisjointRuleTests { + static var allTests: [(String, (IsDisjointRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension JoinedDefaultParameterRuleTests { + static var allTests: [(String, (JoinedDefaultParameterRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension LargeTupleRuleTests { + static var allTests: [(String, (LargeTupleRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension LegacyCGGeometryFunctionsRuleTests { + static var allTests: [(String, (LegacyCGGeometryFunctionsRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension LegacyConstantRuleTests { + static var allTests: [(String, (LegacyConstantRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension LegacyConstructorRuleTests { + static var allTests: [(String, (LegacyConstructorRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension LegacyNSGeometryFunctionsRuleTests { + static var allTests: [(String, (LegacyNSGeometryFunctionsRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension LetVarWhitespaceRuleTests { + static var allTests: [(String, (LetVarWhitespaceRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + extension LineLengthConfigurationTests { static var allTests: [(String, (LineLengthConfigurationTests) -> () throws -> Void)] = [ ("testLineLengthConfigurationInitializerSetsLength", testLineLengthConfigurationInitializerSetsLength), @@ -317,6 +608,18 @@ extension LinterCacheTests { ] } +extension LiteralExpressionEndIdentationRuleTests { + static var allTests: [(String, (LiteralExpressionEndIdentationRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension LowerACLThanParentRuleTests { + static var allTests: [(String, (LowerACLThanParentRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + extension ModifierOrderTests { static var allTests: [(String, (ModifierOrderTests) -> () throws -> Void)] = [ ("testAttributeTypeMethod", testAttributeTypeMethod), @@ -334,6 +637,60 @@ extension MultilineArgumentsRuleTests { ] } +extension MultilineFunctionChainsRuleTests { + static var allTests: [(String, (MultilineFunctionChainsRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension MultilineParametersRuleTests { + static var allTests: [(String, (MultilineParametersRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension MultipleClosuresWithTrailingClosureRuleTests { + static var allTests: [(String, (MultipleClosuresWithTrailingClosureRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension NestingRuleTests { + static var allTests: [(String, (NestingRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension NimbleOperatorRuleTests { + static var allTests: [(String, (NimbleOperatorRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension NoExtensionAccessModifierRuleTests { + static var allTests: [(String, (NoExtensionAccessModifierRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension NoFallthroughOnlyRuleTests { + static var allTests: [(String, (NoFallthroughOnlyRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension NoGroupingExtensionRuleTests { + static var allTests: [(String, (NoGroupingExtensionRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension NotificationCenterDetachmentRuleTests { + static var allTests: [(String, (NotificationCenterDetachmentRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + extension NumberSeparatorRuleTests { static var allTests: [(String, (NumberSeparatorRuleTests) -> () throws -> Void)] = [ ("testNumberSeparatorWithDefaultConfiguration", testNumberSeparatorWithDefaultConfiguration), @@ -351,6 +708,61 @@ extension ObjectLiteralRuleTests { ] } +extension OpeningBraceRuleTests { + static var allTests: [(String, (OpeningBraceRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension OperatorFunctionWhitespaceRuleTests { + static var allTests: [(String, (OperatorFunctionWhitespaceRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension OperatorUsageWhitespaceRuleTests { + static var allTests: [(String, (OperatorUsageWhitespaceRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension OverriddenSuperCallRuleTests { + static var allTests: [(String, (OverriddenSuperCallRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension OverrideInExtensionRuleTests { + static var allTests: [(String, (OverrideInExtensionRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension PatternMatchingKeywordsRuleTests { + static var allTests: [(String, (PatternMatchingKeywordsRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension PrefixedTopLevelConstantRuleTests { + static var allTests: [(String, (PrefixedTopLevelConstantRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension PrivateActionRuleTests { + static var allTests: [(String, (PrivateActionRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension PrivateOutletRuleTests { + static var allTests: [(String, (PrivateOutletRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration), + ("testWithAllowPrivateSet", testWithAllowPrivateSet) + ] +} + extension PrivateOverFilePrivateRuleTests { static var allTests: [(String, (PrivateOverFilePrivateRuleTests) -> () throws -> Void)] = [ ("testPrivateOverFilePrivateWithDefaultConfiguration", testPrivateOverFilePrivateWithDefaultConfiguration), @@ -359,6 +771,78 @@ extension PrivateOverFilePrivateRuleTests { ] } +extension PrivateUnitTestRuleTests { + static var allTests: [(String, (PrivateUnitTestRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension ProhibitedSuperRuleTests { + static var allTests: [(String, (ProhibitedSuperRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension ProtocolPropertyAccessorsOrderRuleTests { + static var allTests: [(String, (ProtocolPropertyAccessorsOrderRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension QuickDiscouragedCallRuleTests { + static var allTests: [(String, (QuickDiscouragedCallRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension QuickDiscouragedFocusedTestRuleTests { + static var allTests: [(String, (QuickDiscouragedFocusedTestRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension QuickDiscouragedPendingTestRuleTests { + static var allTests: [(String, (QuickDiscouragedPendingTestRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension RedundantDiscardableLetRuleTests { + static var allTests: [(String, (RedundantDiscardableLetRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension RedundantNilCoalescingRuleTests { + static var allTests: [(String, (RedundantNilCoalescingRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension RedundantOptionalInitializationRuleTests { + static var allTests: [(String, (RedundantOptionalInitializationRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension RedundantSetAccessControlRuleTests { + static var allTests: [(String, (RedundantSetAccessControlRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension RedundantStringEnumValueRuleTests { + static var allTests: [(String, (RedundantStringEnumValueRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension RedundantVoidReturnRuleTests { + static var allTests: [(String, (RedundantVoidReturnRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + extension RegionTests { static var allTests: [(String, (RegionTests) -> () throws -> Void)] = [ ("testNoRegionsInEmptyFile", testNoRegionsInEmptyFile), @@ -400,6 +884,12 @@ extension RequiredEnumCaseRuleTestCase { ] } +extension ReturnArrowWhitespaceRuleTests { + static var allTests: [(String, (ReturnArrowWhitespaceRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + extension RuleConfigurationTests { static var allTests: [(String, (RuleConfigurationTests) -> () throws -> Void)] = [ ("testNameConfigurationSetsCorrectly", testNameConfigurationSetsCorrectly), @@ -449,124 +939,34 @@ extension RuleTests { extension RulesTests { static var allTests: [(String, (RulesTests) -> () throws -> Void)] = [ - ("testAnyObjectProtocol", testAnyObjectProtocol), - ("testArrayInit", testArrayInit), - ("testBlockBasedKVO", testBlockBasedKVO), - ("testClassDelegateProtocol", testClassDelegateProtocol), - ("testClosingBrace", testClosingBrace), - ("testClosureEndIndentation", testClosureEndIndentation), - ("testClosureParameterPosition", testClosureParameterPosition), - ("testClosureSpacing", testClosureSpacing), - ("testComma", testComma), - ("testCompilerProtocolInit", testCompilerProtocolInit), - ("testConditionalReturnsOnNewline", testConditionalReturnsOnNewline), - ("testContainsOverFirstNotNil", testContainsOverFirstNotNil), - ("testControlStatement", testControlStatement), - ("testConvenienceType", testConvenienceType), - ("testCyclomaticComplexity", testCyclomaticComplexity), - ("testDiscardedNotificationCenterObserver", testDiscardedNotificationCenterObserver), - ("testDiscouragedObjectLiteral", testDiscouragedObjectLiteral), - ("testDiscouragedOptionalBoolean", testDiscouragedOptionalBoolean), - ("testDiscouragedOptionalCollection", testDiscouragedOptionalCollection), - ("testDynamicInline", testDynamicInline), - ("testEmptyCount", testEmptyCount), - ("testEmptyEnumArguments", testEmptyEnumArguments), - ("testEmptyParameters", testEmptyParameters), - ("testLowerACLThanParent", testLowerACLThanParent), - ("testEmptyParenthesesWithTrailingClosure", testEmptyParenthesesWithTrailingClosure), - ("testEmptyString", testEmptyString), - ("testEmptyXCTestMethods", testEmptyXCTestMethods), - ("testExplicitACL", testExplicitACL), - ("testExplicitEnumRawValue", testExplicitEnumRawValue), - ("testExplicitInit", testExplicitInit), - ("testExplicitTopLevelACL", testExplicitTopLevelACL), - ("testExtensionAccessModifier", testExtensionAccessModifier), - ("testFallthrough", testFallthrough), - ("testFatalErrorMessage", testFatalErrorMessage), - ("testFirstWhere", testFirstWhere), - ("testForceCast", testForceCast), - ("testForceTry", testForceTry), - ("testForceUnwrapping", testForceUnwrapping), - ("testForWhere", testForWhere), - ("testFunctionBodyLength", testFunctionBodyLength), - ("testFunctionDefaultParameterAtEnd", testFunctionDefaultParameterAtEnd), - ("testFunctionParameterCount", testFunctionParameterCount), - ("testImplicitGetter", testImplicitGetter), - ("testImplicitlyUnwrappedOptional", testImplicitlyUnwrappedOptional), - ("testImplicitReturn", testImplicitReturn), - ("testIsDisjoint", testIsDisjoint), - ("testJoinedDefaultParameter", testJoinedDefaultParameter), - ("testLargeTuple", testLargeTuple), ("testLeadingWhitespace", testLeadingWhitespace), - ("testLegacyCGGeometryFunctions", testLegacyCGGeometryFunctions), - ("testLegacyNSGeometryFunctions", testLegacyNSGeometryFunctions), - ("testLegacyConstant", testLegacyConstant), - ("testLegacyConstructor", testLegacyConstructor), - ("testLetVarWhitespace", testLetVarWhitespace), - ("testLiteralExpressionEndIdentation", testLiteralExpressionEndIdentation), ("testMark", testMark), - ("testModifierOrder", testModifierOrder), - ("testMultilineFunctionChains", testMultilineFunctionChains), - ("testMultilineParameters", testMultilineParameters), - ("testMultipleClosuresWithTrailingClosure", testMultipleClosuresWithTrailingClosure), - ("testNesting", testNesting), - ("testNoExtensionAccessModifier", testNoExtensionAccessModifier), - ("testNoFallthroughOnly", testNoFallthroughOnly), - ("testNoGroupingExtension", testNoGroupingExtension), - ("testNotificationCenterDetachment", testNotificationCenterDetachment), - ("testNimbleOperator", testNimbleOperator), - ("testOpeningBrace", testOpeningBrace), - ("testOperatorFunctionWhitespace", testOperatorFunctionWhitespace), - ("testOperatorUsageWhitespace", testOperatorUsageWhitespace), - ("testOverrideInExtension", testOverrideInExtension), - ("testPatternMatchingKeywords", testPatternMatchingKeywords), - ("testPrefixedTopLevelConstant", testPrefixedTopLevelConstant), - ("testPrivateAction", testPrivateAction), - ("testPrivateOutlet", testPrivateOutlet), - ("testPrivateUnitTest", testPrivateUnitTest), - ("testProhibitedSuper", testProhibitedSuper), - ("testProtocolPropertyAccessorsOrder", testProtocolPropertyAccessorsOrder), - ("testQuickDiscouragedCall", testQuickDiscouragedCall), - ("testQuickDiscouragedFocusedTest", testQuickDiscouragedFocusedTest), - ("testQuickDiscouragedPendingTest", testQuickDiscouragedPendingTest), - ("testRedundantDiscardableLet", testRedundantDiscardableLet), - ("testRedundantNilCoalescing", testRedundantNilCoalescing), - ("testRedundantOptionalInitialization", testRedundantOptionalInitialization), - ("testRedundantSetAccessControl", testRedundantSetAccessControl), - ("testRedundantStringEnumValue", testRedundantStringEnumValue), - ("testRedundantTypeAnnotation", testRedundantTypeAnnotation), - ("testRedundantVoidReturn", testRedundantVoidReturn), ("testRequiredEnumCase", testRequiredEnumCase), - ("testReturnArrowWhitespace", testReturnArrowWhitespace), - ("testShorthandOperator", testShorthandOperator), - ("testSingleTestClass", testSingleTestClass), - ("testSortedFirstLast", testSortedFirstLast), - ("testSortedImports", testSortedImports), - ("testStatementPosition", testStatementPosition), - ("testStatementPositionUncuddled", testStatementPositionUncuddled), - ("testStrictFilePrivate", testStrictFilePrivate), - ("testSwitchCaseAlignment", testSwitchCaseAlignment), - ("testSwitchCaseOnNewline", testSwitchCaseOnNewline), - ("testSyntacticSugar", testSyntacticSugar), - ("testTrailingClosure", testTrailingClosure), - ("testTrailingNewline", testTrailingNewline), - ("testTrailingSemicolon", testTrailingSemicolon), - ("testTrailingWhitespace", testTrailingWhitespace), - ("testTypeBodyLength", testTypeBodyLength), - ("testUnavailableFunction", testUnavailableFunction), - ("testUnneededBreakInSwitch", testUnneededBreakInSwitch), - ("testUnneededParenthesesInClosureArgument", testUnneededParenthesesInClosureArgument), - ("testUntypedErrorInCatch", testUntypedErrorInCatch), - ("testUnusedClosureParameter", testUnusedClosureParameter), - ("testUnusedEnumerated", testUnusedEnumerated), - ("testValidIBInspectable", testValidIBInspectable), - ("testVerticalParameterAlignmentOnCall", testVerticalParameterAlignmentOnCall), - ("testVerticalParameterAlignment", testVerticalParameterAlignment), - ("testVoidReturn", testVoidReturn), - ("testSuperCall", testSuperCall), - ("testWeakDelegate", testWeakDelegate), - ("testXCTFailMessage", testXCTFailMessage), - ("testYodaCondition", testYodaCondition) + ("testTrailingNewline", testTrailingNewline) + ] +} + +extension ShorthandOperatorRuleTests { + static var allTests: [(String, (ShorthandOperatorRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension SingleTestClassRuleTests { + static var allTests: [(String, (SingleTestClassRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension SortedFirstLastRuleTests { + static var allTests: [(String, (SortedFirstLastRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension SortedImportsRuleTests { + static var allTests: [(String, (SortedImportsRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) ] } @@ -578,13 +978,39 @@ extension SourceKitCrashTests { ] } +extension StatementPositionRuleTests { + static var allTests: [(String, (StatementPositionRuleTests) -> () throws -> Void)] = [ + ("testStatementPosition", testStatementPosition), + ("testStatementPositionUncuddled", testStatementPositionUncuddled) + ] +} + +extension StrictFilePrivateRuleTests { + static var allTests: [(String, (StrictFilePrivateRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + extension SwitchCaseAlignmentRuleTests { static var allTests: [(String, (SwitchCaseAlignmentRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration), ("testSwitchCaseAlignmentWithoutIndentedCases", testSwitchCaseAlignmentWithoutIndentedCases), ("testSwitchCaseAlignmentWithIndentedCases", testSwitchCaseAlignmentWithIndentedCases) ] } +extension SwitchCaseOnNewlineRuleTests { + static var allTests: [(String, (SwitchCaseOnNewlineRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension SyntacticSugarRuleTests { + static var allTests: [(String, (SyntacticSugarRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + extension TodoRuleTests { static var allTests: [(String, (TodoRuleTests) -> () throws -> Void)] = [ ("testTodo", testTodo), @@ -593,6 +1019,12 @@ extension TodoRuleTests { ] } +extension TrailingClosureRuleTests { + static var allTests: [(String, (TrailingClosureRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + extension TrailingCommaRuleTests { static var allTests: [(String, (TrailingCommaRuleTests) -> () throws -> Void)] = [ ("testTrailingCommaRuleWithDefaultConfiguration", testTrailingCommaRuleWithDefaultConfiguration), @@ -600,6 +1032,26 @@ extension TrailingCommaRuleTests { ] } +extension TrailingSemicolonRuleTests { + static var allTests: [(String, (TrailingSemicolonRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension TrailingWhitespaceTests { + static var allTests: [(String, (TrailingWhitespaceTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration), + ("testWithIgnoresEmptyLinesEnabled", testWithIgnoresEmptyLinesEnabled), + ("testWithIgnoresCommentsDisabled", testWithIgnoresCommentsDisabled) + ] +} + +extension TypeBodyLengthRuleTests { + static var allTests: [(String, (TypeBodyLengthRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + extension TypeNameRuleTests { static var allTests: [(String, (TypeNameRuleTests) -> () throws -> Void)] = [ ("testTypeName", testTypeName), @@ -609,6 +1061,42 @@ extension TypeNameRuleTests { ] } +extension UnavailableFunctionRuleTests { + static var allTests: [(String, (UnavailableFunctionRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension UnneededBreakInSwitchRuleTests { + static var allTests: [(String, (UnneededBreakInSwitchRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension UnneededParenthesesInClosureArgumentRuleTests { + static var allTests: [(String, (UnneededParenthesesInClosureArgumentRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension UntypedErrorInCatchRuleTests { + static var allTests: [(String, (UntypedErrorInCatchRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension UnusedClosureParameterRuleTests { + static var allTests: [(String, (UnusedClosureParameterRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension UnusedEnumeratedRuleTests { + static var allTests: [(String, (UnusedEnumeratedRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + extension UnusedOptionalBindingRuleTests { static var allTests: [(String, (UnusedOptionalBindingRuleTests) -> () throws -> Void)] = [ ("testDefaultConfiguration", testDefaultConfiguration), @@ -616,6 +1104,24 @@ extension UnusedOptionalBindingRuleTests { ] } +extension ValidIBInspectableRuleTests { + static var allTests: [(String, (ValidIBInspectableRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension VerticalParameterAlignmentOnCallRuleTests { + static var allTests: [(String, (VerticalParameterAlignmentOnCallRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension VerticalParameterAlignmentRuleTests { + static var allTests: [(String, (VerticalParameterAlignmentRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + extension VerticalWhitespaceRuleTests { static var allTests: [(String, (VerticalWhitespaceRuleTests) -> () throws -> Void)] = [ ("testVerticalWhitespaceWithDefaultConfiguration", testVerticalWhitespaceWithDefaultConfiguration), @@ -626,6 +1132,24 @@ extension VerticalWhitespaceRuleTests { ] } +extension VoidReturnRuleTests { + static var allTests: [(String, (VoidReturnRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension WeakDelegateRuleTests { + static var allTests: [(String, (WeakDelegateRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + +extension XCTFailMessageRuleTests { + static var allTests: [(String, (XCTFailMessageRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + extension YamlParserTests { static var allTests: [(String, (YamlParserTests) -> () throws -> Void)] = [ ("testParseEmptyString", testParseEmptyString), @@ -645,51 +1169,163 @@ extension YamlSwiftLintTests { ] } +extension YodaConditionRuleTests { + static var allTests: [(String, (YodaConditionRuleTests) -> () throws -> Void)] = [ + ("testWithDefaultConfiguration", testWithDefaultConfiguration) + ] +} + XCTMain([ + testCase(AnyObjectProtocolRuleTests.allTests), + testCase(ArrayInitRuleTests.allTests), testCase(AttributesRuleTests.allTests), + testCase(BlockBasedKVORuleTests.allTests), + testCase(ClassDelegateProtocolRuleTests.allTests), + testCase(ClosingBraceRuleTests.allTests), + testCase(ClosureEndIndentationRuleTests.allTests), + testCase(ClosureParameterPositionRuleTests.allTests), + testCase(ClosureSpacingRuleTests.allTests), testCase(ColonRuleTests.allTests), + testCase(CommaRuleTests.allTests), testCase(CommandTests.allTests), + testCase(CompilerProtocolInitRuleTests.allTests), + testCase(ConditionalReturnsOnNewlineRuleTests.allTests), testCase(ConfigurationTests.allTests), + testCase(ContainsOverFirstNotNilRuleTests.allTests), + testCase(ControlStatementRuleTests.allTests), + testCase(ConvenienceTypeRuleTests.allTests), testCase(CustomRulesTests.allTests), testCase(CyclomaticComplexityConfigurationTests.allTests), testCase(CyclomaticComplexityRuleTests.allTests), testCase(DisableAllTests.allTests), + testCase(DiscardedNotificationCenterObserverRuleTests.allTests), testCase(DiscouragedDirectInitRuleTests.allTests), + testCase(DiscouragedObjectLiteralRuleTests.allTests), + testCase(DiscouragedOptionalBooleanRuleTests.allTests), + testCase(DiscouragedOptionalCollectionRuleTests.allTests), testCase(DocumentationTests.allTests), + testCase(DynamicInlineRuleTests.allTests), + testCase(EmptyCountRuleTests.allTests), + testCase(EmptyEnumArgumentsRuleTests.allTests), + testCase(EmptyParametersRuleTests.allTests), + testCase(EmptyParenthesesWithTrailingClosureRuleTests.allTests), + testCase(EmptyStringRuleTests.allTests), + testCase(EmptyXCTestMethodRuleTests.allTests), + testCase(ExplicitACLRuleTests.allTests), + testCase(ExplicitEnumRawValueRuleTests.allTests), + testCase(ExplicitInitRuleTests.allTests), + testCase(ExplicitTopLevelACLRuleTests.allTests), testCase(ExplicitTypeInterfaceConfigurationTests.allTests), testCase(ExplicitTypeInterfaceRuleTests.allTests), testCase(ExtendedNSStringTests.allTests), + testCase(ExtensionAccessModifierRuleTests.allTests), + testCase(FallthroughRuleTests.allTests), + testCase(FatalErrorMessageRuleTests.allTests), testCase(FileHeaderRuleTests.allTests), testCase(FileLengthRuleTests.allTests), testCase(FileNameRuleTests.allTests), + testCase(FirstWhereRuleTests.allTests), + testCase(ForWhereRuleTests.allTests), + testCase(ForceCastRuleTests.allTests), + testCase(ForceTryRuleTests.allTests), + testCase(ForceUnwrappingRuleTests.allTests), testCase(FunctionBodyLengthRuleTests.allTests), + testCase(FunctionDefaultParameterAtEndRuleTests.allTests), testCase(FunctionParameterCountRuleTests.allTests), testCase(GenericTypeNameRuleTests.allTests), testCase(IdentifierNameRuleTests.allTests), + testCase(ImplicitGetterRuleTests.allTests), + testCase(ImplicitReturnRuleTests.allTests), testCase(ImplicitlyUnwrappedOptionalConfigurationTests.allTests), testCase(ImplicitlyUnwrappedOptionalRuleTests.allTests), testCase(IntegrationTests.allTests), + testCase(IsDisjointRuleTests.allTests), + testCase(JoinedDefaultParameterRuleTests.allTests), + testCase(LargeTupleRuleTests.allTests), + testCase(LegacyCGGeometryFunctionsRuleTests.allTests), + testCase(LegacyConstantRuleTests.allTests), + testCase(LegacyConstructorRuleTests.allTests), + testCase(LegacyNSGeometryFunctionsRuleTests.allTests), + testCase(LetVarWhitespaceRuleTests.allTests), testCase(LineLengthConfigurationTests.allTests), testCase(LineLengthRuleTests.allTests), testCase(LinterCacheTests.allTests), + testCase(LiteralExpressionEndIdentationRuleTests.allTests), + testCase(LowerACLThanParentRuleTests.allTests), testCase(ModifierOrderTests.allTests), testCase(MultilineArgumentsRuleTests.allTests), + testCase(MultilineFunctionChainsRuleTests.allTests), + testCase(MultilineParametersRuleTests.allTests), + testCase(MultipleClosuresWithTrailingClosureRuleTests.allTests), + testCase(NestingRuleTests.allTests), + testCase(NimbleOperatorRuleTests.allTests), + testCase(NoExtensionAccessModifierRuleTests.allTests), + testCase(NoFallthroughOnlyRuleTests.allTests), + testCase(NoGroupingExtensionRuleTests.allTests), + testCase(NotificationCenterDetachmentRuleTests.allTests), testCase(NumberSeparatorRuleTests.allTests), testCase(ObjectLiteralRuleTests.allTests), + testCase(OpeningBraceRuleTests.allTests), + testCase(OperatorFunctionWhitespaceRuleTests.allTests), + testCase(OperatorUsageWhitespaceRuleTests.allTests), + testCase(OverriddenSuperCallRuleTests.allTests), + testCase(OverrideInExtensionRuleTests.allTests), + testCase(PatternMatchingKeywordsRuleTests.allTests), + testCase(PrefixedTopLevelConstantRuleTests.allTests), + testCase(PrivateActionRuleTests.allTests), + testCase(PrivateOutletRuleTests.allTests), testCase(PrivateOverFilePrivateRuleTests.allTests), + testCase(PrivateUnitTestRuleTests.allTests), + testCase(ProhibitedSuperRuleTests.allTests), + testCase(ProtocolPropertyAccessorsOrderRuleTests.allTests), + testCase(QuickDiscouragedCallRuleTests.allTests), + testCase(QuickDiscouragedFocusedTestRuleTests.allTests), + testCase(QuickDiscouragedPendingTestRuleTests.allTests), + testCase(RedundantDiscardableLetRuleTests.allTests), + testCase(RedundantNilCoalescingRuleTests.allTests), + testCase(RedundantOptionalInitializationRuleTests.allTests), + testCase(RedundantSetAccessControlRuleTests.allTests), + testCase(RedundantStringEnumValueRuleTests.allTests), + testCase(RedundantVoidReturnRuleTests.allTests), testCase(RegionTests.allTests), testCase(ReporterTests.allTests), testCase(RequiredEnumCaseRuleTestCase.allTests), + testCase(ReturnArrowWhitespaceRuleTests.allTests), testCase(RuleConfigurationTests.allTests), testCase(RuleTests.allTests), testCase(RulesTests.allTests), + testCase(ShorthandOperatorRuleTests.allTests), + testCase(SingleTestClassRuleTests.allTests), + testCase(SortedFirstLastRuleTests.allTests), + testCase(SortedImportsRuleTests.allTests), testCase(SourceKitCrashTests.allTests), + testCase(StatementPositionRuleTests.allTests), + testCase(StrictFilePrivateRuleTests.allTests), testCase(SwitchCaseAlignmentRuleTests.allTests), + testCase(SwitchCaseOnNewlineRuleTests.allTests), + testCase(SyntacticSugarRuleTests.allTests), testCase(TodoRuleTests.allTests), + testCase(TrailingClosureRuleTests.allTests), testCase(TrailingCommaRuleTests.allTests), + testCase(TrailingSemicolonRuleTests.allTests), + testCase(TrailingWhitespaceTests.allTests), + testCase(TypeBodyLengthRuleTests.allTests), testCase(TypeNameRuleTests.allTests), + testCase(UnavailableFunctionRuleTests.allTests), + testCase(UnneededBreakInSwitchRuleTests.allTests), + testCase(UnneededParenthesesInClosureArgumentRuleTests.allTests), + testCase(UntypedErrorInCatchRuleTests.allTests), + testCase(UnusedClosureParameterRuleTests.allTests), + testCase(UnusedEnumeratedRuleTests.allTests), testCase(UnusedOptionalBindingRuleTests.allTests), + testCase(ValidIBInspectableRuleTests.allTests), + testCase(VerticalParameterAlignmentOnCallRuleTests.allTests), + testCase(VerticalParameterAlignmentRuleTests.allTests), testCase(VerticalWhitespaceRuleTests.allTests), + testCase(VoidReturnRuleTests.allTests), + testCase(WeakDelegateRuleTests.allTests), + testCase(XCTFailMessageRuleTests.allTests), testCase(YamlParserTests.allTests), - testCase(YamlSwiftLintTests.allTests) + testCase(YamlSwiftLintTests.allTests), + testCase(YodaConditionRuleTests.allTests) ]) diff --git a/Tests/SwiftLintFrameworkTests/AutomaticRuleTests.generated.swift b/Tests/SwiftLintFrameworkTests/AutomaticRuleTests.generated.swift new file mode 100644 index 000000000..d440604aa --- /dev/null +++ b/Tests/SwiftLintFrameworkTests/AutomaticRuleTests.generated.swift @@ -0,0 +1,628 @@ +// Generated using Sourcery 0.11.2 — https://github.com/krzysztofzablocki/Sourcery +// DO NOT EDIT + +import SwiftLintFramework +import XCTest + +// swiftlint:disable file_length single_test_class type_name + +class AnyObjectProtocolRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(AnyObjectProtocolRule.description) + } +} + +class ArrayInitRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(ArrayInitRule.description) + } +} + +class BlockBasedKVORuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(BlockBasedKVORule.description) + } +} + +class ClassDelegateProtocolRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(ClassDelegateProtocolRule.description) + } +} + +class ClosingBraceRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(ClosingBraceRule.description) + } +} + +class ClosureEndIndentationRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(ClosureEndIndentationRule.description) + } +} + +class ClosureParameterPositionRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(ClosureParameterPositionRule.description) + } +} + +class ClosureSpacingRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(ClosureSpacingRule.description) + } +} + +class CommaRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(CommaRule.description) + } +} + +class CompilerProtocolInitRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(CompilerProtocolInitRule.description) + } +} + +class ConditionalReturnsOnNewlineRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(ConditionalReturnsOnNewlineRule.description) + } +} + +class ContainsOverFirstNotNilRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(ContainsOverFirstNotNilRule.description) + } +} + +class ControlStatementRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(ControlStatementRule.description) + } +} + +class ConvenienceTypeRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(ConvenienceTypeRule.description) + } +} + +class DiscardedNotificationCenterObserverRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(DiscardedNotificationCenterObserverRule.description) + } +} + +class DiscouragedObjectLiteralRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(DiscouragedObjectLiteralRule.description) + } +} + +class DiscouragedOptionalBooleanRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(DiscouragedOptionalBooleanRule.description) + } +} + +class DiscouragedOptionalCollectionRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(DiscouragedOptionalCollectionRule.description) + } +} + +class DynamicInlineRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(DynamicInlineRule.description) + } +} + +class EmptyCountRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(EmptyCountRule.description) + } +} + +class EmptyEnumArgumentsRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(EmptyEnumArgumentsRule.description) + } +} + +class EmptyParametersRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(EmptyParametersRule.description) + } +} + +class EmptyParenthesesWithTrailingClosureRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(EmptyParenthesesWithTrailingClosureRule.description) + } +} + +class EmptyStringRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(EmptyStringRule.description) + } +} + +class EmptyXCTestMethodRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(EmptyXCTestMethodRule.description) + } +} + +class ExplicitACLRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(ExplicitACLRule.description) + } +} + +class ExplicitEnumRawValueRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(ExplicitEnumRawValueRule.description) + } +} + +class ExplicitInitRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(ExplicitInitRule.description) + } +} + +class ExplicitTopLevelACLRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(ExplicitTopLevelACLRule.description) + } +} + +class ExtensionAccessModifierRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(ExtensionAccessModifierRule.description) + } +} + +class FallthroughRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(FallthroughRule.description) + } +} + +class FatalErrorMessageRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(FatalErrorMessageRule.description) + } +} + +class FirstWhereRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(FirstWhereRule.description) + } +} + +class ForWhereRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(ForWhereRule.description) + } +} + +class ForceCastRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(ForceCastRule.description) + } +} + +class ForceTryRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(ForceTryRule.description) + } +} + +class ForceUnwrappingRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(ForceUnwrappingRule.description) + } +} + +class FunctionDefaultParameterAtEndRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(FunctionDefaultParameterAtEndRule.description) + } +} + +class ImplicitGetterRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(ImplicitGetterRule.description) + } +} + +class ImplicitReturnRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(ImplicitReturnRule.description) + } +} + +class IsDisjointRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(IsDisjointRule.description) + } +} + +class JoinedDefaultParameterRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(JoinedDefaultParameterRule.description) + } +} + +class LargeTupleRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(LargeTupleRule.description) + } +} + +class LegacyCGGeometryFunctionsRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(LegacyCGGeometryFunctionsRule.description) + } +} + +class LegacyConstantRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(LegacyConstantRule.description) + } +} + +class LegacyConstructorRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(LegacyConstructorRule.description) + } +} + +class LegacyNSGeometryFunctionsRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(LegacyNSGeometryFunctionsRule.description) + } +} + +class LetVarWhitespaceRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(LetVarWhitespaceRule.description) + } +} + +class LiteralExpressionEndIdentationRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(LiteralExpressionEndIdentationRule.description) + } +} + +class LowerACLThanParentRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(LowerACLThanParentRule.description) + } +} + +class MultilineFunctionChainsRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(MultilineFunctionChainsRule.description) + } +} + +class MultilineParametersRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(MultilineParametersRule.description) + } +} + +class MultipleClosuresWithTrailingClosureRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(MultipleClosuresWithTrailingClosureRule.description) + } +} + +class NestingRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(NestingRule.description) + } +} + +class NimbleOperatorRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(NimbleOperatorRule.description) + } +} + +class NoExtensionAccessModifierRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(NoExtensionAccessModifierRule.description) + } +} + +class NoFallthroughOnlyRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(NoFallthroughOnlyRule.description) + } +} + +class NoGroupingExtensionRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(NoGroupingExtensionRule.description) + } +} + +class NotificationCenterDetachmentRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(NotificationCenterDetachmentRule.description) + } +} + +class OpeningBraceRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(OpeningBraceRule.description) + } +} + +class OperatorFunctionWhitespaceRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(OperatorFunctionWhitespaceRule.description) + } +} + +class OperatorUsageWhitespaceRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(OperatorUsageWhitespaceRule.description) + } +} + +class OverriddenSuperCallRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(OverriddenSuperCallRule.description) + } +} + +class OverrideInExtensionRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(OverrideInExtensionRule.description) + } +} + +class PatternMatchingKeywordsRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(PatternMatchingKeywordsRule.description) + } +} + +class PrefixedTopLevelConstantRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(PrefixedTopLevelConstantRule.description) + } +} + +class PrivateActionRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(PrivateActionRule.description) + } +} + +class PrivateUnitTestRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(PrivateUnitTestRule.description) + } +} + +class ProhibitedSuperRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(ProhibitedSuperRule.description) + } +} + +class ProtocolPropertyAccessorsOrderRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(ProtocolPropertyAccessorsOrderRule.description) + } +} + +class QuickDiscouragedCallRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(QuickDiscouragedCallRule.description) + } +} + +class QuickDiscouragedFocusedTestRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(QuickDiscouragedFocusedTestRule.description) + } +} + +class QuickDiscouragedPendingTestRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(QuickDiscouragedPendingTestRule.description) + } +} + +class RedundantDiscardableLetRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(RedundantDiscardableLetRule.description) + } +} + +class RedundantNilCoalescingRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(RedundantNilCoalescingRule.description) + } +} + +class RedundantOptionalInitializationRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(RedundantOptionalInitializationRule.description) + } +} + +class RedundantSetAccessControlRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(RedundantSetAccessControlRule.description) + } +} + +class RedundantStringEnumValueRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(RedundantStringEnumValueRule.description) + } +} + +class RedundantVoidReturnRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(RedundantVoidReturnRule.description) + } +} + +class ReturnArrowWhitespaceRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(ReturnArrowWhitespaceRule.description) + } +} + +class ShorthandOperatorRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(ShorthandOperatorRule.description) + } +} + +class SingleTestClassRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(SingleTestClassRule.description) + } +} + +class SortedFirstLastRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(SortedFirstLastRule.description) + } +} + +class SortedImportsRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(SortedImportsRule.description) + } +} + +class StrictFilePrivateRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(StrictFilePrivateRule.description) + } +} + +class SwitchCaseOnNewlineRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(SwitchCaseOnNewlineRule.description) + } +} + +class SyntacticSugarRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(SyntacticSugarRule.description) + } +} + +class TrailingClosureRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(TrailingClosureRule.description) + } +} + +class TrailingSemicolonRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(TrailingSemicolonRule.description) + } +} + +class TypeBodyLengthRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(TypeBodyLengthRule.description) + } +} + +class UnavailableFunctionRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(UnavailableFunctionRule.description) + } +} + +class UnneededBreakInSwitchRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(UnneededBreakInSwitchRule.description) + } +} + +class UnneededParenthesesInClosureArgumentRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(UnneededParenthesesInClosureArgumentRule.description) + } +} + +class UntypedErrorInCatchRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(UntypedErrorInCatchRule.description) + } +} + +class UnusedClosureParameterRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(UnusedClosureParameterRule.description) + } +} + +class UnusedEnumeratedRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(UnusedEnumeratedRule.description) + } +} + +class ValidIBInspectableRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(ValidIBInspectableRule.description) + } +} + +class VerticalParameterAlignmentOnCallRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(VerticalParameterAlignmentOnCallRule.description) + } +} + +class VerticalParameterAlignmentRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(VerticalParameterAlignmentRule.description) + } +} + +class VoidReturnRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(VoidReturnRule.description) + } +} + +class WeakDelegateRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(WeakDelegateRule.description) + } +} + +class XCTFailMessageRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(XCTFailMessageRule.description) + } +} + +class YodaConditionRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(YodaConditionRule.description) + } +} + +// just to avoid a file_name warning +private struct AutomaticRuleTests {} diff --git a/Tests/SwiftLintFrameworkTests/FunctionBodyLengthRuleTests.swift b/Tests/SwiftLintFrameworkTests/FunctionBodyLengthRuleTests.swift index 3e55bf358..66397582d 100644 --- a/Tests/SwiftLintFrameworkTests/FunctionBodyLengthRuleTests.swift +++ b/Tests/SwiftLintFrameworkTests/FunctionBodyLengthRuleTests.swift @@ -12,6 +12,10 @@ private func violatingFuncWithBody(_ body: String) -> String { class FunctionBodyLengthRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(FunctionBodyLengthRule.description) + } + func testFunctionBodyLengths() { let longFunctionBody = funcWithBody(repeatElement("x = 0\n", count: 39).joined()) XCTAssertEqual(violations(longFunctionBody), []) diff --git a/Tests/SwiftLintFrameworkTests/FunctionParameterCountRuleTests.swift b/Tests/SwiftLintFrameworkTests/FunctionParameterCountRuleTests.swift index 388c5802b..d791d6219 100644 --- a/Tests/SwiftLintFrameworkTests/FunctionParameterCountRuleTests.swift +++ b/Tests/SwiftLintFrameworkTests/FunctionParameterCountRuleTests.swift @@ -13,6 +13,10 @@ private func violatingFuncWithParameters(_ parameters: String) -> String { class FunctionParameterCountRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(FunctionParameterCountRule.description) + } + func testFunctionParameterCount() { let baseDescription = FunctionParameterCountRule.description let nonTriggeringExamples = [ diff --git a/Tests/SwiftLintFrameworkTests/ImplicitlyUnwrappedOptionalRuleTests.swift b/Tests/SwiftLintFrameworkTests/ImplicitlyUnwrappedOptionalRuleTests.swift index b069b619f..c5c5aeee0 100644 --- a/Tests/SwiftLintFrameworkTests/ImplicitlyUnwrappedOptionalRuleTests.swift +++ b/Tests/SwiftLintFrameworkTests/ImplicitlyUnwrappedOptionalRuleTests.swift @@ -4,6 +4,10 @@ import XCTest class ImplicitlyUnwrappedOptionalRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(ImplicitlyUnwrappedOptionalRule.description) + } + func testImplicitlyUnwrappedOptionalRuleDefaultConfiguration() { let rule = ImplicitlyUnwrappedOptionalRule() XCTAssertEqual(rule.configuration.mode, .allExceptIBOutlets) diff --git a/Tests/SwiftLintFrameworkTests/PrivateOutletRuleTests.swift b/Tests/SwiftLintFrameworkTests/PrivateOutletRuleTests.swift new file mode 100644 index 000000000..db2b5a204 --- /dev/null +++ b/Tests/SwiftLintFrameworkTests/PrivateOutletRuleTests.swift @@ -0,0 +1,21 @@ +import SwiftLintFramework +import XCTest + +class PrivateOutletRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(PrivateOutletRule.description) + } + + func testWithAllowPrivateSet() { + let baseDescription = PrivateOutletRule.description + let nonTriggeringExamples = baseDescription.nonTriggeringExamples + [ + "class Foo {\n @IBOutlet private(set) var label: UILabel?\n}\n", + "class Foo {\n @IBOutlet private(set) var label: UILabel!\n}\n", + "class Foo {\n @IBOutlet weak private(set) var label: UILabel?\n}\n", + "class Foo {\n @IBOutlet private(set) weak var label: UILabel?\n}\n" + ] + + let description = baseDescription.with(nonTriggeringExamples: nonTriggeringExamples) + verifyRule(description, ruleConfiguration: ["allow_private_set": true]) + } +} diff --git a/Tests/SwiftLintFrameworkTests/RulesTests.swift b/Tests/SwiftLintFrameworkTests/RulesTests.swift index 101918c7b..a9067d4b9 100644 --- a/Tests/SwiftLintFrameworkTests/RulesTests.swift +++ b/Tests/SwiftLintFrameworkTests/RulesTests.swift @@ -1,515 +1,23 @@ import SwiftLintFramework import XCTest -// swiftlint:disable file_length -// swiftlint:disable type_body_length - class RulesTests: XCTestCase { - - func testAnyObjectProtocol() { - verifyRule(AnyObjectProtocolRule.description) - } - - func testArrayInit() { - verifyRule(ArrayInitRule.description) - } - - func testBlockBasedKVO() { - verifyRule(BlockBasedKVORule.description) - } - - func testClassDelegateProtocol() { - verifyRule(ClassDelegateProtocolRule.description) - } - - func testClosingBrace() { - verifyRule(ClosingBraceRule.description) - } - - func testClosureEndIndentation() { - verifyRule(ClosureEndIndentationRule.description) - } - - func testClosureParameterPosition() { - verifyRule(ClosureParameterPositionRule.description) - } - - func testClosureSpacing() { - verifyRule(ClosureSpacingRule.description) - } - - func testComma() { - verifyRule(CommaRule.description) - } - - func testCompilerProtocolInit() { - verifyRule(CompilerProtocolInitRule.description) - } - - func testConditionalReturnsOnNewline() { - verifyRule(ConditionalReturnsOnNewlineRule.description) - } - - func testContainsOverFirstNotNil() { - verifyRule(ContainsOverFirstNotNilRule.description) - } - - func testControlStatement() { - verifyRule(ControlStatementRule.description) - } - - func testConvenienceType() { - verifyRule(ConvenienceTypeRule.description) - } - - func testCyclomaticComplexity() { - verifyRule(CyclomaticComplexityRule.description) - } - - func testDiscardedNotificationCenterObserver() { - verifyRule(DiscardedNotificationCenterObserverRule.description) - } - - func testDiscouragedObjectLiteral() { - verifyRule(DiscouragedObjectLiteralRule.description) - } - - func testDiscouragedOptionalBoolean() { - verifyRule(DiscouragedOptionalBooleanRule.description) - } - - func testDiscouragedOptionalCollection() { - verifyRule(DiscouragedOptionalCollectionRule.description) - } - - func testDynamicInline() { - verifyRule(DynamicInlineRule.description) - } - - func testEmptyCount() { - verifyRule(EmptyCountRule.description) - } - - func testEmptyEnumArguments() { - verifyRule(EmptyEnumArgumentsRule.description) - } - - func testEmptyParameters() { - verifyRule(EmptyParametersRule.description) - } - - func testLowerACLThanParent() { - verifyRule(LowerACLThanParentRule.description) - } - - func testEmptyParenthesesWithTrailingClosure() { - verifyRule(EmptyParenthesesWithTrailingClosureRule.description) - } - - func testEmptyString() { - verifyRule(EmptyStringRule.description) - } - - func testEmptyXCTestMethods() { - verifyRule(EmptyXCTestMethodRule.description) - } - - func testExplicitACL() { - verifyRule(ExplicitACLRule.description) - } - - func testExplicitEnumRawValue() { - verifyRule(ExplicitEnumRawValueRule.description) - } - - func testExplicitInit() { - verifyRule(ExplicitInitRule.description) - } - - func testExplicitTopLevelACL() { - verifyRule(ExplicitTopLevelACLRule.description) - } - - func testExtensionAccessModifier() { - verifyRule(ExtensionAccessModifierRule.description) - } - - func testFallthrough() { - verifyRule(FallthroughRule.description) - } - - func testFatalErrorMessage() { - verifyRule(FatalErrorMessageRule.description) - } - - func testFirstWhere() { - verifyRule(FirstWhereRule.description) - } - - func testForceCast() { - verifyRule(ForceCastRule.description) - } - - func testForceTry() { - verifyRule(ForceTryRule.description) - } - - func testForceUnwrapping() { - verifyRule(ForceUnwrappingRule.description) - } - - func testForWhere() { - verifyRule(ForWhereRule.description) - } - - func testFunctionBodyLength() { - verifyRule(FunctionBodyLengthRule.description) - } - - func testFunctionDefaultParameterAtEnd() { - verifyRule(FunctionDefaultParameterAtEndRule.description) - } - - func testFunctionParameterCount() { - verifyRule(FunctionParameterCountRule.description) - } - - func testImplicitGetter() { - verifyRule(ImplicitGetterRule.description) - } - - func testImplicitlyUnwrappedOptional() { - verifyRule(ImplicitlyUnwrappedOptionalRule.description) - } - - func testImplicitReturn() { - verifyRule(ImplicitReturnRule.description) - } - - func testIsDisjoint() { - verifyRule(IsDisjointRule.description) - } - - func testJoinedDefaultParameter() { - verifyRule(JoinedDefaultParameterRule.description) - } - - func testLargeTuple() { - verifyRule(LargeTupleRule.description) - } - func testLeadingWhitespace() { verifyRule(LeadingWhitespaceRule.description, skipDisableCommandTests: true, testMultiByteOffsets: false, testShebang: false) } - func testLegacyCGGeometryFunctions() { - verifyRule(LegacyCGGeometryFunctionsRule.description) - } - - func testLegacyNSGeometryFunctions() { - verifyRule(LegacyNSGeometryFunctionsRule.description) - } - - func testLegacyConstant() { - verifyRule(LegacyConstantRule.description) - } - - func testLegacyConstructor() { - verifyRule(LegacyConstructorRule.description) - } - - func testLetVarWhitespace() { - verifyRule(LetVarWhitespaceRule.description) - } - - func testLiteralExpressionEndIdentation() { - verifyRule(LiteralExpressionEndIdentationRule.description) - } - func testMark() { verifyRule(MarkRule.description, skipCommentTests: true) } - func testModifierOrder() { - verifyRule(ModifierOrderRule.description) - } - - func testMultilineFunctionChains() { - verifyRule(MultilineFunctionChainsRule.description) - } - - func testMultilineParameters() { - verifyRule(MultilineParametersRule.description) - } - - func testMultipleClosuresWithTrailingClosure() { - verifyRule(MultipleClosuresWithTrailingClosureRule.description) - } - - func testNesting() { - verifyRule(NestingRule.description) - } - - func testNoExtensionAccessModifier() { - verifyRule(NoExtensionAccessModifierRule.description) - } - - func testNoFallthroughOnly() { - verifyRule(NoFallthroughOnlyRule.description) - } - - func testNoGroupingExtension() { - verifyRule(NoGroupingExtensionRule.description) - } - - func testNotificationCenterDetachment() { - verifyRule(NotificationCenterDetachmentRule.description) - } - - func testNimbleOperator() { - verifyRule(NimbleOperatorRule.description) - } - - func testOpeningBrace() { - verifyRule(OpeningBraceRule.description) - } - - func testOperatorFunctionWhitespace() { - verifyRule(OperatorFunctionWhitespaceRule.description) - } - - func testOperatorUsageWhitespace() { - verifyRule(OperatorUsageWhitespaceRule.description) - } - - func testOverrideInExtension() { - verifyRule(OverrideInExtensionRule.description) - } - - func testPatternMatchingKeywords() { - verifyRule(PatternMatchingKeywordsRule.description) - } - - func testPrefixedTopLevelConstant() { - verifyRule(PrefixedTopLevelConstantRule.description) - } - - func testPrivateAction() { - verifyRule(PrivateActionRule.description) - } - - func testPrivateOutlet() { - verifyRule(PrivateOutletRule.description) - - let baseDescription = PrivateOutletRule.description - let nonTriggeringExamples = baseDescription.nonTriggeringExamples + [ - "class Foo {\n @IBOutlet private(set) var label: UILabel?\n}\n", - "class Foo {\n @IBOutlet private(set) var label: UILabel!\n}\n", - "class Foo {\n @IBOutlet weak private(set) var label: UILabel?\n}\n", - "class Foo {\n @IBOutlet private(set) weak var label: UILabel?\n}\n" - ] - - let description = baseDescription.with(nonTriggeringExamples: nonTriggeringExamples) - verifyRule(description, ruleConfiguration: ["allow_private_set": true]) - } - - func testPrivateUnitTest() { - verifyRule(PrivateUnitTestRule.description) - } - - func testProhibitedSuper() { - verifyRule(ProhibitedSuperRule.description) - } - - func testProtocolPropertyAccessorsOrder() { - verifyRule(ProtocolPropertyAccessorsOrderRule.description) - } - - func testQuickDiscouragedCall() { - verifyRule(QuickDiscouragedCallRule.description) - } - - func testQuickDiscouragedFocusedTest() { - verifyRule(QuickDiscouragedFocusedTestRule.description) - } - - func testQuickDiscouragedPendingTest() { - verifyRule(QuickDiscouragedPendingTestRule.description) - } - - func testRedundantDiscardableLet() { - verifyRule(RedundantDiscardableLetRule.description) - } - - func testRedundantNilCoalescing() { - verifyRule(RedundantNilCoalescingRule.description) - } - - func testRedundantOptionalInitialization() { - verifyRule(RedundantOptionalInitializationRule.description) - } - - func testRedundantSetAccessControl() { - verifyRule(RedundantSetAccessControlRule.description) - } - - func testRedundantStringEnumValue() { - verifyRule(RedundantStringEnumValueRule.description) - } - - func testRedundantTypeAnnotation() { - verifyRule(RedundantTypeAnnotationRule.description) - } - - func testRedundantVoidReturn() { - verifyRule(RedundantVoidReturnRule.description) - } - func testRequiredEnumCase() { let configuration = ["NetworkResponsable": ["notConnected": "error"]] verifyRule(RequiredEnumCaseRule.description, ruleConfiguration: configuration) } - func testReturnArrowWhitespace() { - verifyRule(ReturnArrowWhitespaceRule.description) - } - - func testShorthandOperator() { - verifyRule(ShorthandOperatorRule.description) - } - - func testSingleTestClass() { - verifyRule(SingleTestClassRule.description) - } - - func testSortedFirstLast() { - verifyRule(SortedFirstLastRule.description) - } - - func testSortedImports() { - verifyRule(SortedImportsRule.description) - } - - func testStatementPosition() { - verifyRule(StatementPositionRule.description) - } - - func testStatementPositionUncuddled() { - let configuration = ["statement_mode": "uncuddled_else"] - verifyRule(StatementPositionRule.uncuddledDescription, ruleConfiguration: configuration) - } - - func testStrictFilePrivate() { - verifyRule(StrictFilePrivateRule.description) - } - - func testSwitchCaseAlignment() { - verifyRule(SwitchCaseAlignmentRule.description) - } - - func testSwitchCaseOnNewline() { - verifyRule(SwitchCaseOnNewlineRule.description) - } - - func testSyntacticSugar() { - verifyRule(SyntacticSugarRule.description) - } - - func testTrailingClosure() { - verifyRule(TrailingClosureRule.description) - } - func testTrailingNewline() { verifyRule(TrailingNewlineRule.description, commentDoesntViolate: false, stringDoesntViolate: false) } - - func testTrailingSemicolon() { - verifyRule(TrailingSemicolonRule.description) - } - - func testTrailingWhitespace() { - verifyRule(TrailingWhitespaceRule.description) - - // Perform additional tests with the ignores_empty_lines setting enabled. - // The set of non-triggering examples is extended by a whitespace-indented empty line - let baseDescription = TrailingWhitespaceRule.description - let nonTriggeringExamples = baseDescription.nonTriggeringExamples + [" \n"] - let description = baseDescription.with(nonTriggeringExamples: nonTriggeringExamples) - - verifyRule(description, - ruleConfiguration: ["ignores_empty_lines": true, "ignores_comments": true]) - - // Perform additional tests with the ignores_comments settings disabled. - let triggeringComments = ["// \n", "let name: String // \n"] - let nonTriggeringExamples2 = baseDescription.nonTriggeringExamples - .filter { !triggeringComments.contains($0) } - let triggeringExamples2 = baseDescription.triggeringExamples + triggeringComments - let description2 = baseDescription.with(nonTriggeringExamples: nonTriggeringExamples2) - .with(triggeringExamples: triggeringExamples2) - verifyRule(description2, - ruleConfiguration: ["ignores_empty_lines": false, "ignores_comments": false], - commentDoesntViolate: false) - } - - func testTypeBodyLength() { - verifyRule(TypeBodyLengthRule.description) - } - - func testUnavailableFunction() { - verifyRule(UnavailableFunctionRule.description) - } - - func testUnneededBreakInSwitch() { - verifyRule(UnneededBreakInSwitchRule.description) - } - - func testUnneededParenthesesInClosureArgument() { - verifyRule(UnneededParenthesesInClosureArgumentRule.description) - } - - func testUntypedErrorInCatch() { - verifyRule(UntypedErrorInCatchRule.description) - } - - func testUnusedClosureParameter() { - verifyRule(UnusedClosureParameterRule.description) - } - - func testUnusedEnumerated() { - verifyRule(UnusedEnumeratedRule.description) - } - - func testValidIBInspectable() { - verifyRule(ValidIBInspectableRule.description) - } - - func testVerticalParameterAlignmentOnCall() { - verifyRule(VerticalParameterAlignmentOnCallRule.description) - } - - func testVerticalParameterAlignment() { - verifyRule(VerticalParameterAlignmentRule.description) - } - - func testVoidReturn() { - verifyRule(VoidReturnRule.description) - } - - func testSuperCall() { - verifyRule(OverriddenSuperCallRule.description) - } - - func testWeakDelegate() { - verifyRule(WeakDelegateRule.description) - } - - func testXCTFailMessage() { - verifyRule(XCTFailMessageRule.description) - } - - func testYodaCondition() { - verifyRule(YodaConditionRule.description) - } } diff --git a/Tests/SwiftLintFrameworkTests/StatementPositionRuleTests.swift b/Tests/SwiftLintFrameworkTests/StatementPositionRuleTests.swift new file mode 100644 index 000000000..1e6d51910 --- /dev/null +++ b/Tests/SwiftLintFrameworkTests/StatementPositionRuleTests.swift @@ -0,0 +1,13 @@ +import SwiftLintFramework +import XCTest + +class StatementPositionRuleTests: XCTestCase { + func testStatementPosition() { + verifyRule(StatementPositionRule.description) + } + + func testStatementPositionUncuddled() { + let configuration = ["statement_mode": "uncuddled_else"] + verifyRule(StatementPositionRule.uncuddledDescription, ruleConfiguration: configuration) + } +} diff --git a/Tests/SwiftLintFrameworkTests/SwitchCaseAlignmentRuleTests.swift b/Tests/SwiftLintFrameworkTests/SwitchCaseAlignmentRuleTests.swift index c05acaf57..06a18c68c 100644 --- a/Tests/SwiftLintFrameworkTests/SwitchCaseAlignmentRuleTests.swift +++ b/Tests/SwiftLintFrameworkTests/SwitchCaseAlignmentRuleTests.swift @@ -2,6 +2,10 @@ import XCTest class SwitchCaseAlignmentRuleTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(SwitchCaseAlignmentRule.description) + } + func testSwitchCaseAlignmentWithoutIndentedCases() { let baseDescription = SwitchCaseAlignmentRule.description let examples = SwitchCaseAlignmentRule.Examples(indentedCases: false) diff --git a/Tests/SwiftLintFrameworkTests/TrailingWhitespaceTests.swift b/Tests/SwiftLintFrameworkTests/TrailingWhitespaceTests.swift new file mode 100644 index 000000000..5463c09f8 --- /dev/null +++ b/Tests/SwiftLintFrameworkTests/TrailingWhitespaceTests.swift @@ -0,0 +1,33 @@ +import SwiftLintFramework +import XCTest + +class TrailingWhitespaceTests: XCTestCase { + func testWithDefaultConfiguration() { + verifyRule(TrailingWhitespaceRule.description) + } + + func testWithIgnoresEmptyLinesEnabled() { + // Perform additional tests with the ignores_empty_lines setting enabled. + // The set of non-triggering examples is extended by a whitespace-indented empty line + let baseDescription = TrailingWhitespaceRule.description + let nonTriggeringExamples = baseDescription.nonTriggeringExamples + [" \n"] + let description = baseDescription.with(nonTriggeringExamples: nonTriggeringExamples) + + verifyRule(description, + ruleConfiguration: ["ignores_empty_lines": true, "ignores_comments": true]) + } + + func testWithIgnoresCommentsDisabled() { + // Perform additional tests with the ignores_comments settings disabled. + let baseDescription = TrailingWhitespaceRule.description + let triggeringComments = ["// \n", "let name: String // \n"] + let nonTriggeringExamples = baseDescription.nonTriggeringExamples + .filter { !triggeringComments.contains($0) } + let triggeringExamples = baseDescription.triggeringExamples + triggeringComments + let description = baseDescription.with(nonTriggeringExamples: nonTriggeringExamples) + .with(triggeringExamples: triggeringExamples) + verifyRule(description, + ruleConfiguration: ["ignores_empty_lines": false, "ignores_comments": false], + commentDoesntViolate: false) + } +}