test_that("igraph_version returns a version string", {
  ## This is essentially a semver regex, we do not allow a
  ## leading 'v' and space after
  regex <- paste0(
    "\\b", # word boundary
    "(?:0|[1-9][0-9]*)\\.", # major
    "(?:0|[1-9][0-9]*)\\.", # minor
    "(?:0|[1-9][0-9]*)", # patch
    "(?:-[\\da-zA-Z\\-]+(?:\\.[\\da-zA-Z\\-]+)*)?", # prerelease
    "(?:\\+[\\da-zA-Z\\-]+(?:\\.[\\da-zA-Z\\-]+)*)?", # word boundary
    "\\b"
  )

  expect_true(grepl(regex, igraph_version()))
})
