diff --git a/Tests/SwiftLintFrameworkTests/ModifierOrderTests.swift b/Tests/SwiftLintFrameworkTests/ModifierOrderTests.swift index fedaeb23b4..e1b7d26584 100644 --- a/Tests/SwiftLintFrameworkTests/ModifierOrderTests.swift +++ b/Tests/SwiftLintFrameworkTests/ModifierOrderTests.swift @@ -144,6 +144,63 @@ class ModifierOrderTests: XCTestCase { verifyRule(descriptionOverride, ruleConfiguration: ["preferred_modifier_order": ["override", "acl", "owned", "final"]]) } + + func testNonSpecifiedModifiersDontInterfier() { + let descriptionOverride = RuleDescription( + identifier: "modifier_order", + name: "Modifier Order", + description: "Modifier order should be consistent.", + kind: .style, + minSwiftVersion: .fourDotOne, + nonTriggeringExamples: [ + """ + class Foo { + weak final override private var bar: UIView? + } + """, + """ + class Foo { + final weak override private var bar: UIView? + } + """, + """ + class Foo { + final override weak private var bar: UIView? + } + """, + """ + class Foo { + final override private weak var bar: UIView? + } + """ + ], + triggeringExamples: [ + """ + class Foo { + weak override final private var bar: UIView? + } + """, + """ + class Foo { + override weak final private var bar: UIView? + } + """, + """ + class Foo { + override final weak private var bar: UIView? + } + """, + """ + class Foo { + override final private weak var bar: UIView? + } + """ + ] + ) + + verifyRule(descriptionOverride, + ruleConfiguration: ["preferred_modifier_order": ["final", "override", "acl"]]) + } func testViolationMessage() { guard SwiftVersion.current >= ModifierOrderRule.description.minSwiftVersion else {