Do you expect a string to match this pattern?
Usage
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
)Arguments
- object
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.
- regexp
Regular expression to test against.
- perl
logical. Should Perl-compatible regexps be used?
- fixed
If
TRUE, treatsregexpas a string to be matched exactly (not a regular expressions). Overridesperl.- ...
Arguments passed on to
base::greplignore.caselogical. if
FALSE, the pattern matching is case sensitive and ifTRUE, case is ignored during matching.useByteslogical. If
TRUEthe matching is done byte-by-byte rather than character-by-character. See ‘Details’.
- all
Should all elements of actual value match
regexp(TRUE), or does only one need to match (FALSE).- info
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.
- label
Used to customise failure messages. For expert use only.
Details
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.
Examples
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.
