aboutsummaryrefslogtreecommitdiff
path: root/Tests/NorgUITests/NorgThemeTests.swift
blob: a621d9052cb03aa64601e21f7a08f6671015fade (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import NorgKit
import SwiftUI
import Testing

@testable import NorgUI

@Suite struct NorgThemeTests {
  @Test func defaultStatusTints() {
    let theme = NorgTheme.default
    #expect(theme.statusTint(.done) == .green)
    #expect(theme.statusTint(.urgent) == .red)
    #expect(theme.statusTint(.pending) == .blue)
    #expect(theme.statusTint(.undone) == .secondary)
    #expect(theme.statusTint(.cancelled) == .secondary)
    #expect(theme.statusTint(.onHold) == .secondary)
  }

  @Test func defaultScalarValues() {
    let theme = NorgTheme.default
    #expect(theme.superscriptOffset == 5)
    #expect(theme.subscriptOffset == -3)
    #expect(theme.indentWidth == 18)
    #expect(theme.linkColor == .accentColor)
    #expect(theme.verbatimColor == .pink)
  }

  @Test func defaultStatusSymbols() {
    let theme = NorgTheme.default
    #expect(theme.statusSymbol(.undone) == "circle")
    #expect(theme.statusSymbol(.done) == "checkmark.circle.fill")
    for status in TaskStatus.allCases {
      #expect(!theme.statusSymbol(status).isEmpty)
    }
  }
}