File: test-rules.R

package info (click to toggle)
r-cran-cli 3.6.4-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 4,288 kB
  • sloc: ansic: 16,412; cpp: 37; sh: 13; makefile: 2
file content (158 lines) | stat: -rw-r--r-- 3,930 bytes parent folder | download | duplicates (2)
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158

test_that_cli("make_line", {

  expect_equal(make_line(1, "-"), "-")
  expect_equal(make_line(0, "-"), "")
  expect_equal(make_line(2, "-"), "--")
  expect_equal(make_line(10, "-"), "----------")

  expect_equal(make_line(2, "12"), "12")
  expect_equal(make_line(0, "12"), "")
  expect_equal(make_line(1, "12"), "1")
  expect_equal(make_line(9, "12"), "121212121")
  expect_equal(make_line(10, "12"), "1212121212")
})

test_that("width option", {
  expect_equal(
    rule(width = 11, line = "-"),
    rule_class("-----------")
  )
})

test_that("left label", {

  expect_equal(
    rule("label", width = 12, line = "-"),
    rule_class("-- label ---")
  )
  expect_equal(
    rule("l", width = 12, line = "-"),
    rule_class("-- l -------")
  )
  expect_equal(
    rule("label", width = 9, line = "-"),
    rule_class("-- label ")
  )
  expect_equal(
    rule("label", width = 8, line = "-"),
    rule_class("-- label")
  )
  expect_equal(
    rule("label", width = 6, line = "-"),
    rule_class("-- lab")
  )
})

test_that("centered label", {

  expect_error(
    rule(left = "label", center = "label"),
    "cannot be specified"
  )
  expect_error(
    rule(center = "label", right = "label"),
    "cannot be specified"
  )

  expect_equal(
    rule(center = "label", width = 13, line = "-"),
    rule_class("--- label ---")
  )
  expect_equal(
    rule(center = "label", width = 14, line = "-"),
    rule_class("---- label ---")
  )
  expect_equal(
    rule(center = "label", width = 9, line = "-"),
    rule_class("- label -")
  )
  expect_equal(
    rule(center = "label", width = 8, line = "-"),
    rule_class("- labe -")
  )
  expect_equal(
    rule(center = "label", width = 7, line = "-"),
    rule_class("- lab -")
  )
})

test_that("right label", {
  expect_equal(
    rule(right = "label", width = 12, line = "-"),
    rule_class("--- label --")
  )
  expect_equal(
    rule(right = "l", width = 12, line = "-"),
    rule_class("------- l --")
  )
  expect_equal(
    rule(right = "label", width = 9, line = "-"),
    rule_class(" label --")
  )
  expect_equal(
    rule(right = "label", width = 8, line = "-"),
    rule_class(" label -")
  )
  expect_equal(
    rule(right = "label", width = 6, line = "-"),
    rule_class(" label")
  )
  expect_equal(
    rule(right = "label", width = 5, line = "-"),
    rule_class(" labe")
  )
  expect_equal(
    rule(right = "label", width = 4, line = "-"),
    rule_class(" lab")
  )
})

test_that("line_col", {

  withr::with_options(
    list(cli.num_colors = 256L), {
      expect_true(ansi_has_any(
        rule(line_col = "red")
      ))
      expect_true(ansi_has_any(
        rule(left = "left", line_col = "red")
      ))
      expect_true(ansi_has_any(
        rule(left = "left", right = "right", line_col = "red")
      ))
      expect_true(ansi_has_any(
        rule(center = "center", line_col = "red")
      ))
      expect_true(ansi_has_any(
        rule(right = "right", line_col = "red")
      ))

      expect_true(ansi_has_any(
        rule(line_col = col_red)
      ))
    }
  )
})

test_that_cli("get_line_char", {
  expect_equal(get_line_char(1), cli::symbol$line)
  expect_equal(get_line_char(2), cli::symbol$double_line)

  expect_equal(get_line_char("bar1"), cli::symbol$lower_block_1)
  expect_equal(get_line_char("bar2"), cli::symbol$lower_block_2)
  expect_equal(get_line_char("bar3"), cli::symbol$lower_block_3)
  expect_equal(get_line_char("bar4"), cli::symbol$lower_block_4)
  expect_equal(get_line_char("bar5"), cli::symbol$lower_block_5)
  expect_equal(get_line_char("bar6"), cli::symbol$lower_block_6)
  expect_equal(get_line_char("bar7"), cli::symbol$lower_block_7)
  expect_equal(get_line_char("bar8"), cli::symbol$lower_block_8)

  expect_equal(get_line_char("xxx"), "xxx")
  expect_equal(get_line_char(c("x", "y", "z")), "xyz")
})

test_that("print.cli_rule", {
  withr::local_options(cli.width = 20)
  expect_snapshot(rule("foo"))
})