mirror of
https://github.com/realm/SwiftLint.git
synced 2026-06-06 20:18:40 +00:00
69 lines
3.1 KiB
Swift
69 lines
3.1 KiB
Swift
@testable import SwiftLintFramework
|
|
import XCTest
|
|
|
|
class MissingDocsRuleConfigurationTests: XCTestCase {
|
|
|
|
func testDescriptionEmpty() {
|
|
let configuration = MissingDocsRuleConfiguration()
|
|
XCTAssertEqual(configuration.consoleDescription, "")
|
|
}
|
|
|
|
func testDescriptionSingleServety() {
|
|
let configuration = MissingDocsRuleConfiguration(
|
|
parameters: [RuleParameter<AccessControlLevel>(severity: .error, value: .open)])
|
|
XCTAssertEqual(configuration.consoleDescription, "error: open")
|
|
}
|
|
|
|
func testDescriptionMultipleSeverities() {
|
|
let configuration = MissingDocsRuleConfiguration(
|
|
parameters: [RuleParameter<AccessControlLevel>(severity: .error, value: .open),
|
|
RuleParameter<AccessControlLevel>(severity: .warning, value: .public)])
|
|
XCTAssertEqual(configuration.consoleDescription, "error: open, warning: public")
|
|
}
|
|
|
|
func testDescriptionMultipleAcls() {
|
|
let configuration = MissingDocsRuleConfiguration(
|
|
parameters: [RuleParameter<AccessControlLevel>(severity: .warning, value: .open),
|
|
RuleParameter<AccessControlLevel>(severity: .warning, value: .public)])
|
|
XCTAssertEqual(configuration.consoleDescription, "warning: open, public")
|
|
}
|
|
|
|
func testParsingSingleServety() {
|
|
var configuration = MissingDocsRuleConfiguration()
|
|
try? configuration.apply(configuration: ["warning": "open"])
|
|
XCTAssertEqual(configuration.parameters, [RuleParameter<AccessControlLevel>(severity: .warning, value: .open)])
|
|
}
|
|
|
|
func testParsingMultipleSeverities() {
|
|
var configuration = MissingDocsRuleConfiguration()
|
|
try? configuration.apply(configuration: ["warning": "public", "error": "open"])
|
|
XCTAssertEqual(configuration.parameters.sorted { $0.value.rawValue > $1.value.rawValue },
|
|
[RuleParameter<AccessControlLevel>(severity: .warning, value: .public),
|
|
RuleParameter<AccessControlLevel>(severity: .error, value: .open)])
|
|
}
|
|
|
|
func testParsingMultipleAcls() {
|
|
var configuration = MissingDocsRuleConfiguration()
|
|
try? configuration.apply(configuration: ["warning": ["public", "open"]])
|
|
XCTAssertEqual(configuration.parameters.sorted { $0.value.rawValue > $1.value.rawValue },
|
|
[RuleParameter<AccessControlLevel>(severity: .warning, value: .public),
|
|
RuleParameter<AccessControlLevel>(severity: .warning, value: .open)])
|
|
}
|
|
|
|
func testInvalidServety() {
|
|
var configuration = MissingDocsRuleConfiguration()
|
|
XCTAssertThrowsError(try configuration.apply(configuration: ["warning": ["public", "closed"]]))
|
|
}
|
|
|
|
func testInvalidAcl() {
|
|
var configuration = MissingDocsRuleConfiguration()
|
|
XCTAssertThrowsError(try configuration.apply(configuration: ["debug": ["public", "open"]]))
|
|
}
|
|
|
|
func testInvalidDuplicateAcl() {
|
|
var configuration = MissingDocsRuleConfiguration()
|
|
XCTAssertThrowsError(try configuration.apply(configuration: ["warning": ["public", "open"], "error": "public"]))
|
|
}
|
|
|
|
}
|