Add tests
This commit is contained in:
parent
9aa089fd09
commit
798644bf8b
|
@ -1,4 +1,4 @@
|
|||
// swift-tools-version: 5.6
|
||||
// swift-tools-version: 5.7
|
||||
// The swift-tools-version declares the minimum version of Swift required to build this package.
|
||||
|
||||
import PackageDescription
|
||||
|
@ -7,6 +7,7 @@ let package = Package(
|
|||
name: "highlight-swift",
|
||||
platforms: [
|
||||
.macOS(.v11),
|
||||
.iOS(.v16),
|
||||
],
|
||||
products: [
|
||||
// Products define the executables and libraries a package produces, and make them visible to other packages.
|
||||
|
@ -25,5 +26,6 @@ let package = Package(
|
|||
.target(
|
||||
name: "highlight-swift",
|
||||
dependencies: ["Splash"]),
|
||||
.testTarget(name: "highlight-swift-tests", dependencies: ["highlight-swift"])
|
||||
]
|
||||
)
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
import XCTest
|
||||
|
||||
XCTMain([
|
||||
testCase(HighlightTests.allTests),
|
||||
])
|
|
@ -0,0 +1,30 @@
|
|||
//
|
||||
// HighlightTests.swift
|
||||
//
|
||||
//
|
||||
// Created by Shadowfacts on 12/10/22.
|
||||
//
|
||||
|
||||
import XCTest
|
||||
@testable import highlight_swift
|
||||
|
||||
class HighlightTests: XCTestCase {
|
||||
static var allTests = [
|
||||
("testHighlight", testHighlight),
|
||||
]
|
||||
|
||||
func testHighlight() {
|
||||
var code = "1+1"
|
||||
var len: UInt64 = 0
|
||||
let result = code.withUTF8 { codePtr in
|
||||
withUnsafeMutablePointer(to: &len) { lenPtr in
|
||||
highlight(codePtr: UnsafeRawPointer(codePtr.baseAddress!), codeLen: UInt64(codePtr.count), htmlLenPtr: lenPtr)
|
||||
}
|
||||
}
|
||||
let start = UnsafePointer(result.assumingMemoryBound(to: UInt8.self))
|
||||
let htmlPtr = UnsafeBufferPointer(start: start, count: Int(len))
|
||||
let data = Data(buffer: htmlPtr)
|
||||
let expected = "<span class=\"hl-num\">1</span>+<span class=\"hl-num\">1</span>"
|
||||
XCTAssertEqual(String(data: data, encoding: .utf8), expected)
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue