1
0
mirror of https://github.com/nicoverbruggen/phpmon.git synced 2025-12-21 11:10:08 +01:00
Files
app/tests/unit/Parsers/ExtensionEnumeratorTest.swift
2025-11-23 17:37:46 +01:00

42 lines
1.8 KiB
Swift

//
// ExtensionEnumeratorTest.swift
// Unit Tests
//
// Created by Nico Verbruggen on 30/10/2023.
// Copyright © 2025 Nico Verbruggen. All rights reserved.
//
import Testing
import Foundation
struct ExtensionEnumeratorTest {
var container: Container
init() async throws {
let paths = Paths(container: Container.fake())
container = Container.fake(files: [
"\(paths.tapPath)/shivammathur/homebrew-extensions/Formula/xdebug@8.1.rb": .fake(.text, "<test>"),
"\(paths.tapPath)/shivammathur/homebrew-extensions/Formula/xdebug@8.2.rb": .fake(.text, "<test>"),
"\(paths.tapPath)/shivammathur/homebrew-extensions/Formula/xdebug@8.3.rb": .fake(.text, "<test>"),
"\(paths.tapPath)/shivammathur/homebrew-extensions/Formula/xdebug@8.4.rb": .fake(.text, "<test>")
])
}
@Test func can_read_formulae() throws {
let directory = "\(container.paths.tapPath)/shivammathur/homebrew-extensions/Formula"
let files = try container.filesystem.getShallowContentsOfDirectory(directory)
#expect(Set(files) == Set(["xdebug@8.1.rb", "xdebug@8.2.rb", "xdebug@8.3.rb", "xdebug@8.4.rb"]))
}
@Test func can_parse_formulae_based_on_syntax() throws {
let formulae = BrewTapFormulae.from(container, tap: "shivammathur/homebrew-extensions")
#expect(formulae["8.1"] == [BrewPhpExtension(container, path: "/", name: "xdebug", phpVersion: "8.1")])
#expect(formulae["8.2"] == [BrewPhpExtension(container, path: "/", name: "xdebug", phpVersion: "8.2")])
#expect(formulae["8.3"] == [BrewPhpExtension(container, path: "/", name: "xdebug", phpVersion: "8.3")])
#expect(formulae["8.4"] == [BrewPhpExtension(container, path: "/", name: "xdebug", phpVersion: "8.4")])
}
}