🔍 An RStudio addin slash regex utility belt
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

33 lines
1.1KB

  1. context("test-sanitize_text_input.R")
  2. test_that("doesn't treat backreferences as octals", {
  3. expect_equal(sanitize_text_input("\\1 \\2 \\3"), "\\1 \\2 \\3")
  4. })
  5. test_that("sanitizes unicode", {
  6. # rx_unicode <- "\\u[0-9a-f]{4,8}"
  7. expect_equal(sanitize_text_input("\\u2019"), "\u2019")
  8. expect_equal(sanitize_text_input("\\u000D"), "\r")
  9. })
  10. test_that("sanitizes hex", {
  11. # rx_hex <- "\\\\x[0-9a-f]{2}|\\\\x\\{[0-9a-f]{1,6}\\}"
  12. expect_equal(sanitize_text_input("\\x0D"), "\r")
  13. expect_equal(sanitize_text_input("\\x{20AC}"), "\u20AC")
  14. })
  15. test_that("sanitizes octal", {
  16. # rx_octal <- "\\\\[0][0-7]{1,3}"
  17. expect_equal(sanitize_text_input("\\02"), "\002")
  18. })
  19. test_that("doesn't escape normal letters", {
  20. # "\\u[0-9a-f]{4,8}|\\x[0-9a-f]{2}|\\x\\{[0-9a-f]{1,6}\\}|\\N|\\0[0-8]{1,3}"
  21. expect_equal(sanitize_text_input("a"), "a")
  22. expect_equal(sanitize_text_input("\a"), "\a")
  23. expect_equal(sanitize_text_input("\\a"), "\\a")
  24. expect_equal(sanitize_text_input("x"), "x")
  25. #expect_error(sanitize_text_input("\x"))
  26. expect_equal(sanitize_text_input("\\x"), "\\x")
  27. })