diff --git a/highlight-swift/Package.swift b/highlight-swift/Package.swift
index de18bd7..96f17fe 100644
--- a/highlight-swift/Package.swift
+++ b/highlight-swift/Package.swift
@@ -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"])
]
)
diff --git a/highlight-swift/Tests/LinuxMain.swift b/highlight-swift/Tests/LinuxMain.swift
new file mode 100644
index 0000000..4f390b0
--- /dev/null
+++ b/highlight-swift/Tests/LinuxMain.swift
@@ -0,0 +1,5 @@
+import XCTest
+
+XCTMain([
+ testCase(HighlightTests.allTests),
+])
diff --git a/highlight-swift/Tests/highlight-swift-tests/HighlightTests.swift b/highlight-swift/Tests/highlight-swift-tests/HighlightTests.swift
new file mode 100644
index 0000000..a7eb043
--- /dev/null
+++ b/highlight-swift/Tests/highlight-swift-tests/HighlightTests.swift
@@ -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 = "1+1"
+ XCTAssertEqual(String(data: data, encoding: .utf8), expected)
+ }
+}