import Foundation import Testing import UIKit @testable import Hutch struct SyntaxHighlighterTests { @Test func mapsFileNamesToLanguages() { #expect(SyntaxHighlighter.language(forFileName: "Sources/App/Main.swift") == "swift") #expect(SyntaxHighlighter.language(forFileName: "server.py") == "python") #expect(SyntaxHighlighter.language(forFileName: "index.tsx") == "typescript") #expect(SyntaxHighlighter.language(forFileName: "Dockerfile") == "dockerfile") #expect(SyntaxHighlighter.language(forFileName: "Makefile") == "makefile") } @Test func returnsNilForUnknownExtensions() { #expect(SyntaxHighlighter.language(forFileName: "notes.unknownext") == nil) #expect(SyntaxHighlighter.language(forFileName: "LICENSE") == nil) } @Test func highlightsKnownLanguageAsColoredSpans() { let highlighter = SyntaxHighlighter(theme: .light) let html = highlighter.highlightedHTML(for: "let answer = 42", language: "swift") let unwrapped = try? #require(html) #expect(unwrapped?.contains("