Nothing
test_that("Textshaping follows UNICODE Bidi conventions", {
# First test from the unicode test file
test_string <- gsub(" ", "\\u", "' 05D0 05D1 0028 05D2 05D3 005B 0026 0065 0066 005D 002E 0029 0067 0068'", fixed = TRUE)
test_string <- eval(parse(text = test_string))
shape <- shape_text(test_string, direction = "ltr")
expect_equal(shape$shape$glyph, c(2L, 1L, 3L, 5L, 4L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L))
skip_on_cran()
skip_on_ci()
# Change to FALSE to run ALL tests locally
skip_if(TRUE, "Skipping time consuming UNICODE Bidi tests")
test_url <- "https://www.unicode.org/Public/UCD/latest/ucd/BidiCharacterTest.txt"
tests <- read.csv2(test_url, header = FALSE, comment.char = "#")
names(tests) <- c("unicode", "ltr_set", "ltr_detected", "bidi_embedding", "visual_order")
tests$visual_order <- lapply(strsplit(tests$visual_order, " ", TRUE), as.integer)
for (i in seq_len(nrow(tests))[-1]) {
test_string <- paste0("\"\\u", gsub(" ", "\\u", tests$unicode[i], fixed = TRUE), "\"")
test_string <- eval(parse(text = test_string))
dir <- c("ltr", "rtl", "auto")[tests$ltr_set[i] + 1]
shape <- shape_text(test_string, direction = dir)
expect_equal(shape$metrics$ltr, tests$ltr_detected[i] == 0, label = paste0("calculated direction [test ", i,"]"))
true_ordering <- tests$visual_order[[i]] + 1L
# We do the below to make sure that any ligature substitutions doesn't affect the
# changes
true_ordering <- intersect(true_ordering, shape$shape$glyph)
calc_ordering <- intersect(shape$shape$glyph, true_ordering)
expect_equal(calc_ordering, true_ordering, label = paste0("calculated visual order [test ", i,"]"))
}
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.