mirror of
https://github.com/realm/SwiftLint.git
synced 2026-05-07 20:12:49 +00:00
39 lines
1.7 KiB
Swift
39 lines
1.7 KiB
Swift
@testable import SwiftLintBuiltInRules
|
|
import XCTest
|
|
|
|
class BlanketDisableCommandRuleTests: SwiftLintTestCase {
|
|
private lazy var emptyDescription = BlanketDisableCommandRule.description
|
|
.with(triggeringExamples: [])
|
|
.with(nonTriggeringExamples: [])
|
|
|
|
func testAlwaysBlanketDisable() {
|
|
let nonTriggeringExamples = [Example("// swiftlint:disable file_length\n// swiftlint:enable file_length")]
|
|
verifyRule(emptyDescription.with(nonTriggeringExamples: nonTriggeringExamples))
|
|
|
|
let triggeringExamples = [
|
|
Example("// swiftlint:disable file_length\n// swiftlint:enable ↓file_length"),
|
|
Example("// swiftlint:disable:previous ↓file_length"),
|
|
Example("// swiftlint:disable:this ↓file_length"),
|
|
Example("// swiftlint:disable:next ↓file_length")
|
|
]
|
|
verifyRule(emptyDescription.with(triggeringExamples: triggeringExamples),
|
|
ruleConfiguration: ["always_blanket_disable": ["file_length"]],
|
|
skipCommentTests: true, skipDisableCommandTests: true)
|
|
}
|
|
|
|
func testAlwaysBlanketDisabledAreAllowed() {
|
|
let nonTriggeringExamples = [Example("// swiftlint:disable identifier_name\n")]
|
|
verifyRule(emptyDescription.with(nonTriggeringExamples: nonTriggeringExamples),
|
|
ruleConfiguration: ["always_blanket_disable": ["identifier_name"], "allowed_rules": []],
|
|
skipDisableCommandTests: true)
|
|
}
|
|
|
|
func testAllowedRules() {
|
|
let nonTriggeringExamples = [
|
|
Example("// swiftlint:disable file_length"),
|
|
Example("// swiftlint:disable single_test_class")
|
|
]
|
|
verifyRule(emptyDescription.with(nonTriggeringExamples: nonTriggeringExamples))
|
|
}
|
|
}
|