# context("onDone") # # describe("onDone", { # it ("stops the shiny gadget and returns a htmlwidget", { # with_mock( # `shiny::stopApp` = function(x) { # print("Stop gadget") # x # }, # { # inputs <- initInputEnv(list(x1 = mwText("value1"), x2 = mwSelect(1:3))) # expr <- expression(combineWidgets(paste(x1, x2))) # controller <- MWController(expr, inputs)$init() # # expect_output(res <- onDone(controller), "Stop gadget") # expect_is(res, "htmlwidget") # expect_equal(length(res$widgets), 1) # expect_equal(res$widgets[[1]], "value1 1") # } # ) # }) # # it ("returns a combined widget if comparison", { # suppressWarnings({with_mock( # `shiny::stopApp` = function(x) { # print("Stop gadget") # x # }, # { # compare <- list(x2 = list(1, 2, 3)) # inputs <- initInputEnv(list(x1 = mwText("value1"), x2 = mwSelect(1:3)), # compare = compare, ncharts = 3) # expr <- expression(paste(x1, x2)) # controller <- MWController(expr, inputs)$init() # expect_output(res <- onDone(controller), "Stop gadget") # expect_is(res, "combineWidgets") # expect_equal(length(res$widgets), 3) # for (i in 1:3) { # expect_equal(res$widgets[[i]]$widgets[[1]], paste("value1", compare$x2[[i]])) # } # } # )}) # }) # # })