Do you expect a string to match this pattern?
expect_match(
object,
regexp,
perl = FALSE,
fixed = FALSE,
...,
all = TRUE,
info = NULL,
label = NULL
)
expect_no_match(
object,
regexp,
perl = FALSE,
fixed = FALSE,
...,
all = TRUE,
info = NULL,
label = NULL
)Object to test.
Supports limited unquoting to make it easier to generate readable failures within a function or for loop. See quasi_label for more details.
Regular expression to test against.
logical. Should Perl-compatible regexps be used?
If TRUE, treats regexp as a string to be matched exactly
(not a regular expressions). Overrides perl.
Arguments passed on to base::grepl
ignore.caselogical. if FALSE, the pattern matching is case
sensitive and if TRUE, case is ignored during matching.
useByteslogical. If TRUE the matching is done
byte-by-byte rather than character-by-character. See
‘Details’.
Should all elements of actual value match regexp (TRUE),
or does only one need to match (FALSE).
Extra information to be included in the message. This argument is soft-deprecated and should not be used in new code. Instead see alternatives in quasi_label.
Used to customise failure messages. For expert use only.
expect_match() checks if a character vector matches a regular expression,
powered by grepl().
expect_no_match() provides the complementary case, checking that a
character vector does not match a regular expression.
expect_no_match(): Check that a string doesn't match a regular
expression.
expect_match("Testing is fun", "fun")
expect_match("Testing is fun", "f.n")
expect_no_match("Testing is fun", "horrible")
show_failure(expect_match("Testing is fun", "horrible"))
#> Failed expectation:
#> Expected "Testing is fun" to match regexp "horrible".
#> Actual text:
#> ✖ │ Testing is fun
show_failure(expect_match("Testing is fun", "horrible", fixed = TRUE))
#> Failed expectation:
#> Expected "Testing is fun" to match string "horrible".
#> Actual text:
#> ✖ │ Testing is fun
# Zero-length inputs always fail
show_failure(expect_match(character(), "."))
#> Failed expectation:
#> Expected `character()` to have at least one element.