tests/testthat/test-utils.R

test_that("compare_version() handles equality operator correctly", {
  expect_true(compare_version("1.0.0", "==", "1.0.0"))
  expect_false(compare_version("1.0.0", "==", "1.0.1"))
  expect_false(compare_version("1.0.0", "==", "1.1.0"))
  expect_false(compare_version("1.0", "==", "1.0.0"))
})

test_that("compare_version() handles less than operator correctly", {
  expect_true(compare_version("1.0.0", "<", "1.0.1"))
  expect_true(compare_version("1.0.0", "<", "1.1.0"))
  expect_true(compare_version("0.9.9", "<", "1.0.0"))
  expect_false(compare_version("1.0.0", "<", "1.0.0"))
  expect_false(compare_version("1.0.1", "<", "1.0.0"))
})

test_that("compare_version() handles less than or equal operator correctly", {
  expect_true(compare_version("1.0.0", "<=", "1.0.0"))
  expect_true(compare_version("0.9.9", "<=", "1.0.0"))
  expect_true(compare_version("1.0.0", "<=", "1.0.1"))
  expect_false(compare_version("1.0.1", "<=", "1.0.0"))
  expect_false(compare_version("1.1.0", "<=", "1.0.0"))
})

test_that("compare_version() handles greater than operator correctly", {
  expect_true(compare_version("1.0.1", ">", "1.0.0"))
  expect_true(compare_version("1.1.0", ">", "1.0.0"))
  expect_true(compare_version("2.0.0", ">", "1.9.9"))
  expect_false(compare_version("1.0.0", ">", "1.0.0"))
  expect_false(compare_version("0.9.9", ">", "1.0.0"))
})

test_that("compare_version() handles greater than or equal operator correctly", {
  expect_true(compare_version("1.0.0", ">=", "1.0.0"))
  expect_true(compare_version("1.0.1", ">=", "1.0.0"))
  expect_true(compare_version("1.1.0", ">=", "1.0.0"))
  expect_false(compare_version("0.9.9", ">=", "1.0.0"))
  expect_false(compare_version("0.9.0", ">=", "1.0.0"))
})

test_that("compare_version() validates operator argument", {
  expect_error(compare_version("1.0.0", "!=", "1.0.0"), "should be one of")
  expect_error(compare_version("1.0.0", "invalid", "1.0.0"), "should be one of")
})

test_that("compare_version() handles multi-part version strings", {
  expect_true(compare_version("1.0.0.9000", ">", "1.0.0"))
  expect_true(compare_version("1.2.3.4", "==", "1.2.3.4"))
})

Try the pkgdown.offline package in your browser

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

pkgdown.offline documentation built on June 8, 2025, 1:59 p.m.