Package check result: OK

Changes to worse in reverse depends:

Package: teal
Check: examples
New result: ERROR
  Running examples in ‘teal-Ex.R’ failed
  The error most likely occurred in:
  
  > base::assign(".ptime", proc.time(), pos = "CheckExEnv")
  > ### Name: example_module
  > ### Title: An example 'teal' module
  > ### Aliases: example_module
  > 
  > ### ** Examples
  > 
  > app <- init(
  +   data = teal_data(IRIS = iris, MTCARS = mtcars),
  +   modules = example_module()
  + )
  Error in selfEnv[[what]] <- args[[what]] : 
    cannot add bindings to a locked environment
  Calls: init ... .local -> <Anonymous> -> eval -> eval -> .nextMethod
  Execution halted

Package: teal
Check: re-building of vignette outputs
New result: ERROR
  Error(s) in re-building vignettes:
    ...
  --- re-building ‘adding-support-for-reporting.Rmd’ using rmarkdown
  
  Quitting from lines 106-112 [unnamed-chunk-4] (adding-support-for-reporting.Rmd)
  Error: processing vignette 'adding-support-for-reporting.Rmd' failed with diagnostics:
  cannot add bindings to a locked environment
  --- failed re-building ‘adding-support-for-reporting.Rmd’
  
  --- re-building ‘bootstrap-themes-in-teal.Rmd’ using rmarkdown
  --- finished re-building ‘bootstrap-themes-in-teal.Rmd’
  
  --- re-building ‘creating-custom-modules.Rmd’ using rmarkdown
  
  Quitting from lines 174-183 [unnamed-chunk-4] (creating-custom-modules.Rmd)
  Error: processing vignette 'creating-custom-modules.Rmd' failed with diagnostics:
  cannot add bindings to a locked environment
  --- failed re-building ‘creating-custom-modules.Rmd’
  
  --- re-building ‘data-as-shiny-module.Rmd’ using rmarkdown
  
  Quitting from lines 80-118 [unnamed-chunk-3] (data-as-shiny-module.Rmd)
  Error: processing vignette 'data-as-shiny-module.Rmd' failed with diagnostics:
  cannot add bindings to a locked environment
  --- failed re-building ‘data-as-shiny-module.Rmd’
  
  --- re-building ‘filter-panel.Rmd’ using rmarkdown
  --- finished re-building ‘filter-panel.Rmd’
  
  --- re-building ‘getting-started-with-teal.Rmd’ using rmarkdown
  
  Quitting from lines 33-52 [unnamed-chunk-1] (getting-started-with-teal.Rmd)
  Error: processing vignette 'getting-started-with-teal.Rmd' failed with diagnostics:
  cannot add bindings to a locked environment
  --- failed re-building ‘getting-started-with-teal.Rmd’
  
  --- re-building ‘including-data-in-teal-applications.Rmd’ using rmarkdown
  
  Quitting from lines 40-44 [unnamed-chunk-2] (including-data-in-teal-applications.Rmd)
  Error: processing vignette 'including-data-in-teal-applications.Rmd' failed with diagnostics:
  cannot add bindings to a locked environment
  --- failed re-building ‘including-data-in-teal-applications.Rmd’
  
  --- re-building ‘teal-options.Rmd’ using rmarkdown
  --- finished re-building ‘teal-options.Rmd’
  
  SUMMARY: processing the following files failed:
    ‘adding-support-for-reporting.Rmd’ ‘creating-custom-modules.Rmd’
    ‘data-as-shiny-module.Rmd’ ‘getting-started-with-teal.Rmd’
    ‘including-data-in-teal-applications.Rmd’
  
  Error: Vignette re-building failed.
  Execution halted

Package: teal
Check: tests
New result: ERROR
    Running ‘testthat.R’ [11s/11s]
  Running the tests in ‘tests/testthat.R’ failed.
  Complete output:
    > pkg_name <- "teal"
    > library(pkg_name, character.only = TRUE)
    Loading required package: shiny
    Loading required package: teal.data
    Loading required package: teal.code
    Loading required package: teal.slice
    Registered S3 method overwritten by 'teal':
      method        from      
      c.teal_slices teal.slice
    
    You are using teal version 0.15.2
    
    Attaching package: 'teal'
    
    The following objects are masked from 'package:teal.slice':
    
        as.teal_slices, teal_slices
    
    > testthat::test_check(pkg_name)
    [ FAIL 38 | WARN 0 | SKIP 0 | PASS 316 ]
    
    ══ Failed tests ════════════════════════════════════════════════════════════════
    ── Failure ('test-init.R:3:3'): init data accepts teal_data object ─────────────
    Expected `init(data = teal.data::teal_data(iris = iris), modules = modules(example_module()))` to run without any errors.
    ℹ Actually got a <simpleError> with text:
      cannot add bindings to a locked environment
    ── Failure ('test-init.R:24:3'): init modules accepts a teal_modules object ────
    Expected `init(data = teal.data::teal_data(iris = iris), modules = mods)` to run without any errors.
    ℹ Actually got a <simpleError> with text:
      cannot add bindings to a locked environment
    ── Failure ('test-init.R:29:3'): init modules accepts a list of teal_module elements ──
    Expected `init(data = teal.data::teal_data(iris = iris), modules = mods)` to run without any errors.
    ℹ Actually got a <simpleError> with text:
      cannot add bindings to a locked environment
    ── Failure ('test-init.R:34:3'): init modules accepts a teal_module object ─────
    Expected `init(data = teal.data::teal_data(iris = iris), modules = mods)` to run without any errors.
    ℹ Actually got a <simpleError> with text:
      cannot add bindings to a locked environment
    ── Failure ('test-init.R:42:3'): init filter accepts `teal_slices` ─────────────
    Expected `init(...)` to run without any errors.
    ℹ Actually got a <simpleError> with text:
      cannot add bindings to a locked environment
    ── Failure ('test-init.R:45:3'): init filter accepts `teal_slices` ─────────────
    `init(...)` threw an error with unexpected message.
    Expected match: "Assertion on 'filter' failed"
    Actual message: "cannot add bindings to a locked environment"
    Backtrace:
         ▆
      1. ├─testthat::expect_error(...) at test-init.R:45:3
      2. │ └─testthat:::quasi_capture(...)
      3. │   ├─testthat (local) .capture(...)
      4. │   │ └─base::withCallingHandlers(...)
      5. │   └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
      6. ├─teal::init(...)
      7. └─teal.data::teal_data(iris = iris)
      8.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      9.     └─methods::new(...)
     10.       ├─methods::initialize(value, ...)
     11.       └─teal.code (local) initialize(value, ...)
     12.         └─teal.code (local) .local(.Object, ...)
     13.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
     14.           │ └─base::eval(call, callEnv)
     15.           │   └─base::eval(call, callEnv)
     16.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Failure ('test-init.R:53:3'): init throws when an empty `data` is used ──────
    `init(data = teal.data::teal_data(), modules = list(example_module()))` threw an error with unexpected message.
    Expected match: "The environment of `data` is empty."
    Actual message: "cannot add bindings to a locked environment"
    Backtrace:
         ▆
      1. ├─testthat::expect_error(...) at test-init.R:53:3
      2. │ └─testthat:::quasi_capture(...)
      3. │   ├─testthat (local) .capture(...)
      4. │   │ └─base::withCallingHandlers(...)
      5. │   └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
      6. ├─teal::init(data = teal.data::teal_data(), modules = list(example_module()))
      7. └─teal.data::teal_data()
      8.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      9.     └─methods::new(...)
     10.       ├─methods::initialize(value, ...)
     11.       └─teal.code (local) initialize(value, ...)
     12.         └─teal.code (local) .local(.Object, ...)
     13.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
     14.           │ └─base::eval(call, callEnv)
     15.           │   └─base::eval(call, callEnv)
     16.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Failure ('test-init.R:61:3'): init throws when datanames in modules incompatible w/ datanames in data ──
    `init(data = teal.data::teal_data(mtcars = mtcars), modules = list(example_module(datanames = "iris")))` threw an error with unexpected message.
    Expected match: "Module 'example teal module' uses datanames not available in 'data'"
    Actual message: "cannot add bindings to a locked environment"
    Backtrace:
         ▆
      1. ├─testthat::expect_error(...) at test-init.R:61:3
      2. │ └─testthat:::quasi_capture(...)
      3. │   ├─testthat (local) .capture(...)
      4. │   │ └─base::withCallingHandlers(...)
      5. │   └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
      6. ├─teal::init(data = teal.data::teal_data(mtcars = mtcars), modules = list(example_module(datanames = "iris")))
      7. └─teal.data::teal_data(mtcars = mtcars)
      8.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      9.     └─methods::new(...)
     10.       ├─methods::initialize(value, ...)
     11.       └─teal.code (local) initialize(value, ...)
     12.         └─teal.code (local) .local(.Object, ...)
     13.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
     14.           │ └─base::eval(call, callEnv)
     15.           │   └─base::eval(call, callEnv)
     16.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-init.R:71:3'): init throws when dataname in filter incompatible w/ datanames in data ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─testthat::expect_warning(...) at test-init.R:71:3
      2. │ └─testthat:::quasi_capture(...)
      3. │   ├─testthat (local) .capture(...)
      4. │   │ └─base::withCallingHandlers(...)
      5. │   └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
      6. ├─teal::init(...)
      7. └─teal.data::teal_data(mtcars = mtcars)
      8.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      9.     └─methods::new(...)
     10.       ├─methods::initialize(value, ...)
     11.       └─teal.code (local) initialize(value, ...)
     12.         └─teal.code (local) .local(.Object, ...)
     13.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
     14.           │ └─base::eval(call, callEnv)
     15.           │   └─base::eval(call, callEnv)
     16.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-module_nested_tabs.R:1:1'): (code run outside of `test_that()`) ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. └─teal.data::teal_data() at test-module_nested_tabs.R:1:1
      2.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      3.     └─methods::new(...)
      4.       ├─methods::initialize(value, ...)
      5.       └─teal.code (local) initialize(value, ...)
      6.         └─teal.code (local) .local(.Object, ...)
      7.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      8.           │ └─base::eval(call, callEnv)
      9.           │   └─base::eval(call, callEnv)
     10.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-module_tabs_with_filters.R:1:1'): (code run outside of `test_that()`) ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. └─teal.data::teal_data() at test-module_tabs_with_filters.R:1:1
      2.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      3.     └─methods::new(...)
      4.       ├─methods::initialize(value, ...)
      5.       └─teal.code (local) initialize(value, ...)
      6.         └─teal.code (local) .local(.Object, ...)
      7.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      8.           │ └─base::eval(call, callEnv)
      9.           │   └─base::eval(call, callEnv)
     10.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Failure ('test-module_teal.R:2:3'): srv_teal fails when teal_data_rv is not reactive ──
    `shiny::testServer(...)` threw an error with unexpected message.
    Expected match: "is.reactive\\(teal_data_rv\\)"
    Actual message: "cannot add bindings to a locked environment"
    Backtrace:
         ▆
      1. ├─testthat::expect_error(...) at test-module_teal.R:2:3
      2. │ └─testthat:::quasi_capture(...)
      3. │   ├─testthat (local) .capture(...)
      4. │   │ └─base::withCallingHandlers(...)
      5. │   └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
      6. ├─shiny::testServer(...)
      7. │ └─"id" %in% names(args)
      8. └─teal.data::teal_data(iris = iris)
      9.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
     10.     └─methods::new(...)
     11.       ├─methods::initialize(value, ...)
     12.       └─teal.code (local) initialize(value, ...)
     13.         └─teal.code (local) .local(.Object, ...)
     14.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
     15.           │ └─base::eval(call, callEnv)
     16.           │   └─base::eval(call, callEnv)
     17.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-module_teal.R:17:3'): srv_teal when teal_data_rv changes, datasets_reactive is initialized as list of FilteredData ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. └─teal.data::teal_data(iris1 = iris, mtcars1 = mtcars) at test-module_teal.R:17:3
      2.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      3.     └─methods::new(...)
      4.       ├─methods::initialize(value, ...)
      5.       └─teal.code (local) initialize(value, ...)
      6.         └─teal.code (local) .local(.Object, ...)
      7.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      8.           │ └─base::eval(call, callEnv)
      9.           │   └─base::eval(call, callEnv)
     10.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-module_teal.R:36:3'): srv_teal initialized datasets_reactive (list) reflects modules structure ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. └─teal.data::teal_data(iris1 = iris, mtcars1 = mtcars) at test-module_teal.R:36:3
      2.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      3.     └─methods::new(...)
      4.       ├─methods::initialize(value, ...)
      5.       └─teal.code (local) initialize(value, ...)
      6.         └─teal.code (local) .local(.Object, ...)
      7.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      8.           │ └─base::eval(call, callEnv)
      9.           │   └─base::eval(call, callEnv)
     10.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-module_teal.R:56:3'): srv_teal initialized data containing same FilteredData when the filter is global ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. └─teal.data::teal_data(iris1 = iris, mtcars1 = mtcars) at test-module_teal.R:56:3
      2.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      3.     └─methods::new(...)
      4.       ├─methods::initialize(value, ...)
      5.       └─teal.code (local) initialize(value, ...)
      6.         └─teal.code (local) .local(.Object, ...)
      7.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      8.           │ └─base::eval(call, callEnv)
      9.           │   └─base::eval(call, callEnv)
     10.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-module_teal.R:78:3'): srv_teal initialized data containing different FilteredData when the filter is module_specific ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. └─teal.data::teal_data(iris1 = iris, mtcars1 = mtcars) at test-module_teal.R:78:3
      2.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      3.     └─methods::new(...)
      4.       ├─methods::initialize(value, ...)
      5.       └─teal.code (local) initialize(value, ...)
      6.         └─teal.code (local) .local(.Object, ...)
      7.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      8.           │ └─base::eval(call, callEnv)
      9.           │   └─base::eval(call, callEnv)
     10.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-module_teal_with_splash.R:46:3'): srv_teal_with_splash passes teal_data to reactive ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─shiny::testServer(...) at test-module_teal_with_splash.R:46:3
      2. │ └─"id" %in% names(args)
      3. └─teal.data::teal_data(iris = iris)
      4.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      5.     └─methods::new(...)
      6.       ├─methods::initialize(value, ...)
      7.       └─teal.code (local) initialize(value, ...)
      8.         └─teal.code (local) .local(.Object, ...)
      9.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
     10.           │ └─base::eval(call, callEnv)
     11.           │   └─base::eval(call, callEnv)
     12.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-module_teal_with_splash.R:61:3'): srv_teal_with_splash passes when datanames are empty with warning ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─testthat::expect_warning(...) at test-module_teal_with_splash.R:61:3
      2. │ └─testthat:::quasi_capture(...)
      3. │   ├─testthat (local) .capture(...)
      4. │   │ └─base::withCallingHandlers(...)
      5. │   └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
      6. ├─shiny::testServer(...)
      7. │ └─"id" %in% names(args)
      8. └─teal.data::teal_data()
      9.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
     10.     └─methods::new(...)
     11.       ├─methods::initialize(value, ...)
     12.       └─teal.code (local) initialize(value, ...)
     13.         └─teal.code (local) .local(.Object, ...)
     14.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
     15.           │ └─base::eval(call, callEnv)
     16.           │   └─base::eval(call, callEnv)
     17.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Failure ('test-module_teal_with_splash.R:109:7'): srv_teal_with_splash teal_data_rv_validate throws then qenv.error occurs ──
    `teal_data_rv_validate()` threw an error with unexpected message.
    Expected match: "not good"
    Actual message: "Error when executing `teal_data_module` passed to `data`:\n  cannot add bindings to a locked environment \n \n Check your inputs or contact app developer if error persists."
    Backtrace:
         ▆
      1. ├─shiny::testServer(...) at test-module_teal_with_splash.R:97:3
      2. │ ├─shiny:::withMockContext(...)
      3. │ │ ├─shiny::isolate(...)
      4. │ │ │ ├─shiny::..stacktraceoff..(...)
      5. │ │ │ └─ctx$run(...)
      6. │ │ │   ├─promises::with_promise_domain(...)
      7. │ │ │   │ └─domain$wrapSync(expr)
      8. │ │ │   ├─shiny::withReactiveDomain(...)
      9. │ │ │   │ └─promises::with_promise_domain(...)
     10. │ │ │   │   └─domain$wrapSync(expr)
     11. │ │ │   │     └─base::force(expr)
     12. │ │ │   ├─shiny::captureStackTraces(...)
     13. │ │ │   │ └─promises::with_promise_domain(...)
     14. │ │ │   │   └─domain$wrapSync(expr)
     15. │ │ │   │     └─base::withCallingHandlers(expr, error = doCaptureStack)
     16. │ │ │   └─env$runWith(self, func)
     17. │ │ │     └─shiny (local) contextFunc()
     18. │ │ │       └─shiny::..stacktraceon..(expr)
     19. │ │ ├─shiny::withReactiveDomain(...)
     20. │ │ │ └─promises::with_promise_domain(...)
     21. │ │ │   └─domain$wrapSync(expr)
     22. │ │ │     └─base::force(expr)
     23. │ │ └─withr::with_options(...)
     24. │ │   └─base::force(code)
     25. │ └─rlang::eval_tidy(quosure, mask, rlang::caller_env())
     26. ├─testthat::expect_error(teal_data_rv_validate(), "not good") at test-module_teal_with_splash.R:109:7
     27. │ └─testthat:::quasi_capture(...)
     28. │   ├─testthat (local) .capture(...)
     29. │   │ └─base::withCallingHandlers(...)
     30. │   └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     31. ├─shiny (local) teal_data_rv_validate()
     32. │ ├─shiny::..stacktraceoff..(self$.updateValue())
     33. │ └─self$.updateValue()
     34. │   └─ctx$run(...)
     35. │     ├─promises::with_promise_domain(...)
     36. │     │ └─domain$wrapSync(expr)
     37. │     ├─shiny::withReactiveDomain(...)
     38. │     │ └─promises::with_promise_domain(...)
     39. │     │   └─domain$wrapSync(expr)
     40. │     │     └─base::force(expr)
     41. │     ├─shiny::captureStackTraces(...)
     42. │     │ └─promises::with_promise_domain(...)
     43. │     │   └─domain$wrapSync(expr)
     44. │     │     └─base::withCallingHandlers(expr, error = doCaptureStack)
     45. │     └─env$runWith(self, func)
     46. │       └─shiny (local) contextFunc()
     47. │         ├─base::withCallingHandlers(...)
     48. │         ├─base::withVisible(.func())
     49. │         └─shiny (local) .func()
     50. │           ├─shiny::..stacktraceon..(`<reactive>`(...))
     51. │           └─teal (local) `<reactive>`(...)
     52. │             └─shiny::validate(...)
     53. │               └─shiny:::reactiveStop(...)
     54. │                 └─shiny:::stopWithCondition(c("shiny.silent.error", class), message)
     55. │                   └─base::stop(cond)
     56. └─shiny (local) `<fn>`(`<shny.sl.>`)
    ── Error ('test-module_teal_with_splash.R:136:3'): srv_teal_with_splash teal_data_rv_validate throws when incompatible module's datanames ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─shiny::testServer(...) at test-module_teal_with_splash.R:136:3
      2. │ └─"id" %in% names(args)
      3. └─teal.data::teal_data(mtcars = mtcars, iris = iris, npk = npk)
      4.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      5.     └─methods::new(...)
      6.       ├─methods::initialize(value, ...)
      7.       └─teal.code (local) initialize(value, ...)
      8.         └─teal.code (local) .local(.Object, ...)
      9.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
     10.           │ └─base::eval(call, callEnv)
     11.           │   └─base::eval(call, callEnv)
     12.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-module_teal_with_splash.R:154:3'): srv_teal_with_splash teal_data_rv_validate returns teal_data if incompatible filter's datanames ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─shiny::testServer(...) at test-module_teal_with_splash.R:154:3
      2. │ └─"id" %in% names(args)
      3. └─teal.data::teal_data(mtcars = mtcars)
      4.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      5.     └─methods::new(...)
      6.       ├─methods::initialize(value, ...)
      7.       └─teal.code (local) initialize(value, ...)
      8.         └─teal.code (local) .local(.Object, ...)
      9.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
     10.           │ └─base::eval(call, callEnv)
     11.           │   └─base::eval(call, callEnv)
     12.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-module_teal_with_splash.R:174:3'): srv_teal_with_splash gets observe event from srv_teal ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─shiny::testServer(...) at test-module_teal_with_splash.R:174:3
      2. │ └─"id" %in% names(args)
      3. └─teal.data::teal_data()
      4.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      5.     └─methods::new(...)
      6.       ├─methods::initialize(value, ...)
      7.       └─teal.code (local) initialize(value, ...)
      8.         └─teal.code (local) .local(.Object, ...)
      9.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
     10.           │ └─base::eval(call, callEnv)
     11.           │   └─base::eval(call, callEnv)
     12.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Failure ('test-module_teal_with_splash.R:202:9'): srv_teal_with_splash accepts data after within.teal_data_module ──
    Expected `shiny::testServer(...)` to run without any errors.
    ℹ Actually got a <shiny.silent.error> with text:
      Error when executing `teal_data_module` passed to `data`:
        cannot add bindings to a locked environment 
       
       Check your inputs or contact app developer if error persists.
    ── Failure ('test-module_teal_with_splash.R:226:9'): srv_teal_with_splash throws error when within.teal_data_module returns qenv.error ──
    Expected `shiny::testServer(...)` to run without any errors.
    ℹ Actually got a <simpleError> with text:
      cannot add bindings to a locked environment
    ── Error ('test-tdata.R:222:1'): (code run outside of `test_that()`) ───────────
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. └─teal.data::teal_data(iris = iris, mtcars = mtcars, code = code) at test-tdata.R:222:1
      2.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      3.     └─methods::new(...)
      4.       ├─methods::initialize(value, ...)
      5.       └─teal.code (local) initialize(value, ...)
      6.         └─teal.code (local) .local(.Object, ...)
      7.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      8.           │ └─base::eval(call, callEnv)
      9.           │   └─base::eval(call, callEnv)
     10.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Failure ('test-teal_data_module-eval_code.R:50:9'): within.teal_data_module modifies the reactive tea_data object ──
    Expected `shiny::testServer(...)` to run without any errors.
    ℹ Actually got a <simpleError> with text:
      cannot add bindings to a locked environment
    ── Failure ('test-teal_data_module-eval_code.R:76:9'): eval_code.teal_data_module will execute several times until error ──
    Expected `shiny::testServer(...)` to run without any errors.
    ℹ Actually got a <simpleError> with text:
      cannot add bindings to a locked environment
    ── Failure ('test-teal_data_module-eval_code.R:122:9'): eval_code.teal_data_module propagates qenv error from the original/first call ──
    Expected `shiny::testServer(...)` to run without any errors.
    ℹ Actually got a <simpleError> with text:
      cannot add bindings to a locked environment
    ── Error ('test-utils.R:41:3'): teal_data_to_filtered_data return FilteredData class ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. └─teal.data::teal_data() at test-utils.R:41:3
      2.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      3.     └─methods::new(...)
      4.       ├─methods::initialize(value, ...)
      5.       └─teal.code (local) initialize(value, ...)
      6.         └─teal.code (local) .local(.Object, ...)
      7.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      8.           │ └─base::eval(call, callEnv)
      9.           │   └─base::eval(call, callEnv)
     10.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-utils.R:49:3'): teal_data_datanames returns names of the @env's objects when datanames not set ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. └─teal.data::teal_data() at test-utils.R:49:3
      2.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      3.     └─methods::new(...)
      4.       ├─methods::initialize(value, ...)
      5.       └─teal.code (local) initialize(value, ...)
      6.         └─teal.code (local) .local(.Object, ...)
      7.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      8.           │ └─base::eval(call, callEnv)
      9.           │   └─base::eval(call, callEnv)
     10.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-utils.R:58:3'): teal_data_datanames returns datanames which are set by teal.data::datanames ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. └─teal.data::teal_data() at test-utils.R:58:3
      2.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      3.     └─methods::new(...)
      4.       ├─methods::initialize(value, ...)
      5.       └─teal.code (local) initialize(value, ...)
      6.         └─teal.code (local) .local(.Object, ...)
      7.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      8.           │ └─base::eval(call, callEnv)
      9.           │   └─base::eval(call, callEnv)
     10.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-utils.R:68:3'): modules_datasets returns correct structure ─────
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─teal_data() %>% ... at test-utils.R:68:3
      2. ├─base::within(...)
      3. └─teal.data::teal_data()
      4.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      5.     └─methods::new(...)
      6.       ├─methods::initialize(value, ...)
      7.       └─teal.code (local) initialize(value, ...)
      8.         └─teal.code (local) .local(.Object, ...)
      9.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
     10.           │ └─base::eval(call, callEnv)
     11.           │   └─base::eval(call, callEnv)
     12.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Failure ('test-utils.R:164:3'): create_app_id: 'data' accepts teal_data or teal_data_module ──
    Expected `create_app_id(teal.data::teal_data(), modules(example_module()))` to run without any errors.
    ℹ Actually got a <simpleError> with text:
      cannot add bindings to a locked environment
    ── Failure ('test-utils.R:179:3'): create_app_id: 'modules' accepts modules ────
    Expected `create_app_id(teal.data::teal_data(), modules(example_module()))` to run without any errors.
    ℹ Actually got a <simpleError> with text:
      cannot add bindings to a locked environment
    ── Failure ('test-utils.R:181:3'): create_app_id: 'modules' accepts modules ────
    `create_app_id(teal.data::teal_data(), example_module())` threw an error with unexpected message.
    Expected match: "Assertion on 'modules' failed: Must inherit from class 'teal_modules'"
    Actual message: "cannot add bindings to a locked environment"
    Backtrace:
         ▆
      1. ├─testthat::expect_error(...) at test-utils.R:181:3
      2. │ └─testthat:::quasi_capture(...)
      3. │   ├─testthat (local) .capture(...)
      4. │   │ └─base::withCallingHandlers(...)
      5. │   └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
      6. ├─teal:::create_app_id(teal.data::teal_data(), example_module())
      7. │ └─checkmate::assert_multi_class(data, c("teal_data", "teal_data_module"))
      8. │   └─checkmate::checkMultiClass(x, classes, null.ok)
      9. └─teal.data::teal_data()
     10.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
     11.     └─methods::new(...)
     12.       ├─methods::initialize(value, ...)
     13.       └─teal.code (local) initialize(value, ...)
     14.         └─teal.code (local) .local(.Object, ...)
     15.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
     16.           │ └─base::eval(call, callEnv)
     17.           │   └─base::eval(call, callEnv)
     18.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-utils.R:188:3'): create_app_id returns a character string ──────
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─checkmate::expect_string(...) at test-utils.R:188:3
      2. │ └─checkmate::checkString(...)
      3. │   └─... %and% ...
      4. │     └─base::isTRUE(lhs)
      5. ├─teal:::create_app_id(teal.data::teal_data(), modules(example_module()))
      6. │ └─checkmate::assert_multi_class(data, c("teal_data", "teal_data_module"))
      7. │   └─checkmate::checkMultiClass(x, classes, null.ok)
      8. └─teal.data::teal_data()
      9.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
     10.     └─methods::new(...)
     11.       ├─methods::initialize(value, ...)
     12.       └─teal.code (local) initialize(value, ...)
     13.         └─teal.code (local) .local(.Object, ...)
     14.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
     15.           │ └─base::eval(call, callEnv)
     16.           │   └─base::eval(call, callEnv)
     17.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-utils.R:192:3'): create_app_id returns different hash for different data ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─teal:::create_app_id(teal.data::teal_data(i = iris), modules(example_module())) at test-utils.R:192:3
      2. │ └─checkmate::assert_multi_class(data, c("teal_data", "teal_data_module"))
      3. │   └─checkmate::checkMultiClass(x, classes, null.ok)
      4. └─teal.data::teal_data(i = iris)
      5.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      6.     └─methods::new(...)
      7.       ├─methods::initialize(value, ...)
      8.       └─teal.code (local) initialize(value, ...)
      9.         └─teal.code (local) .local(.Object, ...)
     10.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
     11.           │ └─base::eval(call, callEnv)
     12.           │   └─base::eval(call, callEnv)
     13.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-utils.R:198:3'): create_app_id returns different hash for different modules ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─teal:::create_app_id(teal.data::teal_data(i = iris), modules(example_module())) at test-utils.R:198:3
      2. │ └─checkmate::assert_multi_class(data, c("teal_data", "teal_data_module"))
      3. │   └─checkmate::checkMultiClass(x, classes, null.ok)
      4. └─teal.data::teal_data(i = iris)
      5.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      6.     └─methods::new(...)
      7.       ├─methods::initialize(value, ...)
      8.       └─teal.code (local) initialize(value, ...)
      9.         └─teal.code (local) .local(.Object, ...)
     10.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
     11.           │ └─base::eval(call, callEnv)
     12.           │   └─base::eval(call, callEnv)
     13.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    
    [ FAIL 38 | WARN 0 | SKIP 0 | PASS 316 ]
    Error: Test failures
    Execution halted

Package: teal.data
Check: examples
New result: ERROR
  Running examples in ‘teal.data-Ex.R’ failed
  The error most likely occurred in:
  
  > base::assign(".ptime", proc.time(), pos = "CheckExEnv")
  > ### Name: cdisc_data
  > ### Title: Data input for 'teal' app
  > ### Aliases: cdisc_data
  > 
  > ### ** Examples
  > 
  > data <- cdisc_data(
  +   join_keys = join_keys(
  +     join_key("ADSL", "ADTTE", c("STUDYID" = "STUDYID", "USUBJID" = "USUBJID"))
  +   )
  + )
  Error in selfEnv[[what]] <- args[[what]] : 
    cannot add bindings to a locked environment
  Calls: cdisc_data ... .local -> <Anonymous> -> eval -> eval -> .nextMethod
  Execution halted

Package: teal.data
Check: re-building of vignette outputs
New result: ERROR
  Error(s) in re-building vignettes:
    ...
  --- re-building ‘join-keys.Rmd’ using rmarkdown
  
  Quitting from lines 189-200 [unnamed-chunk-10] (join-keys.Rmd)
  Error: processing vignette 'join-keys.Rmd' failed with diagnostics:
  cannot add bindings to a locked environment
  --- failed re-building ‘join-keys.Rmd’
  
  --- re-building ‘teal-data-reproducibility.Rmd’ using rmarkdown
  
  Quitting from lines 61-74 [unnamed-chunk-2] (teal-data-reproducibility.Rmd)
  Error: processing vignette 'teal-data-reproducibility.Rmd' failed with diagnostics:
  cannot add bindings to a locked environment
  --- failed re-building ‘teal-data-reproducibility.Rmd’
  
  --- re-building ‘teal-data.Rmd’ using rmarkdown
  
  Quitting from lines 22-49 [unnamed-chunk-1] (teal-data.Rmd)
  Error: processing vignette 'teal-data.Rmd' failed with diagnostics:
  cannot add bindings to a locked environment
  --- failed re-building ‘teal-data.Rmd’
  
  SUMMARY: processing the following files failed:
    ‘join-keys.Rmd’ ‘teal-data-reproducibility.Rmd’ ‘teal-data.Rmd’
  
  Error: Vignette re-building failed.
  Execution halted

Package: teal.data
Check: tests
New result: ERROR
    Running ‘testthat.R’ [4s/4s]
  Running the tests in ‘tests/testthat.R’ failed.
  Complete output:
    > pkg_name <- "teal.data"
    > library(pkg_name, character.only = TRUE)
    Loading required package: teal.code
    > testthat::test_check(pkg_name)
    [ FAIL 68 | WARN 0 | SKIP 2 | PASS 167 ]
    
    ══ Skipped tests (2) ═══════════════════════════════════════════════════════════
    • This is not urgent and can be ommitted with @linksto tag. (1):
      'test-get_code.R:440:3'
    • We will not resolve this, as this requires code evaluation. (1):
      'test-get_code.R:250:3'
    
    ══ Failed tests ════════════════════════════════════════════════════════════════
    ── Error ('test-cdisc_data.R:2:3'): cdisc_data returns teal_data object with default join_keys for given dataset ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. └─teal.data::cdisc_data(ADSL = data.frame()) at test-cdisc_data.R:2:3
      2.   └─teal.data::teal_data(...)
      3.     └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      4.       └─methods::new(...)
      5.         ├─methods::initialize(value, ...)
      6.         └─teal.code (local) initialize(value, ...)
      7.           └─teal.code (local) .local(.Object, ...)
      8.             ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      9.             │ └─base::eval(call, callEnv)
     10.             │   └─base::eval(call, callEnv)
     11.             └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-datanames.R:3:3'): datanames returns contents of @datanames slot ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. └─teal.data::teal_data(i = iris, m = mtcars) at test-datanames.R:3:3
      2.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      3.     └─methods::new(...)
      4.       ├─methods::initialize(value, ...)
      5.       └─teal.code (local) initialize(value, ...)
      6.         └─teal.code (local) .local(.Object, ...)
      7.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      8.           │ └─base::eval(call, callEnv)
      9.           │   └─base::eval(call, callEnv)
     10.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-datanames.R:8:3'): variables not in @datanames are omitted ─────
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. └─teal.data::teal_data(i = iris, m = mtcars) at test-datanames.R:8:3
      2.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      3.     └─methods::new(...)
      4.       ├─methods::initialize(value, ...)
      5.       └─teal.code (local) initialize(value, ...)
      6.         └─teal.code (local) .local(.Object, ...)
      7.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      8.           │ └─base::eval(call, callEnv)
      9.           │   └─base::eval(call, callEnv)
     10.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-datanames.R:15:3'): datanames can set value of @datanames ──────
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. └─teal.data::teal_data(i = iris, m = mtcars) at test-datanames.R:15:3
      2.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      3.     └─methods::new(...)
      4.       ├─methods::initialize(value, ...)
      5.       └─teal.code (local) initialize(value, ...)
      6.         └─teal.code (local) .local(.Object, ...)
      7.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      8.           │ └─base::eval(call, callEnv)
      9.           │   └─base::eval(call, callEnv)
     10.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-datanames.R:22:3'): only names of existing variables are accepted ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. └─teal.data::teal_data(i = iris, m = mtcars) at test-datanames.R:22:3
      2.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      3.     └─methods::new(...)
      4.       ├─methods::initialize(value, ...)
      5.       └─teal.code (local) initialize(value, ...)
      6.         └─teal.code (local) .local(.Object, ...)
      7.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      8.           │ └─base::eval(call, callEnv)
      9.           │   └─base::eval(call, callEnv)
     10.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-datanames.R:29:3'): datanames supports qenv.error class ────────
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─base::within(teal_data(), stop()) at test-datanames.R:29:3
      2. └─teal.data::teal_data()
      3.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      4.     └─methods::new(...)
      5.       ├─methods::initialize(value, ...)
      6.       └─teal.code (local) initialize(value, ...)
      7.         └─teal.code (local) .local(.Object, ...)
      8.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      9.           │ └─base::eval(call, callEnv)
     10.           │   └─base::eval(call, callEnv)
     11.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-datanames.R:35:3'): datanames called on qenv.error returns NULL ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─base::within(teal_data(), stop()) at test-datanames.R:35:3
      2. └─teal.data::teal_data()
      3.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      4.     └─methods::new(...)
      5.       ├─methods::initialize(value, ...)
      6.       └─teal.code (local) initialize(value, ...)
      7.         └─teal.code (local) .local(.Object, ...)
      8.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      9.           │ └─base::eval(call, callEnv)
     10.           │   └─base::eval(call, callEnv)
     11.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-datanames.R:40:3'): datanames<- called on qenv.error does not change qenv.error ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─base::within(teal_data(), stop()) at test-datanames.R:40:3
      2. └─teal.data::teal_data()
      3.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      4.     └─methods::new(...)
      5.       ├─methods::initialize(value, ...)
      6.       └─teal.code (local) initialize(value, ...)
      7.         └─teal.code (local) .local(.Object, ...)
      8.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      9.           │ └─base::eval(call, callEnv)
     10.           │   └─base::eval(call, callEnv)
     11.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-get_code.R:4:3'): handles empty @code slot ─────────────────────
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─testthat::expect_identical(...) at test-get_code.R:4:3
      2. │ └─testthat::quasi_label(enquo(object), label, arg = "object")
      3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
      4. ├─teal.code::get_code(teal_data(a = 1, code = character(0)), datanames = "a")
      5. │ └─teal.code::dev_suppress(object)
      6. │   └─base::force(x)
      7. └─teal.data::teal_data(a = 1, code = character(0))
      8.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      9.     └─methods::new(...)
     10.       ├─methods::initialize(value, ...)
     11.       └─teal.code (local) initialize(value, ...)
     12.         └─teal.code (local) .local(.Object, ...)
     13.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
     14.           │ └─base::eval(call, callEnv)
     15.           │   └─base::eval(call, callEnv)
     16.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-get_code.R:21:3'): handles the code without symbols on rhs ─────
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─testthat::expect_identical(...) at test-get_code.R:21:3
      2. │ └─testthat::quasi_label(enquo(object), label, arg = "object")
      3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
      4. ├─teal.code::get_code(teal_data(a = 5, code = code), datanames = "a")
      5. │ └─teal.code::dev_suppress(object)
      6. │   └─base::force(x)
      7. └─teal.data::teal_data(a = 5, code = code)
      8.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      9.     └─methods::new(...)
     10.       ├─methods::initialize(value, ...)
     11.       └─teal.code (local) initialize(value, ...)
     12.         └─teal.code (local) .local(.Object, ...)
     13.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
     14.           │ └─base::eval(call, callEnv)
     15.           │   └─base::eval(call, callEnv)
     16.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-get_code.R:32:3'): extracts the code of a binding from character vector containing simple code ──
    Error in `h(simpleError(msg, call))`: error in evaluating the argument 'object' in selecting a method for function 'eval_code': cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─teal.code::eval_code(teal_data(), code) at test-get_code.R:32:3
      2. ├─teal.data::teal_data()
      3. │ └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      4. │   └─methods::new(...)
      5. │     ├─methods::initialize(value, ...)
      6. │     └─teal.code (local) initialize(value, ...)
      7. │       └─teal.code (local) .local(.Object, ...)
      8. │         ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      9. │         │ └─base::eval(call, callEnv)
     10. │         │   └─base::eval(call, callEnv)
     11. │         └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
     12. └─base::.handleSimpleError(...)
     13.   └─base (local) h(simpleError(msg, call))
    ── Error ('test-get_code.R:48:3'): extracts the code without downstream usage ──
    Error in `h(simpleError(msg, call))`: error in evaluating the argument 'object' in selecting a method for function 'eval_code': cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─teal.code::eval_code(teal_data(), code) at test-get_code.R:48:3
      2. ├─teal.data::teal_data()
      3. │ └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      4. │   └─methods::new(...)
      5. │     ├─methods::initialize(value, ...)
      6. │     └─teal.code (local) initialize(value, ...)
      7. │       └─teal.code (local) .local(.Object, ...)
      8. │         ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      9. │         │ └─base::eval(call, callEnv)
     10. │         │   └─base::eval(call, callEnv)
     11. │         └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
     12. └─base::.handleSimpleError(...)
     13.   └─base (local) h(simpleError(msg, call))
    ── Error ('test-get_code.R:60:3'): works for datanames of length > 1 ───────────
    Error in `h(simpleError(msg, call))`: error in evaluating the argument 'object' in selecting a method for function 'eval_code': cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─teal.code::eval_code(teal_data(), code) at test-get_code.R:60:3
      2. ├─teal.data::teal_data()
      3. │ └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      4. │   └─methods::new(...)
      5. │     ├─methods::initialize(value, ...)
      6. │     └─teal.code (local) initialize(value, ...)
      7. │       └─teal.code (local) .local(.Object, ...)
      8. │         ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      9. │         │ └─base::eval(call, callEnv)
     10. │         │   └─base::eval(call, callEnv)
     11. │         └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
     12. └─base::.handleSimpleError(...)
     13.   └─base (local) h(simpleError(msg, call))
    ── Error ('test-get_code.R:69:3'): warns if binding doesn't exist in code ──────
    Error in `h(simpleError(msg, call))`: error in evaluating the argument 'object' in selecting a method for function 'eval_code': cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─teal.code::eval_code(teal_data(), code) at test-get_code.R:69:3
      2. ├─teal.data::teal_data()
      3. │ └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      4. │   └─methods::new(...)
      5. │     ├─methods::initialize(value, ...)
      6. │     └─teal.code (local) initialize(value, ...)
      7. │       └─teal.code (local) .local(.Object, ...)
      8. │         ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      9. │         │ └─base::eval(call, callEnv)
     10. │         │   └─base::eval(call, callEnv)
     11. │         └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
     12. └─base::.handleSimpleError(...)
     13.   └─base (local) h(simpleError(msg, call))
    ── Error ('test-get_code.R:83:3'): does not fall into a loop ───────────────────
    Error in `h(simpleError(msg, call))`: error in evaluating the argument 'object' in selecting a method for function 'eval_code': cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─teal.code::eval_code(teal_data(), code) at test-get_code.R:83:3
      2. ├─teal.data::teal_data()
      3. │ └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      4. │   └─methods::new(...)
      5. │     ├─methods::initialize(value, ...)
      6. │     └─teal.code (local) initialize(value, ...)
      7. │       └─teal.code (local) .local(.Object, ...)
      8. │         ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      9. │         │ └─base::eval(call, callEnv)
     10. │         │   └─base::eval(call, callEnv)
     11. │         └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
     12. └─base::.handleSimpleError(...)
     13.   └─base (local) h(simpleError(msg, call))
    ── Error ('test-get_code.R:105:3'): extracts code of a parent binding but only those evaluated before coocurence ──
    Error in `h(simpleError(msg, call))`: error in evaluating the argument 'object' in selecting a method for function 'eval_code': cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─teal.code::eval_code(teal_data(), code) at test-get_code.R:105:3
      2. ├─teal.data::teal_data()
      3. │ └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      4. │   └─methods::new(...)
      5. │     ├─methods::initialize(value, ...)
      6. │     └─teal.code (local) initialize(value, ...)
      7. │       └─teal.code (local) .local(.Object, ...)
      8. │         ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      9. │         │ └─base::eval(call, callEnv)
     10. │         │   └─base::eval(call, callEnv)
     11. │         └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
     12. └─base::.handleSimpleError(...)
     13.   └─base (local) h(simpleError(msg, call))
    ── Error ('test-get_code.R:118:3'): extracts the code of a parent binding if used as an arg in a function call ──
    Error in `h(simpleError(msg, call))`: error in evaluating the argument 'object' in selecting a method for function 'eval_code': cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─teal.code::eval_code(teal_data(), code) at test-get_code.R:118:3
      2. ├─teal.data::teal_data()
      3. │ └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      4. │   └─methods::new(...)
      5. │     ├─methods::initialize(value, ...)
      6. │     └─teal.code (local) initialize(value, ...)
      7. │       └─teal.code (local) .local(.Object, ...)
      8. │         ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      9. │         │ └─base::eval(call, callEnv)
     10. │         │   └─base::eval(call, callEnv)
     11. │         └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
     12. └─base::.handleSimpleError(...)
     13.   └─base (local) h(simpleError(msg, call))
    ── Error ('test-get_code.R:131:3'): extracts the code when using <<- ───────────
    Error in `h(simpleError(msg, call))`: error in evaluating the argument 'object' in selecting a method for function 'eval_code': cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─teal.code::eval_code(teal_data(), code) at test-get_code.R:131:3
      2. ├─teal.data::teal_data()
      3. │ └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      4. │   └─methods::new(...)
      5. │     ├─methods::initialize(value, ...)
      6. │     └─teal.code (local) initialize(value, ...)
      7. │       └─teal.code (local) .local(.Object, ...)
      8. │         ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      9. │         │ └─base::eval(call, callEnv)
     10. │         │   └─base::eval(call, callEnv)
     11. │         └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
     12. └─base::.handleSimpleError(...)
     13.   └─base (local) h(simpleError(msg, call))
    ── Error ('test-get_code.R:144:3'): detects every assign calls even if not evaluated, if there is only one assignment in this line ──
    Error in `h(simpleError(msg, call))`: error in evaluating the argument 'object' in selecting a method for function 'eval_code': cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─teal.code::eval_code(teal_data(), code) at test-get_code.R:144:3
      2. ├─teal.data::teal_data()
      3. │ └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      4. │   └─methods::new(...)
      5. │     ├─methods::initialize(value, ...)
      6. │     └─teal.code (local) initialize(value, ...)
      7. │       └─teal.code (local) .local(.Object, ...)
      8. │         ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      9. │         │ └─base::eval(call, callEnv)
     10. │         │   └─base::eval(call, callEnv)
     11. │         └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
     12. └─base::.handleSimpleError(...)
     13.   └─base (local) h(simpleError(msg, call))
    ── Error ('test-get_code.R:152:3'): returns result of length 1 for non-empty input ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. └─teal.data::teal_data() at test-get_code.R:152:3
      2.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      3.     └─methods::new(...)
      4.       ├─methods::initialize(value, ...)
      5.       └─teal.code (local) initialize(value, ...)
      6.         └─teal.code (local) .local(.Object, ...)
      7.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      8.           │ └─base::eval(call, callEnv)
      9.           │   └─base::eval(call, callEnv)
     10.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-get_code.R:167:3'): does not break if code is separated by ; ───
    Error in `h(simpleError(msg, call))`: error in evaluating the argument 'object' in selecting a method for function 'eval_code': cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─teal.code::eval_code(teal_data(), code) at test-get_code.R:167:3
      2. ├─teal.data::teal_data()
      3. │ └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      4. │   └─methods::new(...)
      5. │     ├─methods::initialize(value, ...)
      6. │     └─teal.code (local) initialize(value, ...)
      7. │       └─teal.code (local) .local(.Object, ...)
      8. │         ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      9. │         │ └─base::eval(call, callEnv)
     10. │         │   └─base::eval(call, callEnv)
     11. │         └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
     12. └─base::.handleSimpleError(...)
     13.   └─base (local) h(simpleError(msg, call))
    ── Error ('test-get_code.R:180:3'): does not break if code uses quote() ────────
    Error in `h(simpleError(msg, call))`: error in evaluating the argument 'object' in selecting a method for function 'eval_code': cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─teal.code::eval_code(teal_data(), code) at test-get_code.R:180:3
      2. ├─teal.data::teal_data()
      3. │ └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      4. │   └─methods::new(...)
      5. │     ├─methods::initialize(value, ...)
      6. │     └─teal.code (local) initialize(value, ...)
      7. │       └─teal.code (local) .local(.Object, ...)
      8. │         ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      9. │         │ └─base::eval(call, callEnv)
     10. │         │   └─base::eval(call, callEnv)
     11. │         └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
     12. └─base::.handleSimpleError(...)
     13.   └─base (local) h(simpleError(msg, call))
    ── Error ('test-get_code.R:193:3'): does not break if object is used in a function on lhs ──
    Error in `h(simpleError(msg, call))`: error in evaluating the argument 'object' in selecting a method for function 'eval_code': cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─teal.code::eval_code(teal_data(), code = code) at test-get_code.R:193:3
      2. ├─teal.data::teal_data()
      3. │ └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      4. │   └─methods::new(...)
      5. │     ├─methods::initialize(value, ...)
      6. │     └─teal.code (local) initialize(value, ...)
      7. │       └─teal.code (local) .local(.Object, ...)
      8. │         ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      9. │         │ └─base::eval(call, callEnv)
     10. │         │   └─base::eval(call, callEnv)
     11. │         └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
     12. └─base::.handleSimpleError(...)
     13.   └─base (local) h(simpleError(msg, call))
    ── Error ('test-get_code.R:208:5'): does not break if object is used in a function on lhs and influencers are both on lhs and rhs ──
    Error in `h(simpleError(msg, call))`: error in evaluating the argument 'object' in selecting a method for function 'eval_code': cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─teal.code::eval_code(teal_data(), code = code) at test-get_code.R:208:5
      2. ├─teal.data::teal_data()
      3. │ └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      4. │   └─methods::new(...)
      5. │     ├─methods::initialize(value, ...)
      6. │     └─teal.code (local) initialize(value, ...)
      7. │       └─teal.code (local) .local(.Object, ...)
      8. │         ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      9. │         │ └─base::eval(call, callEnv)
     10. │         │   └─base::eval(call, callEnv)
     11. │         └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
     12. └─base::.handleSimpleError(...)
     13.   └─base (local) h(simpleError(msg, call))
    ── Error ('test-get_code.R:228:3'): extracts the code for assign() where "x" is a literal string ──
    Error in `h(simpleError(msg, call))`: error in evaluating the argument 'object' in selecting a method for function 'eval_code': cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─teal.code::eval_code(teal_data(), code) at test-get_code.R:228:3
      2. ├─teal.data::teal_data()
      3. │ └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      4. │   └─methods::new(...)
      5. │     ├─methods::initialize(value, ...)
      6. │     └─teal.code (local) initialize(value, ...)
      7. │       └─teal.code (local) .local(.Object, ...)
      8. │         ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      9. │         │ └─base::eval(call, callEnv)
     10. │         │   └─base::eval(call, callEnv)
     11. │         └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
     12. └─base::.handleSimpleError(...)
     13.   └─base (local) h(simpleError(msg, call))
    ── Error ('test-get_code.R:272:3'): works for assign() detection no matter how many parametrers were provided in assignq() ──
    Error in `h(simpleError(msg, call))`: error in evaluating the argument 'object' in selecting a method for function 'eval_code': cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─teal.code::eval_code(teal_data(), code) at test-get_code.R:272:3
      2. ├─teal.data::teal_data()
      3. │ └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      4. │   └─methods::new(...)
      5. │     ├─methods::initialize(value, ...)
      6. │     └─teal.code (local) initialize(value, ...)
      7. │       └─teal.code (local) .local(.Object, ...)
      8. │         ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      9. │         │ └─base::eval(call, callEnv)
     10. │         │   └─base::eval(call, callEnv)
     11. │         └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
     12. └─base::.handleSimpleError(...)
     13.   └─base (local) h(simpleError(msg, call))
    ── Error ('test-get_code.R:287:3'): detects function usage of the assignment operator ──
    Error in `h(simpleError(msg, call))`: error in evaluating the argument 'object' in selecting a method for function 'eval_code': cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─teal.code::eval_code(teal_data(), code) at test-get_code.R:287:3
      2. ├─teal.data::teal_data()
      3. │ └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      4. │   └─methods::new(...)
      5. │     ├─methods::initialize(value, ...)
      6. │     └─teal.code (local) initialize(value, ...)
      7. │       └─teal.code (local) .local(.Object, ...)
      8. │         ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      9. │         │ └─base::eval(call, callEnv)
     10. │         │   └─base::eval(call, callEnv)
     11. │         └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
     12. └─base::.handleSimpleError(...)
     13.   └─base (local) h(simpleError(msg, call))
    ── Error ('test-get_code.R:312:3'): get_code does not break if @linksto is put in the last line ──
    Error in `h(simpleError(msg, call))`: error in evaluating the argument 'object' in selecting a method for function 'eval_code': cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─teal.code::eval_code(teal_data(), code) at test-get_code.R:312:3
      2. ├─teal.data::teal_data()
      3. │ └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      4. │   └─methods::new(...)
      5. │     ├─methods::initialize(value, ...)
      6. │     └─teal.code (local) initialize(value, ...)
      7. │       └─teal.code (local) .local(.Object, ...)
      8. │         ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      9. │         │ └─base::eval(call, callEnv)
     10. │         │   └─base::eval(call, callEnv)
     11. │         └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
     12. └─base::.handleSimpleError(...)
     13.   └─base (local) h(simpleError(msg, call))
    ── Error ('test-get_code.R:324:3'): @linksto makes a line being returned for an affected binding ──
    Error in `h(simpleError(msg, call))`: error in evaluating the argument 'object' in selecting a method for function 'eval_code': cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─teal.code::eval_code(teal_data(), code) at test-get_code.R:324:3
      2. ├─teal.data::teal_data()
      3. │ └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      4. │   └─methods::new(...)
      5. │     ├─methods::initialize(value, ...)
      6. │     └─teal.code (local) initialize(value, ...)
      7. │       └─teal.code (local) .local(.Object, ...)
      8. │         ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      9. │         │ └─base::eval(call, callEnv)
     10. │         │   └─base::eval(call, callEnv)
     11. │         └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
     12. └─base::.handleSimpleError(...)
     13.   └─base (local) h(simpleError(msg, call))
    ── Error ('test-get_code.R:339:5'): @linksto returns the line for an affected binding
      even if the object did not exist in the same iteration of eval_code ──
    Error in `h(simpleError(msg, call))`: error in evaluating the argument 'object' in selecting a method for function 'eval_code': cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─teal.code::eval_code(teal_data(), code) at test-get_code.R:339:5
      2. ├─teal.data::teal_data()
      3. │ └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      4. │   └─methods::new(...)
      5. │     ├─methods::initialize(value, ...)
      6. │     └─teal.code (local) initialize(value, ...)
      7. │       └─teal.code (local) .local(.Object, ...)
      8. │         ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      9. │         │ └─base::eval(call, callEnv)
     10. │         │   └─base::eval(call, callEnv)
     11. │         └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
     12. └─base::.handleSimpleError(...)
     13.   └─base (local) h(simpleError(msg, call))
    ── Error ('test-get_code.R:356:5'): lines affecting parent evaluated after co-occurrence are not included in output when using @linksto ──
    Error in `h(simpleError(msg, call))`: error in evaluating the argument 'object' in selecting a method for function 'eval_code': cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─teal.code::eval_code(teal_data(), code) at test-get_code.R:356:5
      2. ├─teal.data::teal_data()
      3. │ └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      4. │   └─methods::new(...)
      5. │     ├─methods::initialize(value, ...)
      6. │     └─teal.code (local) initialize(value, ...)
      7. │       └─teal.code (local) .local(.Object, ...)
      8. │         ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      9. │         │ └─base::eval(call, callEnv)
     10. │         │   └─base::eval(call, callEnv)
     11. │         └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
     12. └─base::.handleSimpleError(...)
     13.   └─base (local) h(simpleError(msg, call))
    ── Error ('test-get_code.R:377:5'): @linksto gets extracted if it's a side-effect on a dependent object (even of a dependent object) ──
    Error in `h(simpleError(msg, call))`: error in evaluating the argument 'object' in selecting a method for function 'eval_code': cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─teal.code::eval_code(teal_data(), code) at test-get_code.R:377:5
      2. ├─teal.data::teal_data()
      3. │ └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      4. │   └─methods::new(...)
      5. │     ├─methods::initialize(value, ...)
      6. │     └─teal.code (local) initialize(value, ...)
      7. │       └─teal.code (local) .local(.Object, ...)
      8. │         ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      9. │         │ └─base::eval(call, callEnv)
     10. │         │   └─base::eval(call, callEnv)
     11. │         └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
     12. └─base::.handleSimpleError(...)
     13.   └─base (local) h(simpleError(msg, call))
    ── Error ('test-get_code.R:397:3'): ignores occurrence in a function definition ──
    Error in `h(simpleError(msg, call))`: error in evaluating the argument 'object' in selecting a method for function 'eval_code': cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─teal.code::eval_code(teal_data(), code) at test-get_code.R:397:3
      2. ├─teal.data::teal_data()
      3. │ └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      4. │   └─methods::new(...)
      5. │     ├─methods::initialize(value, ...)
      6. │     └─teal.code (local) initialize(value, ...)
      7. │       └─teal.code (local) .local(.Object, ...)
      8. │         ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      9. │         │ └─base::eval(call, callEnv)
     10. │         │   └─base::eval(call, callEnv)
     11. │         └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
     12. └─base::.handleSimpleError(...)
     13.   └─base (local) h(simpleError(msg, call))
    ── Error ('test-get_code.R:413:3'): ignores occurrence in a function definition that has function in it ──
    Error in `h(simpleError(msg, call))`: error in evaluating the argument 'object' in selecting a method for function 'eval_code': cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─teal.code::eval_code(teal_data(), code) at test-get_code.R:413:3
      2. ├─teal.data::teal_data()
      3. │ └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      4. │   └─methods::new(...)
      5. │     ├─methods::initialize(value, ...)
      6. │     └─teal.code (local) initialize(value, ...)
      7. │       └─teal.code (local) .local(.Object, ...)
      8. │         ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      9. │         │ └─base::eval(call, callEnv)
     10. │         │   └─base::eval(call, callEnv)
     11. │         └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
     12. └─base::.handleSimpleError(...)
     13.   └─base (local) h(simpleError(msg, call))
    ── Error ('test-get_code.R:432:3'): ignores occurrence in a function definition in lapply ──
    Error in `h(simpleError(msg, call))`: error in evaluating the argument 'object' in selecting a method for function 'eval_code': cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─teal.code::eval_code(teal_data(), code) at test-get_code.R:432:3
      2. ├─teal.data::teal_data()
      3. │ └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      4. │   └─methods::new(...)
      5. │     ├─methods::initialize(value, ...)
      6. │     └─teal.code (local) initialize(value, ...)
      7. │       └─teal.code (local) .local(.Object, ...)
      8. │         ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      9. │         │ └─base::eval(call, callEnv)
     10. │         │   └─base::eval(call, callEnv)
     11. │         └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
     12. └─base::.handleSimpleError(...)
     13.   └─base (local) h(simpleError(msg, call))
    ── Error ('test-get_code.R:459:3'): ignores occurrence in function definition without { curly brackets ──
    Error in `h(simpleError(msg, call))`: error in evaluating the argument 'object' in selecting a method for function 'eval_code': cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─teal.code::eval_code(teal_data(), code) at test-get_code.R:459:3
      2. ├─teal.data::teal_data()
      3. │ └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      4. │   └─methods::new(...)
      5. │     ├─methods::initialize(value, ...)
      6. │     └─teal.code (local) initialize(value, ...)
      7. │       └─teal.code (local) .local(.Object, ...)
      8. │         ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      9. │         │ └─base::eval(call, callEnv)
     10. │         │   └─base::eval(call, callEnv)
     11. │         └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
     12. └─base::.handleSimpleError(...)
     13.   └─base (local) h(simpleError(msg, call))
    ── Error ('test-get_code.R:477:3'): detects occurrence of the function object ──
    Error in `h(simpleError(msg, call))`: error in evaluating the argument 'object' in selecting a method for function 'eval_code': cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─teal.code::eval_code(teal_data(), code) at test-get_code.R:477:3
      2. ├─teal.data::teal_data()
      3. │ └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      4. │   └─methods::new(...)
      5. │     ├─methods::initialize(value, ...)
      6. │     └─teal.code (local) initialize(value, ...)
      7. │       └─teal.code (local) .local(.Object, ...)
      8. │         ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      9. │         │ └─base::eval(call, callEnv)
     10. │         │   └─base::eval(call, callEnv)
     11. │         └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
     12. └─base::.handleSimpleError(...)
     13.   └─base (local) h(simpleError(msg, call))
    ── Error ('test-get_code.R:490:3'): detects occurrence of a function definition when a formal is named the same as a function ──
    Error in `h(simpleError(msg, call))`: error in evaluating the argument 'object' in selecting a method for function 'eval_code': cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─teal.code::eval_code(teal_data(), code) at test-get_code.R:490:3
      2. ├─teal.data::teal_data()
      3. │ └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      4. │   └─methods::new(...)
      5. │     ├─methods::initialize(value, ...)
      6. │     └─teal.code (local) initialize(value, ...)
      7. │       └─teal.code (local) .local(.Object, ...)
      8. │         ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      9. │         │ └─base::eval(call, callEnv)
     10. │         │   └─base::eval(call, callEnv)
     11. │         └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
     12. └─base::.handleSimpleError(...)
     13.   └─base (local) h(simpleError(msg, call))
    ── Error ('test-get_code.R:507:3'): detects occurrence of a function definition with a @linksto usage ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. └─teal.data::teal_data(code = code) at test-get_code.R:507:3
      2.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      3.     └─methods::new(...)
      4.       ├─methods::initialize(value, ...)
      5.       └─teal.code (local) initialize(value, ...)
      6.         └─teal.code (local) .local(.Object, ...)
      7.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      8.           │ └─base::eval(call, callEnv)
      9.           │   └─base::eval(call, callEnv)
     10.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-get_code.R:527:3'): understands $ usage and do not treat rhs of $ as objects (only lhs) ──
    Error in `h(simpleError(msg, call))`: error in evaluating the argument 'object' in selecting a method for function 'eval_code': cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─teal.code::eval_code(teal_data(), code) at test-get_code.R:527:3
      2. ├─teal.data::teal_data()
      3. │ └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      4. │   └─methods::new(...)
      5. │     ├─methods::initialize(value, ...)
      6. │     └─teal.code (local) initialize(value, ...)
      7. │       └─teal.code (local) .local(.Object, ...)
      8. │         ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      9. │         │ └─base::eval(call, callEnv)
     10. │         │   └─base::eval(call, callEnv)
     11. │         └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
     12. └─base::.handleSimpleError(...)
     13.   └─base (local) h(simpleError(msg, call))
    ── Error ('test-get_code.R:550:3'): detects cooccurrence properly even if all objects are on lhs ──
    Error in `h(simpleError(msg, call))`: error in evaluating the argument 'object' in selecting a method for function 'eval_code': cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─teal.code::eval_code(teal_data(), code) at test-get_code.R:550:3
      2. ├─teal.data::teal_data()
      3. │ └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      4. │   └─methods::new(...)
      5. │     ├─methods::initialize(value, ...)
      6. │     └─teal.code (local) initialize(value, ...)
      7. │       └─teal.code (local) .local(.Object, ...)
      8. │         ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      9. │         │ └─base::eval(call, callEnv)
     10. │         │   └─base::eval(call, callEnv)
     11. │         └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
     12. └─base::.handleSimpleError(...)
     13.   └─base (local) h(simpleError(msg, call))
    ── Error ('test-get_code.R:569:3'): understands @ usage and do not treat rhs of @ as objects (only lhs) ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. └─teal.data::teal_data(x = 1, a = 1, code = code) at test-get_code.R:569:3
      2.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      3.     └─methods::new(...)
      4.       ├─methods::initialize(value, ...)
      5.       └─teal.code (local) initialize(value, ...)
      6.         └─teal.code (local) .local(.Object, ...)
      7.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      8.           │ └─base::eval(call, callEnv)
      9.           │   └─base::eval(call, callEnv)
     10.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-get_code.R:607:3'): library() and require() are always returned ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. └─teal.data::teal_data(x = 5, y = 6, code = code) at test-get_code.R:607:3
      2.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      3.     └─methods::new(...)
      4.       ├─methods::initialize(value, ...)
      5.       └─teal.code (local) initialize(value, ...)
      6.         └─teal.code (local) .local(.Object, ...)
      7.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      8.           │ └─base::eval(call, callEnv)
      9.           │   └─base::eval(call, callEnv)
     10.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-get_code.R:633:3'): data() call is returned when data name is provided as is ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. └─teal.data::teal_data(x = 1, code = code) at test-get_code.R:633:3
      2.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      3.     └─methods::new(...)
      4.       ├─methods::initialize(value, ...)
      5.       └─teal.code (local) initialize(value, ...)
      6.         └─teal.code (local) .local(.Object, ...)
      7.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      8.           │ └─base::eval(call, callEnv)
      9.           │   └─base::eval(call, callEnv)
     10.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-get_code.R:657:3'): data() call is returned when data name is provided as a character ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. └─teal.data::teal_data(z = 1, code = code) at test-get_code.R:657:3
      2.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      3.     └─methods::new(...)
      4.       ├─methods::initialize(value, ...)
      5.       └─teal.code (local) initialize(value, ...)
      6.         └─teal.code (local) .local(.Object, ...)
      7.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      8.           │ └─base::eval(call, callEnv)
      9.           │   └─base::eval(call, callEnv)
     10.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-join_keys-parents.R:91:3'): parents<- sets parent datasets to join_keys kept in teal_data ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. └─teal.data::teal_data(...) at test-join_keys-parents.R:91:3
      2.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      3.     └─methods::new(...)
      4.       ├─methods::initialize(value, ...)
      5.       └─teal.code (local) initialize(value, ...)
      6.         └─teal.code (local) .local(.Object, ...)
      7.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      8.           │ └─base::eval(call, callEnv)
      9.           │   └─base::eval(call, callEnv)
     10.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Failure ('test-join_keys.R:9:3'): join_keys only accepts teal_data and join_key arguments ──
    Expected `join_keys(teal_data())` to run without any errors.
    ℹ Actually got a <simpleError> with text:
      cannot add bindings to a locked environment
    ── Error ('test-join_keys.R:92:3'): join_keys.teal_data returns join_keys object from teal_data ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. └─teal.data::teal_data(...) at test-join_keys.R:92:3
      2.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      3.     └─methods::new(...)
      4.       ├─methods::initialize(value, ...)
      5.       └─teal.code (local) initialize(value, ...)
      6.         └─teal.code (local) .local(.Object, ...)
      7.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      8.           │ └─base::eval(call, callEnv)
      9.           │   └─base::eval(call, callEnv)
     10.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-join_keys.R:129:3'): join_keys<-.teal_data overwrites existing join_keys ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. └─teal.data::teal_data(...) at test-join_keys.R:129:3
      2.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      3.     └─methods::new(...)
      4.       ├─methods::initialize(value, ...)
      5.       └─teal.code (local) initialize(value, ...)
      6.         └─teal.code (local) .local(.Object, ...)
      7.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      8.           │ └─base::eval(call, callEnv)
      9.           │   └─base::eval(call, callEnv)
     10.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-join_keys.R:140:3'): join_keys<-.teal_data overwrites existing join_keys ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. └─teal.data::teal_data(...) at test-join_keys.R:140:3
      2.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      3.     └─methods::new(...)
      4.       ├─methods::initialize(value, ...)
      5.       └─teal.code (local) initialize(value, ...)
      6.         └─teal.code (local) .local(.Object, ...)
      7.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      8.           │ └─base::eval(call, callEnv)
      9.           │   └─base::eval(call, callEnv)
     10.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-teal_data.R:2:3'): teal_data allows to initialize empty teal_data object ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─testthat::expect_s4_class(teal_data(), "teal_data") at test-teal_data.R:2:3
      2. │ └─testthat::quasi_label(enquo(object), arg = "object")
      3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
      4. └─teal.data::teal_data()
      5.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      6.     └─methods::new(...)
      7.       ├─methods::initialize(value, ...)
      8.       └─teal.code (local) initialize(value, ...)
      9.         └─teal.code (local) .local(.Object, ...)
     10.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
     11.           │ └─base::eval(call, callEnv)
     12.           │   └─base::eval(call, callEnv)
     13.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-teal_data.R:6:3'): empty teal_data returns empty code, id, wartnings and messages and verified=TRUE ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─testthat::expect_identical(teal_data()@code, character(0)) at test-teal_data.R:6:3
      2. │ └─testthat::quasi_label(enquo(object), label, arg = "object")
      3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
      4. └─teal.data::teal_data()
      5.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      6.     └─methods::new(...)
      7.       ├─methods::initialize(value, ...)
      8.       └─teal.code (local) initialize(value, ...)
      9.         └─teal.code (local) .local(.Object, ...)
     10.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
     11.           │ └─base::eval(call, callEnv)
     12.           │   └─base::eval(call, callEnv)
     13.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-teal_data.R:14:3'): non-empty data in teal_data returns verified=FALSE ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─testthat::expect_identical(teal_data(IRIS = iris)@verified, FALSE) at test-teal_data.R:14:3
      2. │ └─testthat::quasi_label(enquo(object), label, arg = "object")
      3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
      4. └─teal.data::teal_data(IRIS = iris)
      5.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      6.     └─methods::new(...)
      7.       ├─methods::initialize(value, ...)
      8.       └─teal.code (local) initialize(value, ...)
      9.         └─teal.code (local) .local(.Object, ...)
     10.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
     11.           │ └─base::eval(call, callEnv)
     12.           │   └─base::eval(call, callEnv)
     13.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-teal_data.R:18:3'): teal_data allows to initialize empty teal_data with join_keys ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─testthat::expect_equal(...) at test-teal_data.R:18:3
      2. │ └─testthat::quasi_label(enquo(object), label, arg = "object")
      3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
      4. └─teal.data::teal_data(...)
      5.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      6.     └─methods::new(...)
      7.       ├─methods::initialize(value, ...)
      8.       └─teal.code (local) initialize(value, ...)
      9.         └─teal.code (local) .local(.Object, ...)
     10.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
     11.           │ └─base::eval(call, callEnv)
     12.           │   └─base::eval(call, callEnv)
     13.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-teal_data.R:25:3'): teal_data initializes teal_data object with @datanames taken from passed objects ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─testthat::expect_identical(...) at test-teal_data.R:25:3
      2. │ └─testthat::quasi_label(enquo(object), label, arg = "object")
      3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
      4. └─teal.data::teal_data(iris = iris, mtcars = mtcars)
      5.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      6.     └─methods::new(...)
      7.       ├─methods::initialize(value, ...)
      8.       └─teal.code (local) initialize(value, ...)
      9.         └─teal.code (local) .local(.Object, ...)
     10.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
     11.           │ └─base::eval(call, callEnv)
     12.           │   └─base::eval(call, callEnv)
     13.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-teal_data.R:32:3'): teal_data initializes teal_data object with @datanames taken from passed join_keys ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─testthat::expect_identical(...) at test-teal_data.R:32:3
      2. │ └─testthat::quasi_label(enquo(object), label, arg = "object")
      3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
      4. └─teal.data::teal_data(...)
      5.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      6.     └─methods::new(...)
      7.       ├─methods::initialize(value, ...)
      8.       └─teal.code (local) initialize(value, ...)
      9.         └─teal.code (local) .local(.Object, ...)
     10.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
     11.           │ └─base::eval(call, callEnv)
     12.           │   └─base::eval(call, callEnv)
     13.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-teal_data.R:39:3'): teal_data initializes teal_data object with @datanames taken from join_keys and passed objects ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─testthat::expect_identical(...) at test-teal_data.R:39:3
      2. │ └─testthat::quasi_label(enquo(object), label, arg = "object")
      3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
      4. └─teal.data::teal_data(...)
      5.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      6.     └─methods::new(...)
      7.       ├─methods::initialize(value, ...)
      8.       └─teal.code (local) initialize(value, ...)
      9.         └─teal.code (local) .local(.Object, ...)
     10.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
     11.           │ └─base::eval(call, callEnv)
     12.           │   └─base::eval(call, callEnv)
     13.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-teal_data.R:48:3'): teal_data returns teal_data when data passed as named list ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─testthat::expect_s4_class(teal_data(df1 = df1), "teal_data") at test-teal_data.R:48:3
      2. │ └─testthat::quasi_label(enquo(object), arg = "object")
      3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
      4. └─teal.data::teal_data(df1 = df1)
      5.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      6.     └─methods::new(...)
      7.       ├─methods::initialize(value, ...)
      8.       └─teal.code (local) initialize(value, ...)
      9.         └─teal.code (local) .local(.Object, ...)
     10.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
     11.           │ └─base::eval(call, callEnv)
     12.           │   └─base::eval(call, callEnv)
     13.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Failure ('test-teal_data.R:53:3'): teal_data accepts any data provided as named list ──
    Expected `teal_data(df1 = df1)` to run without any errors.
    ℹ Actually got a <simpleError> with text:
      cannot add bindings to a locked environment
    ── Failure ('test-teal_data.R:57:3'): teal_data accepts code as character ──────
    Expected `teal_data(iris1 = iris, code = "iris1 <- iris")` to run without any errors.
    ℹ Actually got a <simpleError> with text:
      cannot add bindings to a locked environment
    ── Failure ('test-teal_data.R:66:3'): teal_data accepts code as language ───────
    Expected `teal_data(iris1 = iris, code = quote(iris1 <- iris))` to run without any errors.
    ℹ Actually got a <simpleError> with text:
      cannot add bindings to a locked environment
    ── Error ('test-teal_data.R:75:3'): teal_data code unfolds code-block wrapped in '{' ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─testthat::expect_identical(...) at test-teal_data.R:75:3
      2. │ └─testthat::quasi_label(enquo(object), label, arg = "object")
      3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
      4. └─teal.data::teal_data(...)
      5.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      6.     └─methods::new(...)
      7.       ├─methods::initialize(value, ...)
      8.       └─teal.code (local) initialize(value, ...)
      9.         └─teal.code (local) .local(.Object, ...)
     10.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
     11.           │ └─base::eval(call, callEnv)
     12.           │   └─base::eval(call, callEnv)
     13.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-teal_data.R:84:3'): teal_data code is concatenated into single string ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. ├─testthat::expect_identical(...) at test-teal_data.R:84:3
      2. │ └─testthat::quasi_label(enquo(object), label, arg = "object")
      3. │   └─rlang::eval_bare(expr, quo_get_env(quo))
      4. └─teal.data::teal_data(...)
      5.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      6.     └─methods::new(...)
      7.       ├─methods::initialize(value, ...)
      8.       └─teal.code (local) initialize(value, ...)
      9.         └─teal.code (local) .local(.Object, ...)
     10.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
     11.           │ └─base::eval(call, callEnv)
     12.           │   └─base::eval(call, callEnv)
     13.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-teal_data.R:91:3'): teal_data@env is locked. Not able to modify, add or remove bindings ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. └─teal.data::teal_data(iris = iris) at test-teal_data.R:91:3
      2.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      3.     └─methods::new(...)
      4.       ├─methods::initialize(value, ...)
      5.       └─teal.code (local) initialize(value, ...)
      6.         └─teal.code (local) .local(.Object, ...)
      7.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      8.           │ └─base::eval(call, callEnv)
      9.           │   └─base::eval(call, callEnv)
     10.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-verify.R:2:3'): verify returns the same object for @verified=TRUE ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. └─teal.data::teal_data() at test-verify.R:2:3
      2.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      3.     └─methods::new(...)
      4.       ├─methods::initialize(value, ...)
      5.       └─teal.code (local) initialize(value, ...)
      6.         └─teal.code (local) .local(.Object, ...)
      7.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      8.           │ └─base::eval(call, callEnv)
      9.           │   └─base::eval(call, callEnv)
     10.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-verify.R:15:3'): verify returns the same object with changed @verified field for properly executed code ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. └─teal.data::teal_data(x1 = iris, code = "x1 = iris") at test-verify.R:15:3
      2.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      3.     └─methods::new(...)
      4.       ├─methods::initialize(value, ...)
      5.       └─teal.code (local) initialize(value, ...)
      6.         └─teal.code (local) .local(.Object, ...)
      7.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      8.           │ └─base::eval(call, callEnv)
      9.           │   └─base::eval(call, callEnv)
     10.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-verify.R:24:3'): verify raises error if @code does not restore objects in @env ──
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. └─teal.data::teal_data(x1 = iris, code = "x1 = mtcars") at test-verify.R:24:3
      2.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      3.     └─methods::new(...)
      4.       ├─methods::initialize(value, ...)
      5.       └─teal.code (local) initialize(value, ...)
      6.         └─teal.code (local) .local(.Object, ...)
      7.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      8.           │ └─base::eval(call, callEnv)
      9.           │   └─base::eval(call, callEnv)
     10.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    ── Error ('test-verify.R:30:3'): verify returns error for qenv.error input ─────
    Error in `selfEnv[[what]] <- args[[what]]`: cannot add bindings to a locked environment
    Backtrace:
         ▆
      1. └─teal.data::teal_data() at test-verify.R:30:3
      2.   └─teal.data:::new_teal_data(data = data_objects, code = code, join_keys = join_keys)
      3.     └─methods::new(...)
      4.       ├─methods::initialize(value, ...)
      5.       └─teal.code (local) initialize(value, ...)
      6.         └─teal.code (local) .local(.Object, ...)
      7.           ├─methods::callNextMethod(.Object, new_xdata, code = code, ...)
      8.           │ └─base::eval(call, callEnv)
      9.           │   └─base::eval(call, callEnv)
     10.           └─methods (local) .nextMethod(.Object, new_xdata, code = code, ...)
    
    [ FAIL 68 | WARN 0 | SKIP 2 | PASS 167 ]
    Error: Test failures
    Execution halted

Package: teal.modules.clinical
Check: examples
New result: ERROR
  Running examples in ‘teal.modules.clinical-Ex.R’ failed
  The error most likely occurred in:
  
  > base::assign(".ptime", proc.time(), pos = "CheckExEnv")
  > ### Name: tm_a_gee
  > ### Title: teal Module: Generalized Estimating Equations (GEE) analysis
  > ### Aliases: tm_a_gee
  > 
  > ### ** Examples
  > 
  > library(dplyr)
  
  Attaching package: ‘dplyr’
  
  The following objects are masked from ‘package:stats’:
  
      filter, lag
  
  The following objects are masked from ‘package:base’:
  
      intersect, setdiff, setequal, union
  
  > data <- teal_data()
  Error in selfEnv[[what]] <- args[[what]] : 
    cannot add bindings to a locked environment
  Calls: teal_data ... .local -> <Anonymous> -> eval -> eval -> .nextMethod
  Execution halted

Package: teal.modules.general
Check: examples
New result: ERROR
  Running examples in ‘teal.modules.general-Ex.R’ failed
  The error most likely occurred in:
  
  > base::assign(".ptime", proc.time(), pos = "CheckExEnv")
  > ### Name: tm_a_pca
  > ### Title: 'teal' module: Principal component analysis
  > ### Aliases: tm_a_pca
  > 
  > ### ** Examples
  > 
  > library(teal.widgets)
  > 
  > # general data example
  > data <- teal_data()
  Error in selfEnv[[what]] <- args[[what]] : 
    cannot add bindings to a locked environment
  Calls: teal_data ... .local -> <Anonymous> -> eval -> eval -> .nextMethod
  Execution halted

Package: teal.modules.general
Check: re-building of vignette outputs
New result: ERROR
  Error(s) in re-building vignettes:
    ...
  --- re-building ‘teal-modules-general.Rmd’ using rmarkdown
  
  Quitting from lines 43-70 [unnamed-chunk-1] (teal-modules-general.Rmd)
  Error: processing vignette 'teal-modules-general.Rmd' failed with diagnostics:
  cannot add bindings to a locked environment
  --- failed re-building ‘teal-modules-general.Rmd’
  
  --- re-building ‘using-association-plot.Rmd’ using rmarkdown
  
  Quitting from lines 38-54 [unnamed-chunk-2] (using-association-plot.Rmd)
  Error: processing vignette 'using-association-plot.Rmd' failed with diagnostics:
  cannot add bindings to a locked environment
  --- failed re-building ‘using-association-plot.Rmd’
  
  --- re-building ‘using-bivariate-plot.Rmd’ using rmarkdown
  
  Quitting from lines 40-56 [unnamed-chunk-2] (using-bivariate-plot.Rmd)
  Error: processing vignette 'using-bivariate-plot.Rmd' failed with diagnostics:
  cannot add bindings to a locked environment
  --- failed re-building ‘using-bivariate-plot.Rmd’
  
  --- re-building ‘using-cross-table.Rmd’ using rmarkdown
  
  Quitting from lines 37-50 [unnamed-chunk-2] (using-cross-table.Rmd)
  Error: processing vignette 'using-cross-table.Rmd' failed with diagnostics:
  cannot add bindings to a locked environment
  --- failed re-building ‘using-cross-table.Rmd’
  
  --- re-building ‘using-data-table.Rmd’ using rmarkdown
  
  Quitting from lines 37-46 [unnamed-chunk-2] (using-data-table.Rmd)
  Error: processing vignette 'using-data-table.Rmd' failed with diagnostics:
  cannot add bindings to a locked environment
  --- failed re-building ‘using-data-table.Rmd’
  
  --- re-building ‘using-outliers-module.Rmd’ using rmarkdown
  
  Quitting from lines 38-47 [unnamed-chunk-2] (using-outliers-module.Rmd)
  Error: processing vignette 'using-outliers-module.Rmd' failed with diagnostics:
  cannot add bindings to a locked environment
  --- failed re-building ‘using-outliers-module.Rmd’
  
  --- re-building ‘using-regression-plots.Rmd’ using rmarkdown
  
  Quitting from lines 40-56 [unnamed-chunk-2] (using-regression-plots.Rmd)
  Error: processing vignette 'using-regression-plots.Rmd' failed with diagnostics:
  cannot add bindings to a locked environment
  --- failed re-building ‘using-regression-plots.Rmd’
  
  --- re-building ‘using-response-plot.Rmd’ using rmarkdown
  
  Quitting from lines 39-55 [unnamed-chunk-2] (using-response-plot.Rmd)
  Error: processing vignette 'using-response-plot.Rmd' failed with diagnostics:
  cannot add bindings to a locked environment
  --- failed re-building ‘using-response-plot.Rmd’
  
  --- re-building ‘using-scatterplot-matrix.Rmd’ using rmarkdown
  
  Quitting from lines 40-56 [unnamed-chunk-2] (using-scatterplot-matrix.Rmd)
  Error: processing vignette 'using-scatterplot-matrix.Rmd' failed with diagnostics:
  cannot add bindings to a locked environment
  --- failed re-building ‘using-scatterplot-matrix.Rmd’
  
  --- re-building ‘using-scatterplot.Rmd’ using rmarkdown
  
  Quitting from lines 40-56 [unnamed-chunk-2] (using-scatterplot.Rmd)
  Error: processing vignette 'using-scatterplot.Rmd' failed with diagnostics:
  cannot add bindings to a locked environment
  --- failed re-building ‘using-scatterplot.Rmd’
  
  SUMMARY: processing the following files failed:
    ‘teal-modules-general.Rmd’ ‘using-association-plot.Rmd’
    ‘using-bivariate-plot.Rmd’ ‘using-cross-table.Rmd’
    ‘using-data-table.Rmd’ ‘using-outliers-module.Rmd’
    ‘using-regression-plots.Rmd’ ‘using-response-plot.Rmd’
    ‘using-scatterplot-matrix.Rmd’ ‘using-scatterplot.Rmd’
  
  Error: Vignette re-building failed.
  Execution halted