test_that("sidebar", { ## Check HTML #################### m <- sidebar_pane( title = "messages", id = "messages_id", icon = tags$i(class = "person"), tagList(tags$div("Some Shiny Inputs")) ) expect_is(m, "shiny.tag") m <- sidebar_tabs( id = "sidebar", list(tags$i(class = "car"), tags$i(class = "user"), tags$i(class = "car")), sidebar_pane( title = "home", id = "home_id", icon = tags$i(class = "home"), tagList(tags$div("Some Shiny Inputs")) ), sidebar_pane( title = "profile", id = "profile_id", icon = tags$i(class = "wrench"), tagList(tags$div("Some Shiny Inputs")) ), sidebar_pane( title = "messages", id = "messages_id", icon = tags$i(class = "person"), tagList(tags$div("Some Shiny Inputs")) ) ) expect_is(m, "shiny.tag") ## Leaflet #################### m <- leaflet() %>% addSidebar() expect_is(m, "leaflet") deps <- findDependencies(m) expect_equal(deps[[length(deps)]]$name, "lfx-sidebar") m <- m %>% removeSidebar() expect_equal( m$x$calls[[length(m$x$calls)]]$method, "removeSidebar" ) m <- m %>% openSidebar("tab1") expect_equal( m$x$calls[[length(m$x$calls)]]$method, "openSidebar" ) m <- m %>% closeSidebar() expect_equal( m$x$calls[[length(m$x$calls)]]$method, "closeSidebar" ) ## Check For Modules ########## m <- leaflet() %>% addSidebar(ns = shiny::NS("modul")) expect_is(m, "leaflet") expect_equal( m$x$calls[[length(m$x$calls)]]$args[[1]], "modul-sidebar" ) m <- leaflet() %>% addSidebar(ns = shiny::NS("modul")) %>% openSidebar(id = "sidebar", ns = shiny::NS("modul")) expect_is(m, "leaflet") expect_equal( m$x$calls[[length(m$x$calls)]]$args[[1]]$id, "modul-sidebar" ) }) test_that("sidebar-error", { expect_error( sidebar_pane( icon = tags$i(class = "person"), tagList() ) ) expect_error( sidebar_tabs( list(tags$i(class = "person"), tags$i(class = "person")), sidebar_pane( id = "home_id", icon = tags$i(class = "person"), tagList() ), sidebar_pane( id = "profile_id", icon = tags$i(class = "person"), tagList() ), sidebar_pane( id = "messages_id", icon = tags$i(class = "person"), tagList() ) ) ) })