diff --git a/DESCRIPTION b/DESCRIPTION
index 511fe844..12e9f410 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -1,6 +1,6 @@
Package: shinytest2
Title: Testing for Shiny Applications
-Version: 0.1.1.9000
+Version: 0.2.0
Authors@R:
c(
person("Barret", "Schloerke", role = c("cre", "aut"), email = "barret@rstudio.com", comment = c(ORCID = "0000-0001-9986-114X")),
@@ -50,7 +50,8 @@ Suggests:
shinyvalidate (>= 0.1.2),
showimage,
usethis,
- vdiffr (>= 1.0.0)
+ vdiffr (>= 1.0.0),
+ spelling
Config/Needs/check:
rstudio/shiny
Config/Needs/website:
diff --git a/NEWS.md b/NEWS.md
index d169c4d6..41d77342 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -1,4 +1,4 @@
-# shinytest2 (development version)
+# shinytest2 0.2.0
## Breaking changes
diff --git a/R/app-driver-timeout.R b/R/app-driver-timeout.R
index 041e485a..359c4408 100644
--- a/R/app-driver-timeout.R
+++ b/R/app-driver-timeout.R
@@ -61,7 +61,7 @@ timeout_value <- function(
option_key,
env_key,
default_value,
- timeout_name = checkmate::vname(x)
+ timeout_name = checkmate::vname(timeout)
) {
# Handle both missing an NULL values
rlang::maybe_missing(timeout, NULL) %||% # user provided
diff --git a/R/app-driver.R b/R/app-driver.R
index d1a10674..333cfa07 100644
--- a/R/app-driver.R
+++ b/R/app-driver.R
@@ -683,7 +683,7 @@ AppDriver <- R6Class( # nolint
#' * If a [\code{content-disposition} \code{filename}](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition) is provided,
#' then a temp file containing this `filename` will be
#' returned.
- #' * Otherwise, a tempfile ending in `.download` will be returned.
+ #' * Otherwise, a temp file ending in `.download` will be returned.
#' @examples
#' \dontrun{
#' app_path <- system.file("examples/10_download", package = "shiny")
@@ -1677,9 +1677,9 @@ AppDriver <- R6Class( # nolint
#' Typically, this can be paired with a button that when clicked will call
#' `shiny::stopApp(info)` to return `info` from the test app back to the
#' main R session.
- #' @param signal_timeout Milliseconds to wait between sending a SIGINT,
- #' SIGTERM, and SIGKILL to the Shiny process. Defaults to 500ms and does
- #' not utilize the resolved valur from `AppDriver$new(timeout=)`. However,
+ #' @param signal_timeout Milliseconds to wait between sending a `SIGINT`,
+ #' `SIGTERM`, and `SIGKILL` to the Shiny process. Defaults to 500ms and does
+ #' not utilize the resolved value from `AppDriver$new(timeout=)`. However,
#' if \pkg{covr} is currently executing, then the `timeout` is set to
#' 20,000ms to allow for the coverage report to be generated.
#' @return The result of the background process if the Shiny application has
diff --git a/cran-comments.md b/cran-comments.md
index f933ab74..708dd33b 100644
--- a/cran-comments.md
+++ b/cran-comments.md
@@ -1,37 +1,25 @@
## Comments
-#### 2022-09-06
+#### 2022-09-19
-Releasing a patch to `{shinytest2}` which has documentation by the latest version of `{roxygen2}`.
+Many bug fixes and enhancements.
-Best,
-Barret
-
-#### 2022-08-19
-
-....
-R 4.2.0 switched to use HTML5 for documentation pages. Now validation
-using HTML Tidy finds problems in the HTML generated from your Rd
-files.
-
-To fix, in most cases it suffices to re-generate the Rd files using the
-current CRAN version of roxygen2.
-....
+Please let me know if there is anything else I can provide.
Best,
--k
-
+Barret
## Test environments
* local macOS, R 4.1.3
+* r-hub
* GitHub Actions
* macOS
- * 4.1
+ * 4.2
* windows
- * 4.1
+ * 4.2
* ubuntu18
- * devel, 4.1, 4.0, 3.6, 3.5, 3.4
+ * devel, 4.2, 4.1, 4.0, 3.6, 3.5
* devtools::
* check_win_devel()
diff --git a/inst/WORDLIST b/inst/WORDLIST
new file mode 100644
index 00000000..f3205fa4
--- /dev/null
+++ b/inst/WORDLIST
@@ -0,0 +1,63 @@
+AppDriver
+CDN
+CMD
+Chromote
+DOI
+DOM
+DT
+DataTable
+Devtools
+GHA
+JS
+JSON
+Lifecycle
+POSIXct
+PhantomJS
+Prerendered
+README
+RGBA
+Rmd
+SIGINT
+SIGKILL
+SIGTERM
+Shiny's
+Shinyapps
+UI
+WebSocket
+config
+der
+doubletap
+ession
+flexdashboard
+htmlwidgets
+iframe
+incrementing
+ing
+io
+javascript
+js
+lintr
+lockfile
+md
+milli
+mogwais
+myfile
+plotly
+preprocessor
+prerendered
+prerendering
+programmatically
+reactives
+renderer
+renv
+repo
+reproducibility
+selectize
+serializable
+shinyapps
+shinycannon
+shinytest
+tempfile
+testthat
+websocket
+yaml
diff --git a/man/AppDriver.Rd b/man/AppDriver.Rd
index 04ded283..ac49551f 100644
--- a/man/AppDriver.Rd
+++ b/man/AppDriver.Rd
@@ -1707,7 +1707,7 @@ Location logic:
\item If a \href{https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition}{\code{content-disposition} \code{filename}} is provided,
then a temp file containing this \code{filename} will be
returned.
-\item Otherwise, a tempfile ending in \code{.download} will be returned.
+\item Otherwise, a temp file ending in \code{.download} will be returned.
}
}
\subsection{Examples}{
@@ -3080,9 +3080,9 @@ main R session.
\subsection{Arguments}{
\if{html}{\out{
}}
\describe{
-\item{\code{signal_timeout}}{Milliseconds to wait between sending a SIGINT,
-SIGTERM, and SIGKILL to the Shiny process. Defaults to 500ms and does
-not utilize the resolved valur from \code{AppDriver$new(timeout=)}. However,
+\item{\code{signal_timeout}}{Milliseconds to wait between sending a \code{SIGINT},
+\code{SIGTERM}, and \code{SIGKILL} to the Shiny process. Defaults to 500ms and does
+not utilize the resolved value from \code{AppDriver$new(timeout=)}. However,
if \pkg{covr} is currently executing, then the \code{timeout} is set to
20,000ms to allow for the coverage report to be generated.}
}
diff --git a/revdep/README.md b/revdep/README.md
index abdba132..6e447ab1 100644
--- a/revdep/README.md
+++ b/revdep/README.md
@@ -10,14 +10,14 @@
|collate |en_US.UTF-8 |
|ctype |en_US.UTF-8 |
|tz |America/New_York |
-|date |2022-09-06 |
+|date |2022-09-19 |
|pandoc |2.19.2 @ /usr/local/bin/pandoc |
# Dependencies
|package |old |new |Δ |
|:-----------|:-----|:--------|:--|
-|shinytest2 |0.1.0 |0.1.1 |* |
+|shinytest2 |0.1.1 |0.2.0 |* |
|AsioHeaders |NA |1.22.1-1 |* |
# Revdeps
diff --git a/tests/spelling.R b/tests/spelling.R
new file mode 100644
index 00000000..7e15424a
--- /dev/null
+++ b/tests/spelling.R
@@ -0,0 +1,8 @@
+
+if (requireNamespace("spelling", quietly = TRUE)) {
+ spelling::spell_check_test(
+ vignettes = TRUE,
+ error = FALSE,
+ skip_on_cran = TRUE
+ )
+}
diff --git a/tests/testthat/_snaps/app-shiny/app-shiny_app-001.json b/tests/testthat/_snaps/app-shiny/app-shiny_app-001.json
deleted file mode 100644
index 04544db8..00000000
--- a/tests/testthat/_snaps/app-shiny/app-shiny_app-001.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "input": {
- "greet": 1,
- "name": "Barret"
- },
- "output": {
- "greeting": "Hello Barret!"
- },
- "export": {
-
- }
-}
diff --git a/tests/testthat/_snaps/app-shiny/app-shiny_dir-001.json b/tests/testthat/_snaps/app-shiny/app-shiny_dir-001.json
deleted file mode 100644
index e6b8dc59..00000000
--- a/tests/testthat/_snaps/app-shiny/app-shiny_dir-001.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "input": {
- "bins": 20
- }
-}
diff --git a/tests/testthat/test-app-shiny.R b/tests/testthat/test-app-shiny.R
index e68f71f3..029ac02e 100644
--- a/tests/testthat/test-app-shiny.R
+++ b/tests/testthat/test-app-shiny.R
@@ -29,8 +29,6 @@ test_that("AppDriver can receive a shiny.obj object", {
app$set_inputs(name = "Barret")
app$click("greet")
- app$expect_values()
-
expect_true(fs::path_has_parent(app$get_dir(), tempdir()))
})
@@ -42,7 +40,5 @@ test_that("AppDriver can receive a shinyAppDir object", {
app$set_inputs(bins = 20)
- app$expect_values(input = TRUE)
-
expect_true(fs::path_has_parent(app$get_dir(), tempdir()))
})
diff --git a/vignettes/use-application-audit.Rmd b/vignettes/use-application-audit.Rmd
index 6b022bbe..0aa021a8 100644
--- a/vignettes/use-application-audit.Rmd
+++ b/vignettes/use-application-audit.Rmd
@@ -91,7 +91,7 @@ A load test is composed a three phases:
- Similarly to `{shinytest2}`, `{shinyloadtest}` records a user session with `shinyloadtest::record_session()`.
- This session is subsequently replayed by a Java-based tool, `shinycannon`,
-able to simulate multiple sessions during a choosen amount of time.
+able to simulate multiple sessions during a chosen amount of time.
- Sessions are analyzed by `shinyloadtest::load_runs()` and an HTML report
generated with `shinyloadtest::shinyloadtest_report()`.
@@ -315,7 +315,7 @@ We don't forget to clean the target app so as to kill the underlying process.
Note that if you want to deploy the report on GitHub Pages, you have to name it
`index.html`.
-### Automating with Github Actions
+### Automating with GitHub Actions
Now, it is time to integrate the current pipeline in a CI/CD workflow.
For convenience, we wrap all the previous steps in a single function:
diff --git a/vignettes/zzz-faq.Rmd b/vignettes/zzz-faq.Rmd
index 1c382a25..29d39e9b 100644
--- a/vignettes/zzz-faq.Rmd
+++ b/vignettes/zzz-faq.Rmd
@@ -104,7 +104,7 @@ If your R session is starting to feel more sluggish, you may want to call `app$s
## How can I open the test to see if bookmarks are working?
-Testing Shiny bookmarks requires the browser to be loaded with specific query parameters. Luckily, you can use `{shinytest2}` to help you achieve this by running a local `AppDriver` and another `AppDriver` that uses a url with your specific query parameters! ([Original code](https://github.com/rstudio/shinytest2/issues/219#issuecomment-1149162328), [Working example](https://github.com/rstudio/shinytest2/blob/v0.2.0/tests/testthat/apps/download))
+Testing Shiny bookmarks requires the browser to be loaded with specific query parameters. Luckily, you can use `{shinytest2}` to help you achieve this by running a local `AppDriver` and another `AppDriver` that uses a url with your specific query parameters! ([Original code](https://github.com/rstudio/shinytest2/issues/219#issuecomment-1149162328), [Working example](https://github.com/rstudio/shinytest2/tree/v0.2.0/tests/testthat/apps/download))
File: `tests/testthat//test-bookmark.R`
```{r}