You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

83 lines
2.6KB

  1. context("test-layout")
  2. # Bulma Levels ------------------------------------------------------------
  3. level_home_example <- '
  4. <div class="level is-mobile">
  5. <div class="level-item">Home</div>
  6. <div class="level-item">Menu</div>
  7. <div class="level-item">Bulma</div>
  8. <div class="level-item">Reservations</div>
  9. <div class="level-item">Contact</div>
  10. </div>'
  11. level_header_example <- '
  12. <div class="level is-mobile">
  13. <div class="level-item has-text-centered">
  14. <div>
  15. <p class="heading">Tweets</p>
  16. <p class="title">3456</p>
  17. </div>
  18. </div>
  19. <div class="level-item has-text-centered">
  20. <div>
  21. <p class="heading">Following</p>
  22. <p class="title">123</p>
  23. </div>
  24. </div>
  25. </div>'
  26. collapse_html_chr <- function(x) {
  27. x <- paste(x, collapse = "\n")
  28. gsub("\\s*\n\\s*", "", x)
  29. }
  30. expect_html_chr <- function(x, y) {
  31. expect_equal(collapse_html_chr(x), collapse_html_chr(y))
  32. }
  33. test_that("bulma_level_item single", {
  34. expect_html_chr(bulma_level_item("one"), '<div class="level-item">one</div>')
  35. expect_true(is_level_item(bulma_level_item("a")))
  36. expect_true(is_level_item(bulma_level_item("a", "b")))
  37. expect_equal(as_level_item(bulma_level_item("a")),
  38. bulma_level_item("a"))
  39. })
  40. test_that("bulma_level_item doesn't wrap other bulma_level_items", {
  41. expect_html_chr(bulma_level_item(bulma_level_item("one")), '<div class="level-item">one</div>')
  42. })
  43. test_that("bulma_level_item concatenates inputs into single div", {
  44. expect_html_chr(bulma_level_item("A", "B"), '<div class="level-item">AB</div>')
  45. expect_html_chr(bulma_level_item(tag_p("A"), tag_p("B")), '<div class="level-item"><p>A</p><p>B</p></div>')
  46. })
  47. test_that("bulma_level generally works", {
  48. expect_html_chr(bulma_level("Home", "Menu", "Bulma", "Reservations", "Contact"),
  49. level_home_example)
  50. expect_html_chr(bulma_level("Home", bulma_level_item("Menu"), "Bulma", "Reservations", "Contact"),
  51. level_home_example)
  52. expect_html_chr(bulma_level("Tweets" = 3456, Following = 123, type = "header"),
  53. level_header_example)
  54. })
  55. test_that("bulma_level works with sides", {
  56. bulma_with_sides <- bulma_level(left = list(bulma_level_item("123 posts")),
  57. right = list("All", "Published"),
  58. "Normal")
  59. level_with_sides <- '
  60. <div class="level is-mobile">
  61. <div class="level-left">
  62. <div class="level-item">123 posts</div>
  63. </div>
  64. <div class="level-item">Normal</div>
  65. <div class="level-right">
  66. <div class="level-item">All</div>
  67. <div class="level-item">Published</div>
  68. </div>
  69. </div>'
  70. expect_html_chr(bulma_with_sides, level_with_sides)
  71. })