Skip to content

Commit 642cced

Browse files
TESTS: Test that handlers can deal with zero-length progressors (#108)
1 parent f71f327 commit 642cced

File tree

5 files changed

+45
-28
lines changed

5 files changed

+45
-28
lines changed

tests/handler_pbmcapply.R

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,11 @@ source("incl/start.R")
22

33
if (requireNamespace("pbmcapply", quietly = TRUE)) {
44
handlers("pbmcapply")
5-
with_progress({ y <- slow_sum(1:10) })
6-
print(y)
5+
for (x in list(1:10, 1L, integer(0))) {
6+
message("length(x): ", length(x))
7+
with_progress({ y <- slow_sum(x) })
8+
print(y)
9+
}
710
}
811

912
source("incl/end.R")

tests/handler_progress.R

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,18 @@ if (requireNamespace("progress", quietly = TRUE)) {
66
options(progressr.handlers = handler_progress)
77
}
88

9-
x <- 1:10
10-
119
message("handler_progress() ...")
1210

13-
with_progress({
14-
progress <- progressor(along = x)
15-
for (ii in x) {
16-
Sys.sleep(getOption("progressr.demo.delay", 0.1))
17-
progress(message = sprintf("(%s)", paste(letters[1:ii], collapse="")))
18-
}
19-
})
11+
for (x in list(1:10, 1L, integer(0))) {
12+
message("length(x): ", length(x))
13+
with_progress({
14+
progress <- progressor(along = x)
15+
for (ii in x) {
16+
Sys.sleep(getOption("progressr.demo.delay", 0.1))
17+
progress(message = sprintf("(%s)", paste(letters[1:ii], collapse="")))
18+
}
19+
})
20+
}
2021

2122
message("handler_progress() ... done")
2223

tests/handler_rstudio.R

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,18 @@ if (requireNamespace("rstudioapi", quietly = TRUE) && rstudioapi::isAvailable())
66
options(progressr.handlers = handler_rstudio)
77
}
88

9-
x <- 1:10
10-
119
message("handler_rstudio() ...")
1210

13-
with_progress({
14-
progress <- progressor(along = x)
15-
for (ii in x) {
16-
Sys.sleep(getOption("progressr.demo.delay", 0.1))
17-
progress(message = sprintf("(%s)", paste(letters[1:ii], collapse="")))
18-
}
19-
})
11+
for (x in list(1:10, 1L, integer(0))) {
12+
message("length(x): ", length(x))
13+
with_progress({
14+
progress <- progressor(along = x)
15+
for (ii in x) {
16+
Sys.sleep(getOption("progressr.demo.delay", 0.1))
17+
progress(message = sprintf("(%s)", paste(letters[1:ii], collapse="")))
18+
}
19+
})
20+
}
2021

2122
message("handler_rstudio() ... done")
2223

tests/handler_tkprogressbar.R

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,20 @@ if (capabilities("tcltk") && requireNamespace("tcltk", quietly = TRUE)) {
66
options(progressr.handlers = handler_tkprogressbar)
77
}
88

9-
x <- 1:10
109

1110
message("handler_progress() ...")
12-
with_progress({
13-
progress <- progressor(along = x)
14-
for (ii in x) {
15-
Sys.sleep(getOption("progressr.demo.delay", 0.1))
16-
progress(message = sprintf("(%s)", paste(letters[1:ii], collapse="")))
17-
}
18-
})
11+
12+
for (x in list(1:10, 1L, integer(0))) {
13+
message("length(x): ", length(x))
14+
with_progress({
15+
progress <- progressor(along = x)
16+
for (ii in x) {
17+
Sys.sleep(getOption("progressr.demo.delay", 0.1))
18+
progress(message = sprintf("(%s)", paste(letters[1:ii], collapse="")))
19+
}
20+
})
21+
}
22+
1923
message("handler_progress() ... done")
2024

2125
source("incl/end.R")

tests/progressor.R

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,14 @@ local({
1818
p("A message")
1919
})
2020

21+
message("- zero length")
22+
local({
23+
p <- progressor(0L)
24+
print(p)
25+
p()
26+
p("A message")
27+
})
28+
2129
message("- multiple consequtive progressors")
2230
local({
2331
message("Progressor #1")

0 commit comments

Comments
 (0)