Skip to content

Commit ee573b2

Browse files
authored
Use cli instead of crayon for console output (#591)
* Use cli instead of crayon for console output * Add news
1 parent 76c61ff commit ee573b2

File tree

4 files changed

+27
-18
lines changed

4 files changed

+27
-18
lines changed

DESCRIPTION

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ Imports:
5151
jsonlite,
5252
rex,
5353
httr,
54-
crayon,
54+
cli,
5555
withr (>= 1.0.2),
5656
yaml
5757
Suggests:

NEWS.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# covr (development version)
22

3+
* Messages are now displayed using cli instead of crayon (@olivroy, #591).
4+
35
* covr now uses `testthat::with_mocked_bindings()` for its internal testing (@olivroy, #595).
46

57
* Fix R CMD check NOTE: non-API calls to SET_BODY, SET_CLOENV, SET_FORMALS (@t-kalinowski, #587)

R/summary_functions.R

+17-10
Original file line numberDiff line numberDiff line change
@@ -162,17 +162,24 @@ print.coverage <- function(x, group = c("filename", "functions"), by = "line", .
162162

163163
overall_percentage <- percent_coverage(df, by = by)
164164

165-
message(crayon::bold(
166-
paste(collapse = " ",
167-
c(attr(x, "package")$package, to_title(type), "Coverage: "))),
168-
format_percentage(overall_percentage))
169-
165+
msg <- cli::format_message(paste0(
166+
cli::style_bold(
167+
"{attr(x, 'package')$package} {to_title(type)} Coverage: "
168+
),
169+
format_percentage(overall_percentage)
170+
))
171+
message(msg)
170172
by_coverage <- percents[order(percents,
171173
names(percents))]
172174

173175
for (i in seq_along(by_coverage)) {
174-
message(crayon::bold(paste0(names(by_coverage)[i], ": ")),
175-
format_percentage(by_coverage[i]))
176+
msg <- cli::format_message(
177+
paste0(
178+
cli::style_bold(names(by_coverage)[i], ": "),
179+
format_percentage(by_coverage[i])
180+
)
181+
)
182+
message(msg)
176183
}
177184
invisible(x)
178185
}
@@ -190,9 +197,9 @@ print.coverages <- function(x, ...) {
190197
}
191198

192199
format_percentage <- function(x) {
193-
color <- if (x >= 90) crayon::green
194-
else if (x >= 75) crayon::yellow
195-
else crayon::red
200+
color <- if (x >= 90) cli::col_green
201+
else if (x >= 75) cli::col_yellow
202+
else cli::col_red
196203

197204
color(sprintf("%02.2f%%", x))
198205
}

tests/testthat/test-print.R

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
test_that("format_percentage works as expected", {
2-
expect_equal(format_percentage(0), crayon::red("0.00%"))
2+
expect_equal(format_percentage(0), cli::col_red("0.00%"))
33

4-
expect_equal(format_percentage(25), crayon::red("25.00%"))
4+
expect_equal(format_percentage(25), cli::col_red("25.00%"))
55

6-
expect_equal(format_percentage(51), crayon::red("51.00%"))
6+
expect_equal(format_percentage(51), cli::col_red("51.00%"))
77

8-
expect_equal(format_percentage(76.5), crayon::yellow("76.50%"))
8+
expect_equal(format_percentage(76.5), cli::col_yellow("76.50%"))
99

10-
expect_equal(format_percentage(86.5), crayon::yellow("86.50%"))
10+
expect_equal(format_percentage(86.5), cli::col_yellow("86.50%"))
1111

12-
expect_equal(format_percentage(96.5), crayon::green("96.50%"))
12+
expect_equal(format_percentage(96.5), cli::col_green("96.50%"))
1313
})
1414

1515
test_that("print.coverage prints by = \"line\" by default", {
16-
cov <- package_coverage("TestPrint")
16+
cov <- package_coverage(test_path("TestPrint"))
1717

1818
expect_message(print(cov, by = "expression"),
1919
rex::rex("R/TestPrint.R: ", anything, "66.67%"))

0 commit comments

Comments
 (0)