tests/testthat/test-get_hex.R

test_that("get_hex works", { 
  
  #### When repo name provided ####
  hex1 <- get_hex(refs="neurogenomics/rworkflows")
  #### When package name provided ####
  hex2 <- get_hex(refs="rworkflows")
  testthat::expect_equal(hex2$rworkflows,
                         hex1$`neurogenomics/rworkflows`)  
  #### When DESCRIPTION path provided ####
  hex3 <- get_hex(refs=NULL, 
                  paths=here::here("DESCRIPTION"))
  if(is_gha() && testthat::is_testing()){
    testthat::expect_equal(hex3[[1]], 
                           hex1[[1]])
  } else {
    message("Skipping test.")
  }
  #### When neither refs nor paths provided ####
  hex4 <- get_hex(refs=NULL, 
                  paths=NULL) 
  testthat::expect_null(hex4)
  #### Get example DESCRIPTION file #### 
  d <- get_description(refs="neurogenomics/rworkflows")[[1]]
  tmp <- tempfile(pattern = "DESCRIPTION")
  d$del(keys = "URL")
  d$write(tmp)
  hex5 <- get_hex(refs=NULL, 
                  paths=tmp)
  testthat::expect_equal(hex5[[1]], 
                         hex1[[1]])
  
  #### When git_url is included in DESCRIPTION ####
  d$set_list(key = "git_url", 
             list_value = "https://github.com/neurogenomics/rworkflows")
  d$write(tmp)
  hex6 <- get_hex(refs=NULL, 
                  paths=tmp)
  testthat::expect_equal(hex6[[1]], 
                         hex1[[1]])
  #### When paths length > refs length ####
  hex7 <- get_hex(refs="neurogenomics/rworkflows", 
                  paths = rep(here::here("DESCRIPTION"),2))
  testthat::expect_equal(hex7[[1]], 
                         hex1[[1]])
  #### Can't find URL: but URL inferred ####
  dl <- get_description(refs = "neurogenomics/rworkflows")
  dl[[1]]$del(keys = c("URL","BugReports"))
  hex8 <- get_hex(refs=dl)
  testthat::expect_equal(hex8[[1]], 
                         hex1[[1]])
  #### Can't find URL: but URL not inferred ####
  tmp <- tempfile(pattern = "DESCRIPTION")
  dl[[1]]$write(tmp)
  hex9 <- get_hex(refs = NULL,
                  paths = tmp)
  testthat::expect_null(hex9[[1]])
  #### Cant find URL: but URL doesn't exist ####
  hex10 <- get_hex(refs="neurogenomics/rworkflows", 
                   hex_path = "typoooo")
  testthat::expect_null(hex10[[1]])
  #### Don't add HTML ####
  hex11 <- get_hex(refs="rworkflows",
                   add_html = FALSE)
  testthat::expect_equal(
    hex11[[1]],
    "https://github.com/neurogenomics/rworkflows/raw/master/inst/hex/hex.png")
})

Try the rworkflows package in your browser

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

rworkflows documentation built on May 29, 2024, 2:37 a.m.