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

34 行
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. expect_equal(sanitize_text_input("\\U0001F575"), "\U001F575")
  10. })
  11. test_that("sanitizes hex", {
  12. # rx_hex <- "\\\\x[0-9a-f]{2}|\\\\x\\{[0-9a-f]{1,6}\\}"
  13. expect_equal(sanitize_text_input("\\x0D"), "\r")
  14. expect_equal(sanitize_text_input("\\x{20AC}"), "\u20AC")
  15. })
  16. test_that("sanitizes octal", {
  17. # rx_octal <- "\\\\[0][0-7]{1,3}"
  18. expect_equal(sanitize_text_input("\\02"), "\002")
  19. })
  20. test_that("doesn't escape normal letters", {
  21. # "\\u[0-9a-f]{4,8}|\\x[0-9a-f]{2}|\\x\\{[0-9a-f]{1,6}\\}|\\N|\\0[0-8]{1,3}"
  22. expect_equal(sanitize_text_input("a"), "a")
  23. expect_equal(sanitize_text_input("\a"), "\a")
  24. expect_equal(sanitize_text_input("\\a"), "\\a")
  25. expect_equal(sanitize_text_input("x"), "x")
  26. # expect_error(sanitize_text_input("\x"))
  27. expect_equal(sanitize_text_input("\\x"), "\\x")
  28. })