Files
SwiftLint/Tests/SwiftLintFrameworkTests/FileNameNoSpaceRuleTests.swift
timcmillerandJP Simard 4112816077 Added 'file_name_no_space' rule (#3008)
* Added 'file_name_no_space' rule

* Removed unused var, and added to changelog

* Remove custom suffix from 'file-name-no-space' rule

* Fixed LinuxMain

* Switched to use a CharacterSet over Regex
2020-01-03 15:45:30 -08:00

43 lines
1.4 KiB
Swift

import SourceKittenFramework
import SwiftLintFramework
import XCTest
private let fixturesDirectory = #file.bridge()
.deletingLastPathComponent.bridge()
.appendingPathComponent("Resources/FileNameNoSpaceRuleFixtures")
class FileNameNoSpaceRuleTests: XCTestCase {
private func validate(fileName: String, excludedOverride: [String]? = nil) throws -> [StyleViolation] {
let file = SwiftLintFile(path: fixturesDirectory.stringByAppendingPathComponent(fileName))!
let rule: FileNameNoSpaceRule
if let excluded = excludedOverride {
rule = try FileNameNoSpaceRule(configuration: ["excluded": excluded])
} else {
rule = FileNameNoSpaceRule()
}
return rule.validate(file: file)
}
func testFileNameDoesntTrigger() {
XCTAssert(try validate(fileName: "File.swift").isEmpty)
}
func testFileWithSpaceDoesTrigger() {
XCTAssertEqual(try validate(fileName: "File Name.swift").count, 1)
}
func testExtensionNameDoesntTrigger() {
XCTAssert(try validate(fileName: "File+Extension.swift").isEmpty)
}
func testExtensionWithSpaceDoesTrigger() {
XCTAssertEqual(try validate(fileName: "File+Test Extension.swift").count, 1)
}
func testCustomExcludedList() {
XCTAssert(try validate(fileName: "File+Test Extension.swift",
excludedOverride: ["File+Test Extension.swift"]).isEmpty)
}
}