Files
shiny/man/exportTestValues.Rd
2019-11-22 13:07:44 -06:00

75 lines
1.9 KiB
R

% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/test-export.R
\name{exportTestValues}
\alias{exportTestValues}
\title{Register expressions for export in test mode}
\usage{
exportTestValues(
...,
quoted_ = FALSE,
env_ = parent.frame(),
session_ = getDefaultReactiveDomain()
)
}
\arguments{
\item{...}{Named arguments that are quoted or unquoted expressions that will
be captured and evaluated when snapshot URL is visited.}
\item{quoted_}{Are the expression quoted? Default is \code{FALSE}.}
\item{env_}{The environment in which the expression should be evaluated.}
\item{session_}{A Shiny session object.}
}
\description{
This function registers expressions that will be evaluated when a test export
event occurs. These events are triggered by accessing a snapshot URL.
}
\details{
This function only has an effect if the app is launched in test mode. This is
done by calling \code{runApp()} with \code{test.mode=TRUE}, or by setting the
global option \code{shiny.testmode} to \code{TRUE}.
}
\examples{
## Only run this example in interactive R sessions
if (interactive()) {
options(shiny.testmode = TRUE)
# This application shows the test snapshot URL; clicking on it will
# fetch the input, output, and exported values in JSON format.
shinyApp(
ui = basicPage(
h4("Snapshot URL: "),
uiOutput("url"),
h4("Current values:"),
verbatimTextOutput("values"),
actionButton("inc", "Increment x")
),
server = function(input, output, session) {
vals <- reactiveValues(x = 1)
y <- reactive({ vals$x + 1 })
observeEvent(input$inc, {
vals$x <<- vals$x + 1
})
exportTestValues(
x = vals$x,
y = y()
)
output$url <- renderUI({
url <- session$getTestSnapshotUrl(format="json")
a(href = url, url)
})
output$values <- renderText({
paste0("vals$x: ", vals$x, "\ny: ", y())
})
}
)
}
}