🔍 An RStudio addin slash regex utility belt
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

44 行
2.0KB

  1. context("test-wrap_result.R")
  2. test_that("wrap_result handles zero length groups", {
  3. # Issue #9
  4. # Type 'q()' to quit R.
  5. # (?<=\()([^)]*)(?=\))
  6. text <- "Type 'q()' to quit R."
  7. pattern <- "(?<=\\()([^)]*)(?=\\))"
  8. res <- wrap_result(run_regex(text, pattern, perl = TRUE)[[1]])
  9. expect_equal(res, "Type 'q(<span class=\"group g00\"><span class=\"group g01\"></span></span>)' to quit R.")
  10. })
  11. test_that("wrap_results generally works", {
  12. text <- "apples"
  13. pattern <- "apples"
  14. res <- wrap_result(run_regex(text, pattern, perl = TRUE)[[1]])
  15. expect_equal(res, "<span class=\"group g00\">apples</span>")
  16. text <- "He wheeled the bike past the winding road."
  17. pattern <- "(a|the) ([^ ]+)"
  18. res <- wrap_result(run_regex(text, pattern, perl = TRUE)[[1]])
  19. expect_equal(res, "He wheeled <span class=\"group g00\"><span class=\"group g01\">the</span> <span class=\"group g02\">bike</span></span> past the winding road.")
  20. text <- ".15in"
  21. pattern <- "^(auto|inherit|((\\.\\d+)|(\\d+(\\.\\d+)?))(%|in|cm|mm|em|ex|pt|pc|px|vh|vw|vmin|vmax))$"
  22. res <- wrap_result(run_regex(text, pattern, perl = TRUE)[[1]])
  23. expect_equal(res, "<span class=\"group g00\"><span class=\"group g01\"><span class=\"group g02 pad01\"><span class=\"group g03 pad02\">.15</span></span><span class=\"group g06 pad01\">in</span></span></span>")
  24. })
  25. test_that("wrap_results works when groups start and end at same index", {
  26. text <- "7282298386"
  27. pattern <- "\\(?(\\d{3})[-). ]?(\\d{3})[- .]?(\\d{4})"
  28. res <- wrap_result(run_regex(text, pattern, perl = TRUE)[[1]])
  29. expect_equal(res, "<span class=\"group g00\"><span class=\"group g01\">728</span><span class=\"group g02\">229</span><span class=\"group g03\">8386</span></span>")
  30. })
  31. test_that("wrap_regex searches globally", {
  32. testthat::skip("Global search test not ready yet")
  33. text <- "ab ab"
  34. pattern <- "(a)(b)"
  35. result <- paste(rep("<span class=\"group g00\"><span class=\"group g01\">a</span><span class=\"group g02\">b</span></span>", 2), collapse = " ")
  36. expect_equal(wrap_result(run_regex(text, pattern)[[1]]), result)
  37. })