Files
SwiftLint/Source/SwiftLintFrameworkTests/IntegrationTests.swift
T
2015-11-17 16:51:37 -08:00

33 lines
1.2 KiB
Swift

//
// IntegrationTests.swift
// SwiftLint
//
// Created by JP Simard on 5/28/15.
// Copyright (c) 2015 Realm. All rights reserved.
//
import Foundation
import SourceKittenFramework
import SwiftLintFramework
import XCTest
class IntegrationTests: XCTestCase {
func testSwiftLintLints() {
// This is as close as we're ever going to get to a self-hosting linter.
let fileManager = NSFileManager.defaultManager()
let directory = ((((__FILE__ as NSString)
.stringByDeletingLastPathComponent as NSString)
.stringByDeletingLastPathComponent as NSString)
.stringByDeletingLastPathComponent as NSString)
.stringByAppendingPathComponent("Source")
do {
let allFiles = try fileManager.allFilesRecursively(directory: directory)
let swiftFiles = allFiles.filter { $0.isSwiftFile() }
XCTAssert(swiftFiles.contains(__FILE__), "current file should be included")
XCTAssertEqual(swiftFiles.flatMap({Linter(file: File(path: $0)!).styleViolations}), [])
} catch {
fatalError("Couldn't find files in \(directory): \(error)")
}
}
}