aboutsummaryrefslogtreecommitdiff
path: root/test/functions/colors.spec
blob: 4ee712050b562a9194dc13c7b02522a9879a1810 (plain) (blame)
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#!/usr/bin/env zsh
#vim:ft=zsh ts=2 sw=2 sts=2 et fenc=utf-8

# Required for shunit2 to run correctly
setopt shwordsplit
SHUNIT_PARENT=$0

function setUp() {
  # Load Powerlevel9k
  source functions/colors.zsh
}

function testGetColorCodeWithAnsiForegroundColor() {
  assertEquals '002' "$(getColorCode 'green')"
}

function testGetColorCodeWithAnsiBackgroundColor() {
  assertEquals '002' "$(getColorCode 'bg-green')"
}

function testGetColorCodeWithNumericalColor() {
  assertEquals '002' "$(getColorCode '002')"
}

function testGetColorCodeWithNoneColor() {
  assertEquals 'none' "$(getColorCode 'NONE')"
}

function testIsSameColorComparesAnsiForegroundAndNumericalColorCorrectly() {
  assertTrue "isSameColor 'green' '002'"
}

function testIsSameColorComparesAnsiBackgroundAndNumericalColorCorrectly() {
  assertTrue "isSameColor 'bg-green' '002'"
}

function testIsSameColorComparesShortCodesCorrectly() {
  assertTrue "isSameColor '002' '2'"
}

function testIsSameColorDoesNotYieldNotEqualColorsTruthy() {
  assertFalse "isSameColor 'green' '003'"
}

function testIsSameColorHandlesNoneCorrectly() {
  assertTrue "isSameColor 'none' 'NOnE'"
}

function testIsSameColorCompareTwoNoneColorsCorrectly() {
  assertTrue "isSameColor 'none' 'none'"
}

function testIsSameColorComparesColorWithNoneCorrectly() {
  assertFalse "isSameColor 'green' 'none'"
}

function testBrightColorsWork() {
  # We had some code in the past that equalized bright colors
  # with normal ones. This code is now gone, and this test should
  # ensure that all input channels for bright colors are handled
  # correctly.
  assertTrue "isSameColor 'cyan' '006'"
  assertEquals '006' "$(getColorCode 'cyan')"
  assertEquals '006' "$(getColor 'cyan')"
}

source shunit2/shunit2