Skip to content

Commit c7e1f2d

Browse files
committed
Update a few more
1 parent c4a6e27 commit c7e1f2d

File tree

5 files changed

+108
-89
lines changed

5 files changed

+108
-89
lines changed

R/expect-comparison.R

Lines changed: 29 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -37,35 +37,38 @@ expect_compare_ <- function(
3737
call = trace_env
3838
)
3939
}
40-
if (!isTRUE(cmp)) {
41-
diff <- act$val - exp$val
42-
msg_exp <- sprintf("Expected %s %s %s.", act$lab, operator, exp$lab)
43-
44-
digits <- max(
45-
digits(act$val),
46-
digits(exp$val),
47-
min_digits(act$val, exp$val)
48-
)
40+
if (isTRUE(cmp)) {
41+
pass()
42+
return(invisible(act$val))
43+
}
4944

50-
msg_act <- sprintf(
51-
"Actual comparison: %s %s %s",
52-
num_exact(act$val, digits),
53-
actual_op,
54-
num_exact(exp$val, digits)
55-
)
45+
diff <- act$val - exp$val
46+
msg_exp <- sprintf("Expected %s %s %s.", act$lab, operator, exp$lab)
47+
48+
digits <- max(
49+
digits(act$val),
50+
digits(exp$val),
51+
min_digits(act$val, exp$val)
52+
)
5653

57-
if (is.na(diff)) {
58-
msg_diff <- NULL
59-
} else {
60-
msg_diff <- sprintf(
61-
"Difference: %s %s 0",
62-
num_exact(diff, digits),
63-
actual_op
64-
)
65-
}
66-
return(fail(c(msg_exp, msg_act, msg_diff), trace_env = trace_env))
54+
msg_act <- sprintf(
55+
"Actual comparison: %s %s %s",
56+
num_exact(act$val, digits),
57+
actual_op,
58+
num_exact(exp$val, digits)
59+
)
60+
61+
if (is.na(diff)) {
62+
msg_diff <- NULL
63+
} else {
64+
msg_diff <- sprintf(
65+
"Difference: %s %s 0",
66+
num_exact(diff, digits),
67+
actual_op
68+
)
6769
}
68-
pass(act$val)
70+
fail(c(msg_exp, msg_act, msg_diff), trace_env = trace_env)
71+
invisible(act$val)
6972
}
7073
#' @export
7174
#' @rdname comparison-expectations

R/expect-condition.R

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -143,9 +143,11 @@ expect_error <- function(
143143
# Access error fields with `[[` rather than `$` because the
144144
# `$.Throwable` from the rJava package throws with unknown fields
145145
if (!is.null(msg)) {
146-
return(fail(msg, info = info, trace = act$cap[["trace"]]))
146+
fail(msg, info = info, trace = act$cap[["trace"]])
147+
} else {
148+
pass()
147149
}
148-
pass(act$val %||% act$cap)
150+
invisible(act$val %||% act$cap)
149151
}
150152
}
151153

@@ -198,9 +200,11 @@ expect_warning <- function(
198200
cond_type = "warnings"
199201
)
200202
if (!is.null(msg)) {
201-
return(fail(msg, info = info))
203+
fail(msg, info = info)
204+
} else {
205+
pass()
202206
}
203-
pass(act$val)
207+
invisible(act$val)
204208
}
205209
}
206210

@@ -236,9 +240,11 @@ expect_message <- function(
236240
act <- quasi_capture(enquo(object), label, capture_messages)
237241
msg <- compare_messages(act$cap, act$lab, regexp = regexp, all = all, ...)
238242
if (!is.null(msg)) {
239-
return(fail(msg, info = info))
243+
fail(msg, info = info)
244+
} else {
245+
pass()
240246
}
241-
pass(act$val)
247+
invisible(act$val)
242248
}
243249
}
244250

@@ -285,9 +291,11 @@ expect_condition <- function(
285291
cond_type = "condition"
286292
)
287293
if (!is.null(msg)) {
288-
return(fail(msg, info = info, trace = act$cap[["trace"]]))
294+
fail(msg, info = info, trace = act$cap[["trace"]])
295+
} else {
296+
pass()
289297
}
290-
pass(act$val %||% act$cap)
298+
invisible(act$val %||% act$cap)
291299
}
292300
}
293301

@@ -327,16 +335,18 @@ expect_condition_matching_ <- function(
327335
# Access error fields with `[[` rather than `$` because the
328336
# `$.Throwable` from the rJava package throws with unknown fields
329337
if (!is.null(msg)) {
330-
return(fail(
338+
fail(
331339
msg,
332340
info = info,
333341
trace = act$cap[["trace"]],
334342
trace_env = trace_env
335-
))
343+
)
344+
} else {
345+
pass()
336346
}
337347
# If a condition was expected, return it. Otherwise return the value
338348
# of the expression.
339-
pass(if (expected) act$cap else act$val)
349+
invisible(if (expected) act$cap else act$val)
340350
}
341351

342352
# -------------------------------------------------------------------------

R/expect-constant.R

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,9 @@ expect_waldo_constant_ <- function(
8282
"Differences:",
8383
paste0(comp, collpase = "\n")
8484
)
85-
return(fail(msg, info = info, trace_env = trace_env))
85+
fail(msg, info = info, trace_env = trace_env)
86+
} else {
87+
pass()
8688
}
87-
pass(act$val)
89+
invisible(act$val)
8890
}

R/expect-equality.R

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,8 @@ expect_equal <- function(
8686
)
8787
fail(msg, info = info)
8888
}
89+
invisible(act$val)
8990
}
90-
invisible(act$val)
9191
}
9292

9393

@@ -107,8 +107,7 @@ expect_identical <- function(
107107
if (edition_get() >= 3) {
108108
expect_waldo_equal_("identical", act, exp, info, ...)
109109
} else {
110-
ident <- identical(act$val, exp$val, ...)
111-
if (ident) {
110+
if (identical(act$val, exp$val, ...)) {
112111
pass()
113112
} else {
114113
compare <- compare(act$val, exp$val)
@@ -123,11 +122,10 @@ expect_identical <- function(
123122
"Differences:",
124123
msg_act
125124
)
126-
return(fail(msg, info = info))
125+
fail(msg, info = info)
127126
}
127+
invisible(act$val)
128128
}
129-
130-
invisible(act$val)
131129
}
132130

133131
expect_waldo_equal_ <- function(
@@ -207,7 +205,9 @@ expect_equivalent <- function(
207205
exp$lab,
208206
comp$message
209207
)
210-
return(fail(msg, info = info))
208+
fail(msg, info = info)
209+
} else {
210+
pass()
211211
}
212-
pass(act$val)
212+
invisible(act$val)
213213
}

R/expect-inheritance.R

Lines changed: 46 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -94,37 +94,37 @@ expect_s3_class <- function(object, class, exact = FALSE) {
9494
if (identical(class, NA)) {
9595
if (isS3(object)) {
9696
msg <- sprintf("Expected %s not to be an S3 object.", act$lab)
97-
return(fail(msg))
97+
fail(msg)
98+
} else {
99+
pass()
98100
}
99101
} else if (is.character(class)) {
100102
if (!isS3(act$val)) {
101103
msg <- c(
102104
sprintf("Expected %s to be an S3 object.", act$lab),
103105
sprintf("Actual OO type: %s.", oo_type(act$val))
104106
)
105-
return(fail(msg))
106-
} else if (exact) {
107-
if (!identical(class(act$val), class)) {
108-
msg <- c(
109-
sprintf("Expected %s to have class %s.", act$lab, exp_lab),
110-
sprintf("Actual class: %s.", act$class)
111-
)
112-
return(fail(msg))
113-
}
107+
fail(msg)
108+
} else if (exact && !identical(class(act$val), class)) {
109+
msg <- c(
110+
sprintf("Expected %s to have class %s.", act$lab, exp_lab),
111+
sprintf("Actual class: %s.", act$class)
112+
)
113+
fail(msg)
114+
} else if (!inherits(act$val, class)) {
115+
msg <- c(
116+
sprintf("Expected %s to inherit from %s.", act$lab, exp_lab),
117+
sprintf("Actual class: %s.", act$class)
118+
)
119+
fail(msg)
114120
} else {
115-
if (!inherits(act$val, class)) {
116-
msg <- c(
117-
sprintf("Expected %s to inherit from %s.", act$lab, exp_lab),
118-
sprintf("Actual class: %s.", act$class)
119-
)
120-
return(fail(msg))
121-
}
121+
pass()
122122
}
123123
} else {
124124
stop_input_type(class, c("a character vector", "NA"))
125125
}
126126

127-
pass(act$val)
127+
invisible(act$val)
128128
}
129129

130130
#' @export
@@ -137,29 +137,31 @@ expect_s4_class <- function(object, class) {
137137
if (identical(class, NA)) {
138138
if (isS4(object)) {
139139
msg <- sprintf("Expected %s not to be an S4 object.", act$lab)
140-
return(fail(msg))
140+
fail(msg)
141+
} else {
142+
pass()
141143
}
142144
} else if (is.character(class)) {
143145
if (!isS4(act$val)) {
144146
msg <- c(
145147
sprintf("Expected %s to be an S4 object.", act$lab),
146148
sprintf("Actual OO type: %s.", oo_type(act$val))
147149
)
148-
return(fail(msg))
150+
fail(msg)
151+
} else if (!methods::is(act$val, class)) {
152+
msg <- c(
153+
sprintf("Expected %s to inherit from %s.", act$lab, exp_lab),
154+
sprintf("Actual class: %s.", act$class)
155+
)
156+
fail(msg)
149157
} else {
150-
if (!methods::is(act$val, class)) {
151-
msg <- c(
152-
sprintf("Expected %s to inherit from %s.", act$lab, exp_lab),
153-
sprintf("Actual class: %s.", act$class)
154-
)
155-
return(fail(msg))
156-
}
158+
pass()
157159
}
158160
} else {
159161
stop_input_type(class, c("a character vector", "NA"))
160162
}
161163

162-
pass(act$val)
164+
invisible(act$val)
163165
}
164166

165167
#' @export
@@ -173,20 +175,20 @@ expect_r6_class <- function(object, class) {
173175
sprintf("Expected %s to be an R6 object.", act$lab),
174176
sprintf("Actual OO type: %s.", oo_type(act$val))
175177
)
176-
return(fail(msg))
177-
}
178-
179-
if (!inherits(act$val, class)) {
178+
fail(msg)
179+
} else if (!inherits(act$val, class)) {
180180
act_class <- format_class(class(act$val))
181181
exp_class <- format_class(class)
182182
msg <- c(
183183
sprintf("Expected %s to inherit from %s.", act$lab, exp_class),
184184
sprintf("Actual class: %s.", act_class)
185185
)
186-
return(fail(msg))
186+
fail(msg)
187+
} else {
188+
pass()
187189
}
188190

189-
pass(act$val)
191+
invisible(act$val)
190192
}
191193

192194
#' @export
@@ -204,10 +206,8 @@ expect_s7_class <- function(object, class) {
204206
sprintf("Expected %s to be an S7 object.", act$lab),
205207
sprintf("Actual OO type: %s.", oo_type(act$val))
206208
)
207-
return(fail(msg))
208-
}
209-
210-
if (!S7::S7_inherits(object, class)) {
209+
fail(msg)
210+
} else if (!S7::S7_inherits(object, class)) {
211211
exp_class <- attr(class, "name", TRUE)
212212
act_class <- setdiff(base::class(object), "S7_object")
213213
act_class_desc <- paste0("<", act_class, ">", collapse = "/")
@@ -216,10 +216,12 @@ expect_s7_class <- function(object, class) {
216216
sprintf("Expected %s to inherit from <%s>.", act$lab, exp_class),
217217
sprintf("Actual class: %s.", act_class_desc)
218218
)
219-
return(fail(msg))
219+
fail(msg)
220+
} else {
221+
pass()
220222
}
221223

222-
pass(act$val)
224+
invisible(act$val)
223225
}
224226

225227
#' Do you expect to inherit from this class?
@@ -260,9 +262,11 @@ expect_is <- function(object, class, info = NULL, label = NULL) {
260262
exp_lab,
261263
act$class
262264
)
263-
return(fail(msg, info = info))
265+
fail(msg, info = info)
266+
} else {
267+
pass()
264268
}
265-
pass(act$val)
269+
invisible(act$val)
266270
}
267271

268272
# Helpers ----------------------------------------------------------------------

0 commit comments

Comments
 (0)