* loadSupport(): fix global.R support, run global.R in appropriate dir
* loadSupport(): Use withr::with_dir, fix global.R-related tests
* shiny.autoload.r: Ensure dir set to appDir before sourcing R/ files
* Use file.path.ci() to ensure case-insensitive filesystem compat in loadSupport() and findEnclosingApp()
* loadSupport(): Ensure proper source order of R/ files
* loadSupport(): Clarify test
* Improve makeMask comment
* Added skeleton function and example
* Refinements to app template
* Template update
* Rename tests/shinytests/ to tests/shinytest/
* App template updates
* mask creation: clean up, document, and align with rlang::new_data_mask()
* Revert minor in mock session
* Document/fix mock session $setEnv() and $setReturned() behavior
* document
* simplify buildMask()
* minor
* simplify buildMask()
* simplify buildMask()
* add 12_counter test app to exercise runTests + testServer
* Add appobj test
* WIP loadSuppor for apps passed to testServer
* Revert "WIP loadSuppor for apps passed to testServer"
This reverts commit 2d519aca15.
* Found and fixed app obj lifecycle methods that testServer was not exercising when applicable
* Rename 12_counter to 12_template
* Rename utils.R to sort.R
* Updates from code review
* Move 12_template to app_template dir
* Add informative comments
* Simplify mask building, default app to "." in testServer()
* testServer(): Error when arguments provided to a server function
* Fix tests; don't default autoload to FALSE if not found
* Use withr::with_options in one particularly confusing shiny.autoload.r-related test
* testServer(): if app is a path, and not an app, walk up dirs until an app is found
* Fix tests on Windows - rprojroot uses winslash='/'
* testServer(): raise findEnclosingApp() call
* Add library(shiny) to top of test app
* document
* Use require(shiny) in testServer() it works without library(shiny)
* Revert "testServer(): raise findEnclosingApp() call"
This reverts commit 5801dee2a4.
* document
* loadSupport(): appDir now defaults to . and findEnclosingApp() occurs
* loadSupport() and testServer(): default app/appDir to NULL
* Remove sketchy test involving detach()
* Move findEnclosingApp() to utils.R
* Dropped rprojroot dep and moved findEnclosingApp() to utils
* Better error message
* findEnclosingApp(): Fix case when root is an app
Co-authored-by: trestletech <jeff.allen@trestletechnology.net>
Co-authored-by: Winston Chang <winston@stdout.org>
* selectInput/selectizeInput: Fix handling of character(1) choices
* Re-document
* Add .github to .Rbuildignore
* Expand comment, don't import stats
* Add test for 013-selectize regression
* Expand comment
* Split listify into series of passes
* Thouroughly overhaul and comment choicesWithNames()
* No recursion
* Comment new "flat" choice processing machinery
* Remove unneccesary test of choice tree with depth > 2
* Test for choices idiomatically
* Tweak comment for asCharacter
* Comment odd test, add a new test for single-item list
* Handle empty non-lists correctly, add test
* Add test ensuring empty lists come back named
* Add comment/assertion stipulating processGroupedChoices() takes only lists