1
0
mirror of https://github.com/nicoverbruggen/phpmon.git synced 2025-08-07 03:50:08 +02:00

Parse CaskFile, WIP for new AppUpdater

This commit is contained in:
2023-02-04 22:13:43 +01:00
parent 121a227510
commit 5c92d47ff0
8 changed files with 194 additions and 3 deletions

View File

@ -0,0 +1,48 @@
//
// CaskFileParserTest.swift
// Unit Tests
//
// Created by Nico Verbruggen on 04/02/2023.
// Copyright © 2023 Nico Verbruggen. All rights reserved.
//
import XCTest
class CaskFileParserTest: XCTestCase {
// MARK: - Test Files
static var exampleFilePath: URL {
return Bundle(for: Self.self)
.url(forResource: "phpmon-dev", withExtension: "rb")!
}
func test_can_extract_fields_from_cask_file() throws {
let caskFile = CaskFile.from(url: CaskFileParserTest.exampleFilePath)
XCTAssertEqual(
caskFile!.properties["version"],
"5.7.2_1035"
)
XCTAssertEqual(
caskFile!.properties["homepage"],
"https://phpmon.app"
)
XCTAssertEqual(
caskFile!.properties["appcast"],
"https://github.com/nicoverbruggen/phpmon/releases.atom"
)
XCTAssertEqual(
caskFile!.properties["url"],
"https://github.com/nicoverbruggen/phpmon/releases/download/v5.7.2/phpmon-dev.zip"
)
}
func test_can_extract_fields_from_remote_cask_file() throws {
let caskFile = CaskFile.from(url: Constants.Urls.StableBuildCaskFile)
XCTAssertTrue(caskFile!.properties.keys.contains("version"))
XCTAssertTrue(caskFile!.properties.keys.contains("homepage"))
XCTAssertTrue(caskFile!.properties.keys.contains("url"))
XCTAssertTrue(caskFile!.properties.keys.contains("appcast"))
}
}

View File

@ -0,0 +1,13 @@
cask 'phpmon-dev' do
depends_on formula: 'gnu-sed'
version '5.7.2_1035'
sha256 '1cb147bd1b1fbd52971d90dff577465b644aee7c878f15ede57f46e8f217067a'
url 'https://github.com/nicoverbruggen/phpmon/releases/download/v5.7.2/phpmon-dev.zip'
appcast 'https://github.com/nicoverbruggen/phpmon/releases.atom'
name 'PHP Monitor DEV'
homepage 'https://phpmon.app'
app 'PHP Monitor DEV.app', target: "PHP Monitor DEV.app"
end