tests/testthat/_snaps/size.md

vec_as_short_length() checks inputs

Code
  (expect_error(my_function(-1)))
Output
  <error/rlang_error>
  Error in `vec_as_short_length()`:
  ! `my_arg` must be a positive number or zero.
Code
  (expect_error(my_function(1:2)))
Output
  <error/rlang_error>
  Error in `vec_as_short_length()`:
  ! `my_arg` must be a single number, not an integer vector.
Code
  (expect_error(my_function(1.5)))
Output
  <error/rlang_error>
  Error in `vec_as_short_length()`:
  ! `my_arg` must be a whole number, not a fractional number.
Code
  (expect_error(my_function(NA)))
Output
  <error/rlang_error>
  Error in `vec_as_short_length()`:
  ! `my_arg` must be a single number, not `NA`.
Code
  (expect_error(my_function(na_int)))
Output
  <error/rlang_error>
  Error in `vec_as_short_length()`:
  ! `my_arg` must be a single number, not an integer `NA`.
Code
  (expect_error(my_function("foo")))
Output
  <error/rlang_error>
  Error in `vec_as_short_length()`:
  ! `my_arg` must be a single number, not the string "foo".
Code
  (expect_error(my_function(foobar(1:2))))
Output
  <error/rlang_error>
  Error in `vec_as_short_length()`:
  ! `my_arg` must be a single number, not `NULL`.
Code
  (expect_error(my_function(.Machine$double.xmax)))
Output
  <error/rlang_error>
  Error in `vec_as_short_length()`:
  ! `my_arg` is too large a number.

vec_as_short_length() has a special error about long vector support

Code
  (expect_error(my_function(.Machine$integer.max + 1)))
Output
  <error/rlang_error>
  Error in `vec_as_short_length()`:
  ! `my_arg` is too large a number and long vectors are not supported.

vec_size_common() checks inputs

Code
  (expect_error(vec_size_common(.size = "foo")))
Output
  <error/rlang_error>
  Error in `vec_size_common()`:
  ! `.size` must be a single number, not the string "foo".
Code
  (expect_error(vec_size_common(.size = 1:2)))
Output
  <error/rlang_error>
  Error in `vec_size_common()`:
  ! `.size` must be a single number, not an integer vector.

vec_size_common() mentions arg in errors

Code
  (expect_error(my_function(this_arg = 1:2, that_arg = int())))
Output
  <error/vctrs_error_incompatible_size>
  Error in `my_function()`:
  ! Can't recycle `my_arg$this_arg` (size 2) to match `my_arg$that_arg` (size 0).

.absent must be supplied when ... is empty

Code
  (expect_error(vec_size_common(.absent = NULL)))
Output
  <error/rlang_error>
  Error in `vec_size_common()`:
  ! `.absent` must be supplied when `...` is empty.

.absent must be a length 1 integer if provided

Code
  (expect_error(vec_size_common(.absent = 1), "must be a single integer"))
Output
  <error/rlang_error>
  Error in `vec_size_common()`:
  ! `.absent` must be a single integer.
Code
  (expect_error(vec_size_common(.absent = c(1L, 2L)), "must be a single integer"))
Output
  <error/rlang_error>
  Error in `vec_size_common()`:
  ! `.absent` must be a single integer.

argument tags are forwarded

Code
  vec_size_common(1:2, 1, 1:4)
Condition
  Error:
  ! Can't recycle `..1` (size 2) to match `..3` (size 4).
Code
  vec_size_common(foo = 1:2, 1, bar = 1:4)
Condition
  Error:
  ! Can't recycle `foo` (size 2) to match `bar` (size 4).


Try the vctrs package in your browser

Any scripts or data that you put into this service are public.

vctrs documentation built on Oct. 13, 2023, 1:05 a.m.