Documented the StaticFile enumeration in the library target.
This commit is contained in:
parent
299a196fff
commit
996459c9f0
@ -1,7 +1,12 @@
|
|||||||
|
/// An enumeration that represents basic configuration static files which will be created by the `DocC` building process.
|
||||||
enum StaticFile: String, CaseIterable {
|
enum StaticFile: String, CaseIterable {
|
||||||
|
/// A file defining the root of the articles' folder, which will be used to redirect to the root of the archives' root article.
|
||||||
case documentation = "documentation.json"
|
case documentation = "documentation.json"
|
||||||
|
/// A file containing the icon in `.ico` format for the documentation generated by the `DocC` building process.
|
||||||
case faviconICO = "favicon.ico"
|
case faviconICO = "favicon.ico"
|
||||||
|
/// A file containing the icon in `.svg` format for the documentation generated by the `DocC` building process.
|
||||||
case faviconSVG = "favicon.svg"
|
case faviconSVG = "favicon.svg"
|
||||||
|
/// A file containing the theme settings for the documentation generated by the `DocC` building process.
|
||||||
case themeSettings = "theme-settings.json"
|
case themeSettings = "theme-settings.json"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -13,8 +18,8 @@ extension StaticFile: Pathable {
|
|||||||
|
|
||||||
var path: String {
|
var path: String {
|
||||||
switch self {
|
switch self {
|
||||||
case .documentation: "/data/" + rawValue
|
case .documentation: .init(format: .Format.Path.data, rawValue)
|
||||||
default: .init(format: .Format.pathRoot, rawValue)
|
default: .init(format: .Format.Path.root, rawValue)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
extension String {
|
extension String {
|
||||||
enum Format {
|
enum Format {
|
||||||
enum Path {
|
enum Path {
|
||||||
|
static let data = "/data/%@"
|
||||||
static let docs = "/docs/%@"
|
static let docs = "/docs/%@"
|
||||||
static let root = "/%@"
|
static let root = "/%@"
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,36 @@
|
|||||||
|
import Testing
|
||||||
|
|
||||||
|
@testable import AppLibrary
|
||||||
|
|
||||||
|
@Suite("StaticFile")
|
||||||
|
struct StaticFileTests {
|
||||||
|
|
||||||
|
@Test(arguments: zip(StaticFile.allCases, [String].paths))
|
||||||
|
func path(
|
||||||
|
for prefix: StaticFile,
|
||||||
|
expects pathExpected: String
|
||||||
|
) async throws {
|
||||||
|
// GIVEN
|
||||||
|
// WHEN
|
||||||
|
let path = prefix.path
|
||||||
|
|
||||||
|
// THEN
|
||||||
|
#expect(path == pathExpected)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// MARK: - Collection+Strings
|
||||||
|
|
||||||
|
private extension Collection where Element == String {
|
||||||
|
|
||||||
|
// MARK: Properties
|
||||||
|
|
||||||
|
static var paths: [Element] {[
|
||||||
|
"/data/documentation.json",
|
||||||
|
"/favicon.ico",
|
||||||
|
"/favicon.svg",
|
||||||
|
"/theme-settings.json"
|
||||||
|
]}
|
||||||
|
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user