Running 'spelling.R' [0s]
  Running 'testthat.R' [144s]
Running the tests in 'tests/testthat.R' failed.
Complete output:
  > library(testthat)
  > library(whatr)
  > 
  > test_check("whatr")
  -- ERROR (test-answers.R:6:3): answers return from HTML ------------------------
  Error: 'NA' does not exist in current working directory ('d:/Rcompile/CRANpkg/local/4.1/whatr.Rcheck/tests/testthat').
  Backtrace:
       x
    1. +-whatr_html(id) %>% whatr_answers() test-answers.R:6:2
    2. +-whatr::whatr_answers(.)
    3. | \-`%>%`(...)
    4. +-whatr:::entity_clean(.)
    5. | \-`%>%`(...)
    6. +-stringr::str_replace_all(...)
    7. | \-stringr:::str_transform_all(string, pattern, replacement)
    8. |   \-stringr::str_locate_all(string, pattern)
    9. |     \-stringi::stri_locate_all_regex(...)
   10. +-stringr::str_replace_all(., "(?:[A-z]\\.)+", stringr::str_to_upper)
   11. | \-stringr:::str_transform_all(string, pattern, replacement)
   12. |   \-stringr::str_locate_all(string, pattern)
   13. |     \-stringi::stri_locate_all_regex(...)
   14. +-stringr::str_replace_all(., "(?<=\\S)(:)(?=\\S)", "\\1 ")
   15. | \-stringi::stri_replace_all_regex(...)
   16. +-stringr::str_to_title(.)
   17. | \-stringi::stri_trans_totitle(string, opts_brkiter = stri_opts_brkiter(locale = locale))
   18. +-stringr::str_replace_all(., "&Amp;", "&")
   19. | \-stringi::stri_replace_all_regex(...)
   20. +-stringr::str_replace_all(., "&Quot;", "'")
   21. | \-stringi::stri_replace_all_regex(...)
   22. +-stringr::str_remove_all(., "&Gt;")
   23. | \-stringr::str_replace_all(string, pattern, "")
   24. |   \-stringi::stri_replace_all_regex(...)
   25. +-stringr::str_remove_all(., "&Lt;")
   26. | \-stringr::str_replace_all(string, pattern, "")
   27. |   \-stringi::stri_replace_all_regex(...)
   28. +-stringr::str_remove_all(., "&Lt;I&Gt;")
   29. | \-stringr::str_replace_all(string, pattern, "")
   30. |   \-stringi::stri_replace_all_regex(...)
   31. +-stringr::str_remove_all(., "&Lt;/I&Gt;")
   32. | \-stringr::str_replace_all(string, pattern, "")
   33. |   \-stringi::stri_replace_all_regex(...)
   34. +-stringr::str_remove_all(., stringr::fixed("\\"))
   35. | \-stringr::str_replace_all(string, pattern, "")
   36. |   \-stringi::stri_replace_all_fixed(...)
   37. +-stringr::str_replace_all(., "\"", "'")
   38. | \-stringi::stri_replace_all_regex(...)
   39. +-stringr::str_trim(.)
   40. | \-stringi::stri_trim_both(string)
   41. +-stringr::str_squish(.)
   42. | +-stringi::stri_trim_both(str_replace_all(string, "\\s+", " "))
   43. | \-stringr::str_replace_all(string, "\\s+", " ")
   44. |   \-stringi::stri_replace_all_regex(...)
   45. +-rvest::html_text(.)
   46. | \-xml2::xml_text(x, trim = trim)
   47. +-rvest::html_node(., "em.correct_response")
   48. +-rvest::html_node(., "body")
   49. +-xml2::read_html(.)
   50. \-xml2:::read_html.default(.)
   51.   +-base::suppressWarnings(...)
   52.   | \-base::withCallingHandlers(...)
   53.   +-xml2::read_xml(x, encoding = encoding, ..., as_html = TRUE, options = options)
   54.   \-xml2:::read_xml.character(...)
   55.     \-xml2:::path_to_connection(x)
   56.       \-xml2:::check_path(path)
  
  -- ERROR (test-answers.R:13:3): answers return from game ID --------------------
  Error: 'NA' does not exist in current working directory ('d:/Rcompile/CRANpkg/local/4.1/whatr.Rcheck/tests/testthat').
  Backtrace:
       x
    1. +-whatr::whatr_answers(game = id) test-answers.R:13:2
    2. | \-`%>%`(...)
    3. +-whatr:::entity_clean(.)
    4. | \-`%>%`(...)
    5. +-stringr::str_replace_all(...)
    6. | \-stringr:::str_transform_all(string, pattern, replacement)
    7. |   \-stringr::str_locate_all(string, pattern)
    8. |     \-stringi::stri_locate_all_regex(...)
    9. +-stringr::str_replace_all(., "(?:[A-z]\\.)+", stringr::str_to_upper)
   10. | \-stringr:::str_transform_all(string, pattern, replacement)
   11. |   \-stringr::str_locate_all(string, pattern)
   12. |     \-stringi::stri_locate_all_regex(...)
   13. +-stringr::str_replace_all(., "(?<=\\S)(:)(?=\\S)", "\\1 ")
   14. | \-stringi::stri_replace_all_regex(...)
   15. +-stringr::str_to_title(.)
   16. | \-stringi::stri_trans_totitle(string, opts_brkiter = stri_opts_brkiter(locale = locale))
   17. +-stringr::str_replace_all(., "&Amp;", "&")
   18. | \-stringi::stri_replace_all_regex(...)
   19. +-stringr::str_replace_all(., "&Quot;", "'")
   20. | \-stringi::stri_replace_all_regex(...)
   21. +-stringr::str_remove_all(., "&Gt;")
   22. | \-stringr::str_replace_all(string, pattern, "")
   23. |   \-stringi::stri_replace_all_regex(...)
   24. +-stringr::str_remove_all(., "&Lt;")
   25. | \-stringr::str_replace_all(string, pattern, "")
   26. |   \-stringi::stri_replace_all_regex(...)
   27. +-stringr::str_remove_all(., "&Lt;I&Gt;")
   28. | \-stringr::str_replace_all(string, pattern, "")
   29. |   \-stringi::stri_replace_all_regex(...)
   30. +-stringr::str_remove_all(., "&Lt;/I&Gt;")
   31. | \-stringr::str_replace_all(string, pattern, "")
   32. |   \-stringi::stri_replace_all_regex(...)
   33. +-stringr::str_remove_all(., stringr::fixed("\\"))
   34. | \-stringr::str_replace_all(string, pattern, "")
   35. |   \-stringi::stri_replace_all_fixed(...)
   36. +-stringr::str_replace_all(., "\"", "'")
   37. | \-stringi::stri_replace_all_regex(...)
   38. +-stringr::str_trim(.)
   39. | \-stringi::stri_trim_both(string)
   40. +-stringr::str_squish(.)
   41. | +-stringi::stri_trim_both(str_replace_all(string, "\\s+", " "))
   42. | \-stringr::str_replace_all(string, "\\s+", " ")
   43. |   \-stringi::stri_replace_all_regex(...)
   44. +-rvest::html_text(.)
   45. | \-xml2::xml_text(x, trim = trim)
   46. +-rvest::html_node(., "em.correct_response")
   47. +-rvest::html_node(., "body")
   48. +-xml2::read_html(.)
   49. \-xml2:::read_html.default(.)
   50.   +-base::suppressWarnings(...)
   51.   | \-base::withCallingHandlers(...)
   52.   +-xml2::read_xml(x, encoding = encoding, ..., as_html = TRUE, options = options)
   53.   \-xml2:::read_xml.character(...)
   54.     \-xml2:::path_to_connection(x)
   55.       \-xml2:::check_path(path)
  
  -- ERROR (test-board.R:6:3): full board returns from HTML ----------------------
  Error: Problem with `mutate()` input `round`.
  x Input `round` can't be recycled to size 12.
  i Input `round` is `c(rep(1L, 6), rep(2L, 6), 3L)`.
  i Input `round` must be size 12 or 1, not 13.
  Backtrace:
       x
    1. +-whatr_html(id) %>% whatr_board() test-board.R:6:2
    2. +-whatr::whatr_board(.)
    3. | \-whatr::whatr_categories(game)
    4. |   \-`%>%`(...)
    5. +-dplyr::select(., .data$round, .data$col, .data$category)
    6. +-dplyr::mutate(...)
    7. +-dplyr:::mutate.data.frame(...)
    8. | \-dplyr:::mutate_cols(.data, ...)
    9. |   +-base::withCallingHandlers(...)
   10. |   \-mask$eval_all_mutate(dots[[i]])
   11. +-dplyr:::abort_glue(character(0), list(x_size = 13L), "dplyr:::mutate_incompatible_size")
   12. | +-rlang::exec(abort, class = class, !!!.envir)
   13. | \-(function (message = NULL, class = NULL, ..., trace = NULL, parent = NULL, ...
   14. |   \-rlang:::signal_abort(cnd)
   15. |     \-base::signalCondition(cnd)
   16. \-(function (e) ...
  
  -- ERROR (test-board.R:13:3): full board returns from game ID ------------------
  Error: Problem with `mutate()` input `round`.
  x Input `round` can't be recycled to size 12.
  i Input `round` is `c(rep(1L, 6), rep(2L, 6), 3L)`.
  i Input `round` must be size 12 or 1, not 13.
  Backtrace:
       x
    1. +-whatr::whatr_board(game = id) test-board.R:13:2
    2. | \-whatr::whatr_categories(game)
    3. |   \-`%>%`(...)
    4. +-dplyr::select(., .data$round, .data$col, .data$category)
    5. +-dplyr::mutate(...)
    6. +-dplyr:::mutate.data.frame(...)
    7. | \-dplyr:::mutate_cols(.data, ...)
    8. |   +-base::withCallingHandlers(...)
    9. |   \-mask$eval_all_mutate(dots[[i]])
   10. +-dplyr:::abort_glue(character(0), list(x_size = 13L), "dplyr:::mutate_incompatible_size")
   11. | +-rlang::exec(abort, class = class, !!!.envir)
   12. | \-(function (message = NULL, class = NULL, ..., trace = NULL, parent = NULL, ...
   13. |   \-rlang:::signal_abort(cnd)
   14. |     \-base::signalCondition(cnd)
   15. \-(function (e) ...
  
  -- ERROR (test-categories.R:6:3): categories return from HTML ------------------
  Error: Problem with `mutate()` input `round`.
  x Input `round` can't be recycled to size 12.
  i Input `round` is `c(rep(1L, 6), rep(2L, 6), 3L)`.
  i Input `round` must be size 12 or 1, not 13.
  Backtrace:
       x
    1. +-whatr_html(id) %>% whatr_categories() test-categories.R:6:2
    2. +-whatr::whatr_categories(.)
    3. | \-`%>%`(...)
    4. +-dplyr::select(., .data$round, .data$col, .data$category)
    5. +-dplyr::mutate(...)
    6. +-dplyr:::mutate.data.frame(...)
    7. | \-dplyr:::mutate_cols(.data, ...)
    8. |   +-base::withCallingHandlers(...)
    9. |   \-mask$eval_all_mutate(dots[[i]])
   10. +-dplyr:::abort_glue(character(0), list(x_size = 13L), "dplyr:::mutate_incompatible_size")
   11. | +-rlang::exec(abort, class = class, !!!.envir)
   12. | \-(function (message = NULL, class = NULL, ..., trace = NULL, parent = NULL, ...
   13. |   \-rlang:::signal_abort(cnd)
   14. |     \-base::signalCondition(cnd)
   15. \-(function (e) ...
  
  -- ERROR (test-categories.R:13:3): categories return from game ID --------------
  Error: Problem with `mutate()` input `round`.
  x Input `round` can't be recycled to size 12.
  i Input `round` is `c(rep(1L, 6), rep(2L, 6), 3L)`.
  i Input `round` must be size 12 or 1, not 13.
  Backtrace:
       x
    1. +-whatr::whatr_categories(game = id) test-categories.R:13:2
    2. | \-`%>%`(...)
    3. +-dplyr::select(., .data$round, .data$col, .data$category)
    4. +-dplyr::mutate(...)
    5. +-dplyr:::mutate.data.frame(...)
    6. | \-dplyr:::mutate_cols(.data, ...)
    7. |   +-base::withCallingHandlers(...)
    8. |   \-mask$eval_all_mutate(dots[[i]])
    9. +-dplyr:::abort_glue(character(0), list(x_size = 13L), "dplyr:::mutate_incompatible_size")
   10. | +-rlang::exec(abort, class = class, !!!.envir)
   11. | \-(function (message = NULL, class = NULL, ..., trace = NULL, parent = NULL, ...
   12. |   \-rlang:::signal_abort(cnd)
   13. |     \-base::signalCondition(cnd)
   14. \-(function (e) ...
  
  -- ERROR (test-clues.R:6:3): clues return from HTML ----------------------------
  Error: Invalid index: out of bounds
  Backtrace:
       x
    1. +-whatr_html(id) %>% whatr_clues() test-clues.R:6:2
    2. +-whatr::whatr_clues(.)
    3. | \-`%>%`(...)
    4. +-dplyr::select(...)
    5. +-dplyr::bind_cols(., whatr_order(game = game))
    6. | \-rlang::list2(...)
    7. +-whatr:::whatr_order(game = game)
    8. | \-`%>%`(...)
    9. +-dplyr::mutate(...)
   10. +-dplyr:::mutate.data.frame(...)
   11. | \-dplyr:::mutate_cols(.data, ...)
   12. |   +-base::withCallingHandlers(...)
   13. |   \-mask$eval_all_mutate(dots[[i]])
   14. +-dplyr:::abort_glue(character(0), list(x_size = 56L), "dplyr:::mutate_incompatible_size")
   15. | +-rlang::exec(abort, class = class, !!!.envir)
   16. | \-(function (message = NULL, class = NULL, ..., trace = NULL, parent = NULL, ...
   17. |   \-rlang:::signal_abort(cnd)
   18. |     \-base::signalCondition(cnd)
   19. \-(function (e) ...
   20.   +-vctrs::vec_size(rows[[i]])
   21.   +-rows[[i]]
   22.   \-vctrs:::`[[.vctrs_list_of`(rows, i)
  
  -- ERROR (test-clues.R:13:3): clues return from game ID ------------------------
  Error: Invalid index: out of bounds
  Backtrace:
       x
    1. +-whatr::whatr_clues(game = id) test-clues.R:13:2
    2. | \-`%>%`(...)
    3. +-dplyr::select(...)
    4. +-dplyr::bind_cols(., whatr_order(game = game))
    5. | \-rlang::list2(...)
    6. +-whatr:::whatr_order(game = game)
    7. | \-`%>%`(...)
    8. +-dplyr::mutate(...)
    9. +-dplyr:::mutate.data.frame(...)
   10. | \-dplyr:::mutate_cols(.data, ...)
   11. |   +-base::withCallingHandlers(...)
   12. |   \-mask$eval_all_mutate(dots[[i]])
   13. +-dplyr:::abort_glue(character(0), list(x_size = 56L), "dplyr:::mutate_incompatible_size")
   14. | +-rlang::exec(abort, class = class, !!!.envir)
   15. | \-(function (message = NULL, class = NULL, ..., trace = NULL, parent = NULL, ...
   16. |   \-rlang:::signal_abort(cnd)
   17. |     \-base::signalCondition(cnd)
   18. \-(function (e) ...
   19.   +-vctrs::vec_size(rows[[i]])
   20.   +-rows[[i]]
   21.   \-vctrs:::`[[.vctrs_list_of`(rows, i)
  
  -- FAILURE (test-convert.R:32:3): showgame HTML can be converted to showscores H
  is(object, "xml_document") & grepl("ddred", object) is not TRUE
  
  `actual`:   FALSE
  `expected`: TRUE 
  
  -- ERROR (test-data.R:6:3): categories return from game ID ---------------------
  Error: no applicable method for 'html_table' applied to an object of class "xml_missing"
  Backtrace:
      x
   1. +-whatr::whatr_data(game = id) test-data.R:6:2
   2. | \-whatr::whatr_synopsis(showgame)
   3. |   \-`%>%`(...)
   4. +-dplyr::mutate(...)
   5. +-tidyr::gather(., "name", "coryat")
   6. +-dplyr::slice(., 1)
   7. +-tibble::as_tibble(.)
   8. \-rvest::html_table(., header = TRUE, fill = TRUE)
  
  -- ERROR (test-doubles.R:6:3): order returns from HTML -------------------------
  Error: Invalid index: out of bounds
  Backtrace:
       x
    1. +-whatr_html(id) %>% whatr_doubles() test-doubles.R:6:2
    2. +-whatr::whatr_doubles(.)
    3. | \-whatr:::whatr_order(showgame)
    4. |   \-`%>%`(...)
    5. +-dplyr::mutate(...)
    6. +-dplyr:::mutate.data.frame(...)
    7. | \-dplyr:::mutate_cols(.data, ...)
    8. |   +-base::withCallingHandlers(...)
    9. |   \-mask$eval_all_mutate(dots[[i]])
   10. +-dplyr:::abort_glue(character(0), list(x_size = 61L), "dplyr:::mutate_incompatible_size")
   11. | +-rlang::exec(abort, class = class, !!!.envir)
   12. | \-(function (message = NULL, class = NULL, ..., trace = NULL, parent = NULL, ...
   13. |   \-rlang:::signal_abort(cnd)
   14. |     \-base::signalCondition(cnd)
   15. \-(function (e) ...
   16.   +-vctrs::vec_size(rows[[i]])
   17.   +-rows[[i]]
   18.   \-vctrs:::`[[.vctrs_list_of`(rows, i)
  
  -- ERROR (test-doubles.R:14:3): order returns from game ID ---------------------
  Error: Invalid index: out of bounds
  Backtrace:
       x
    1. +-whatr::whatr_doubles(game = id) test-doubles.R:14:2
    2. | \-whatr:::whatr_order(showgame)
    3. |   \-`%>%`(...)
    4. +-dplyr::mutate(...)
    5. +-dplyr:::mutate.data.frame(...)
    6. | \-dplyr:::mutate_cols(.data, ...)
    7. |   +-base::withCallingHandlers(...)
    8. |   \-mask$eval_all_mutate(dots[[i]])
    9. +-dplyr:::abort_glue(character(0), list(x_size = 61L), "dplyr:::mutate_incompatible_size")
   10. | +-rlang::exec(abort, class = class, !!!.envir)
   11. | \-(function (message = NULL, class = NULL, ..., trace = NULL, parent = NULL, ...
   12. |   \-rlang:::signal_abort(cnd)
   13. |     \-base::signalCondition(cnd)
   14. \-(function (e) ...
   15.   +-vctrs::vec_size(rows[[i]])
   16.   +-rows[[i]]
   17.   \-vctrs:::`[[.vctrs_list_of`(rows, i)
  
  -- ERROR (test-order.R:6:3): order returns from HTML ---------------------------
  Error: Invalid index: out of bounds
  Backtrace:
       x
    1. +-whatr_html(id) %>% whatr_order() test-order.R:6:2
    2. +-whatr:::whatr_order(.)
    3. | \-`%>%`(...)
    4. +-dplyr::mutate(...)
    5. +-dplyr:::mutate.data.frame(...)
    6. | \-dplyr:::mutate_cols(.data, ...)
    7. |   +-base::withCallingHandlers(...)
    8. |   \-mask$eval_all_mutate(dots[[i]])
    9. +-dplyr:::abort_glue(character(0), list(x_size = 60L), "dplyr:::mutate_incompatible_size")
   10. | +-rlang::exec(abort, class = class, !!!.envir)
   11. | \-(function (message = NULL, class = NULL, ..., trace = NULL, parent = NULL, ...
   12. |   \-rlang:::signal_abort(cnd)
   13. |     \-base::signalCondition(cnd)
   14. \-(function (e) ...
   15.   +-vctrs::vec_size(rows[[i]])
   16.   +-rows[[i]]
   17.   \-vctrs:::`[[.vctrs_list_of`(rows, i)
  
  -- ERROR (test-order.R:13:3): order returns from game ID -----------------------
  Error: Invalid index: out of bounds
  Backtrace:
       x
    1. +-whatr:::whatr_order(game = id) test-order.R:13:2
    2. | \-`%>%`(...)
    3. +-dplyr::mutate(...)
    4. +-dplyr:::mutate.data.frame(...)
    5. | \-dplyr:::mutate_cols(.data, ...)
    6. |   +-base::withCallingHandlers(...)
    7. |   \-mask$eval_all_mutate(dots[[i]])
    8. +-dplyr:::abort_glue(character(0), list(x_size = 60L), "dplyr:::mutate_incompatible_size")
    9. | +-rlang::exec(abort, class = class, !!!.envir)
   10. | \-(function (message = NULL, class = NULL, ..., trace = NULL, parent = NULL, ...
   11. |   \-rlang:::signal_abort(cnd)
   12. |     \-base::signalCondition(cnd)
   13. \-(function (e) ...
   14.   +-vctrs::vec_size(rows[[i]])
   15.   +-rows[[i]]
   16.   \-vctrs:::`[[.vctrs_list_of`(rows, i)
  
  -- ERROR (test-plot.R:6:3): answers return from HTML ---------------------------
  Error: no applicable method for 'html_table' applied to an object of class "xml_missing"
  Backtrace:
       x
    1. +-whatr_html(id) %>% whatr_plot() test-plot.R:6:2
    2. +-whatr::whatr_plot(.)
    3. | +-`%>%`(...)
    4. | \-whatr::whatr_scores(game)
    5. |   \-`%>%`(...)
    6. +-dplyr::ungroup(.)
    7. +-dplyr::mutate(., run = cumsum(.data$score))
    8. +-dplyr::group_by(., .data$name)
    9. +-dplyr::mutate(...)
   10. +-tidyr::pivot_longer(...)
   11. +-dplyr::mutate(., i = dplyr::row_number(), round = 1L)
   12. +-tibble::as_tibble(.)
   13. \-rvest::html_table(., fill = TRUE, header = TRUE)
  
  -- ERROR (test-plot.R:12:3): answers return from game ID -----------------------
  Error: no applicable method for 'html_table' applied to an object of class "xml_missing"
  Backtrace:
       x
    1. +-whatr::whatr_plot(id) test-plot.R:12:2
    2. | +-`%>%`(...)
    3. | \-whatr::whatr_scores(game)
    4. |   \-`%>%`(...)
    5. +-dplyr::ungroup(.)
    6. +-dplyr::mutate(., run = cumsum(.data$score))
    7. +-dplyr::group_by(., .data$name)
    8. +-dplyr::mutate(...)
    9. +-tidyr::pivot_longer(...)
   10. +-dplyr::mutate(., i = max(double_score$i) + 1L, round = 3L)
   11. +-tibble::as_tibble(.)
   12. +-dplyr::slice(., 1)
   13. \-rvest::html_table(., header = TRUE, fill = TRUE)
  
  -- ERROR (test-scores.R:6:3): scores returns from HTML -------------------------
  Error: no applicable method for 'html_table' applied to an object of class "xml_missing"
  Backtrace:
      x
   1. +-whatr_html(6304, "showscores") %>% whatr_scores() test-scores.R:6:2
   2. +-whatr::whatr_scores(.)
   3. | \-`%>%`(...)
   4. +-dplyr::mutate(...)
   5. +-tidyr::pivot_longer(...)
   6. +-dplyr::mutate(., i = max(double_score$i) + 1L, round = 3L)
   7. +-tibble::as_tibble(.)
   8. +-dplyr::slice(., 1)
   9. \-rvest::html_table(., header = TRUE, fill = TRUE)
  
  -- ERROR (test-scores.R:15:3): scores returns from game ID ---------------------
  Error: no applicable method for 'html_table' applied to an object of class "xml_missing"
  Backtrace:
      x
   1. +-whatr::whatr_scores(game = 6304) test-scores.R:15:2
   2. | \-`%>%`(...)
   3. +-dplyr::mutate(...)
   4. +-tidyr::pivot_longer(...)
   5. +-dplyr::mutate(., i = max(double_score$i) + 1L, round = 3L)
   6. +-tibble::as_tibble(.)
   7. +-dplyr::slice(., 1)
   8. \-rvest::html_table(., header = TRUE, fill = TRUE)
  
  -- ERROR (test-synopsis.R:6:3): summary returns from HTML ----------------------
  Error: no applicable method for 'html_table' applied to an object of class "xml_missing"
  Backtrace:
      x
   1. +-whatr_html(id) %>% whatr_synopsis() test-synopsis.R:6:2
   2. +-whatr::whatr_synopsis(.)
   3. | \-`%>%`(...)
   4. +-dplyr::mutate(...)
   5. +-tidyr::gather(., "name", "coryat")
   6. +-dplyr::slice(., 1)
   7. +-tibble::as_tibble(.)
   8. \-rvest::html_table(., header = TRUE, fill = TRUE)
  
  -- ERROR (test-synopsis.R:13:3): summary returns from game ID ------------------
  Error: no applicable method for 'html_table' applied to an object of class "xml_missing"
  Backtrace:
      x
   1. +-whatr::whatr_synopsis(game = id) test-synopsis.R:13:2
   2. | \-`%>%`(...)
   3. +-dplyr::mutate(...)
   4. +-tidyr::gather(., "name", "coryat")
   5. +-dplyr::slice(., 1)
   6. +-tibble::as_tibble(.)
   7. \-rvest::html_table(., header = TRUE, fill = TRUE)
  
  == testthat results  ===========================================================
  ERROR (test-answers.R:6:3): answers return from HTML
  ERROR (test-answers.R:13:3): answers return from game ID
  ERROR (test-board.R:6:3): full board returns from HTML
  ERROR (test-board.R:13:3): full board returns from game ID
  ERROR (test-categories.R:6:3): categories return from HTML
  ERROR (test-categories.R:13:3): categories return from game ID
  ERROR (test-clues.R:6:3): clues return from HTML
  ERROR (test-clues.R:13:3): clues return from game ID
  FAILURE (test-convert.R:32:3): showgame HTML can be converted to showscores HTML
  ERROR (test-data.R:6:3): categories return from game ID
  ERROR (test-doubles.R:6:3): order returns from HTML
  ERROR (test-doubles.R:14:3): order returns from game ID
  ERROR (test-order.R:6:3): order returns from HTML
  ERROR (test-order.R:13:3): order returns from game ID
  ERROR (test-plot.R:6:3): answers return from HTML
  ERROR (test-plot.R:12:3): answers return from game ID
  ERROR (test-scores.R:6:3): scores returns from HTML
  ERROR (test-scores.R:15:3): scores returns from game ID
  ERROR (test-synopsis.R:6:3): summary returns from HTML
  ERROR (test-synopsis.R:13:3): summary returns from game ID
  
  [ FAIL 20 | WARN 0 | SKIP 0 | PASS 21 ]
  Error: Test failures
  Execution halted