Nothing
# extensive tests of convert_kanji
#
test_that("convert_kanji, single entry, simplify", {
expect_equal( convert_kanji(25)[1:3], list(index=25, character="山", hexmode=as.hexmode("5c71")) )
expect_equal( convert_kanji(list(25))[1:3], list(index=25, character="山", hexmode=as.hexmode("5c71")) )
#
expect_equal( convert_kanji(25, "index"), 25 )
expect_equal( convert_kanji(25, "character"), "山" )
expect_equal( convert_kanji(25, "hexmode"), as.hexmode("5c71") )
expect_equal( convert_kanji(list(25), "index"), 25 )
expect_equal( convert_kanji(list(25), "character"), "山" )
expect_equal( convert_kanji(list(25), "hexmode"), as.hexmode("5c71") )
expect_equal( convert_kanji("山", "index"), 25 )
expect_equal( convert_kanji("山", "character"), "山" )
expect_equal( convert_kanji("山", "hexmode"), as.hexmode("5c71") )
expect_equal( convert_kanji(list("山"), "index"), 25 )
expect_equal( convert_kanji(list("山"), "character"), "山" )
expect_equal( convert_kanji(list("山"), "hexmode"), as.hexmode("5c71") )
expect_equal( convert_kanji(as.hexmode("5c71"), "index"), 25 )
expect_equal( convert_kanji(as.hexmode("5c71"), "character"), "山" )
expect_equal( convert_kanji(as.hexmode("5c71"), "hexmode"), as.hexmode("5c71") )
expect_equal( convert_kanji(list(as.hexmode("5c71")), "index"), 25 )
expect_equal( convert_kanji(list(as.hexmode("5c71")), "character"), "山" )
expect_equal( convert_kanji(list(as.hexmode("5c71")), "hexmode"), as.hexmode("5c71") )
expect_equal( convert_kanji("0x5c71", "index"), 25 )
expect_equal( convert_kanji("0x5c71", "character"), "山" )
expect_equal( convert_kanji("0x5c71", "hexmode"), as.hexmode("5c71") )
expect_equal( convert_kanji(list("0x5c71"), "index"), 25 )
expect_equal( convert_kanji(list("0x5c71"), "character"), "山" )
expect_equal( convert_kanji(list("0x5c71"), "hexmode"), as.hexmode("5c71") )
expect_equal( convert_kanji(kanjivec_ref_fuji, "index"), 1032 )
expect_equal( convert_kanji(kanjivec_ref_fuji, "character"), "藤" )
expect_equal( convert_kanji(kanjivec_ref_fuji, "hexmode"), as.hexmode("85e4") )
expect_equal( convert_kanji(list(kanjivec_ref_fuji), "index"), 1032 )
expect_equal( convert_kanji(list(kanjivec_ref_fuji), "character"), "藤" )
expect_equal( convert_kanji(list(kanjivec_ref_fuji), "hexmode"), as.hexmode("85e4") )
skip_if_not_installed("kanjistat.data")
# output = "all"
expect_equal( convert_kanji("藤"), list(index=1032, character="藤",
hexmode=as.hexmode("85e4"), kanjivec=kanjivec_ref_fuji),
ignore_attr=c("call", "kanjistat_version") )
# test only the first one also with list
expect_equal( convert_kanji(1032, "kanjivec"), kanjivec_ref_fuji,
ignore_attr=c("call", "kanjistat_version") )
expect_equal( convert_kanji(list(1032), "kanjivec"), kanjivec_ref_fuji,
ignore_attr=c("call", "kanjistat_version") )
expect_equal( convert_kanji("藤", "kanjivec"), kanjivec_ref_fuji,
ignore_attr=c("call", "kanjistat_version") )
expect_equal( convert_kanji(as.hexmode("85e4"), "kanjivec"), kanjivec_ref_fuji,
ignore_attr=c("call", "kanjistat_version") )
expect_equal( convert_kanji("0x85e4", "kanjivec"), kanjivec_ref_fuji,
ignore_attr=c("call", "kanjistat_version") )
expect_equal( convert_kanji(kanjivec_ref_fuji, "kanjivec"), kanjivec_ref_fuji,
ignore_attr=c("call", "kanjistat_version") )
})
test_that("convert_kanji, multiple entries, simplify", {
ll <- convert_kanji(c(100,101))
expect_equal( lapply(ll, \(x){x[1:3]}), list(list(index=c(100), character="高", hexmode=as.hexmode("9ad8")),
list(index=c(101), character="当", hexmode=as.hexmode("5f53"))) )
#
expect_equal( convert_kanji(c(100,101), "index"), c(100,101) )
expect_equal( convert_kanji(c(100,101), "character"), c("高","当") )
expect_equal( convert_kanji(c(100,101), "hexmode"), as.hexmode(c("9ad8", "5f53")) )
expect_equal( convert_kanji(list(100,101), "index"), c(100,101) )
expect_equal( convert_kanji(list(100,101), "character"), c("高","当") )
expect_equal( convert_kanji(list(100,101), "hexmode"), as.hexmode(c("9ad8", "5f53")) )
expect_equal( convert_kanji(c("高","当"), "index"), c(100,101) )
expect_equal( convert_kanji(c("高","当"), "character"), c("高","当") )
expect_equal( convert_kanji(c("高","当"), "hexmode"), as.hexmode(c("9ad8", "5f53")) )
expect_equal( convert_kanji(list("高","当"), "index"), c(100,101) )
expect_equal( convert_kanji(list("高","当"), "character"), c("高","当") )
expect_equal( convert_kanji(list("高","当"), "hexmode"), as.hexmode(c("9ad8", "5f53")) )
expect_equal( convert_kanji(as.hexmode(c("9ad8","5f53")), "index"), c(100,101) )
expect_equal( convert_kanji(as.hexmode(c("9ad8","5f53")), "character"), c("高","当") )
expect_equal( convert_kanji(as.hexmode(c("9ad8","5f53")), "hexmode"), as.hexmode(c("9ad8", "5f53")) )
expect_equal( convert_kanji(list(as.hexmode("9ad8"), as.hexmode("5f53")), "index"), c(100,101) )
expect_equal( convert_kanji(list(as.hexmode("9ad8"), as.hexmode("5f53")), "character"), c("高","当") )
expect_equal( convert_kanji(list(as.hexmode("9ad8"), as.hexmode("5f53")), "hexmode"), as.hexmode(c("9ad8", "5f53")) )
expect_equal( convert_kanji(c("0x9ad8", "0x5f53"), "index"), c(100,101) )
expect_equal( convert_kanji(c("0x9ad8", "0x5f53"), "character"), c("高","当") )
expect_equal( convert_kanji(c("0x9ad8", "0x5f53"), "hexmode"), as.hexmode(c("9ad8", "5f53")) )
expect_equal( convert_kanji(list("0x9ad8", "0x5f53"), "index"), c(100,101) )
expect_equal( convert_kanji(list("0x9ad8", "0x5f53"), "character"), c("高","当") )
expect_equal( convert_kanji(list("0x9ad8", "0x5f53"), "hexmode"), as.hexmode(c("9ad8", "5f53")) )
expect_equal( convert_kanji(list(kanjivec_ref_fuji, kanjivec_ref_fuji), "index"), c(1032, 1032) )
expect_equal( convert_kanji(list(kanjivec_ref_fuji, kanjivec_ref_fuji), "character"), c("藤", "藤") )
expect_equal( convert_kanji(list(kanjivec_ref_fuji, kanjivec_ref_fuji), "hexmode"), as.hexmode(c("85e4", "85e4")) )
skip_if_not_installed("kanjistat.data")
# output = "all"
sublist <- list(index=1032, character="藤", hexmode=as.hexmode("85e4"), kanjivec=kanjivec_ref_fuji)
expect_equal( convert_kanji(c("藤","藤")), list(sublist, sublist),
ignore_attr=c("call", "kanjistat_version") )
# test only the second one also with list
expect_equal( convert_kanji(c(1032,1032), "kanjivec"), list(kanjivec_ref_fuji, kanjivec_ref_fuji),
ignore_attr=c("call", "kanjistat_version") )
expect_equal( convert_kanji(c("藤","藤"), "kanjivec"), list(kanjivec_ref_fuji, kanjivec_ref_fuji),
ignore_attr=c("call", "kanjistat_version") )
expect_equal( convert_kanji(list("藤","藤"), "kanjivec"), list(kanjivec_ref_fuji, kanjivec_ref_fuji),
ignore_attr=c("call", "kanjistat_version") )
expect_equal( convert_kanji(as.hexmode(c("85e4","85e4")), "kanjivec"), list(kanjivec_ref_fuji, kanjivec_ref_fuji),
ignore_attr=c("call", "kanjistat_version") )
expect_equal( convert_kanji(c("0x85e4","0x85e4"), "kanjivec"), list(kanjivec_ref_fuji, kanjivec_ref_fuji),
ignore_attr=c("call", "kanjistat_version") )
expect_equal( convert_kanji(list(kanjivec_ref_fuji, kanjivec_ref_fuji), "kanjivec"), list(kanjivec_ref_fuji, kanjivec_ref_fuji),
ignore_attr=c("call", "kanjistat_version") )
})
test_that("convert_kanji, single entry, don't simplify", {
expect_equal( convert_kanji(25, simplify=FALSE)[1:3],
list(index=25, character="山", hexmode=as.hexmode("5c71")) )
expect_equal( convert_kanji(list(25), simplify=FALSE)[[1]][1:3], list(index=25, character="山", hexmode=as.hexmode("5c71")) )
#
expect_equal( convert_kanji(25)[1:3], list(index=25, character="山", hexmode=as.hexmode("5c71")) )
expect_equal( convert_kanji(25, "index", simplify=FALSE), 25 )
expect_equal( convert_kanji(25, "character", simplify=FALSE), "山" )
expect_equal( convert_kanji(25, "hexmode", simplify=FALSE), as.hexmode("5c71") )
expect_equal( convert_kanji(list(25), "index", simplify=FALSE), list(25) )
expect_equal( convert_kanji(list(25), "character", simplify=FALSE), list("山") )
expect_equal( convert_kanji(list(25), "hexmode", simplify=FALSE), list(as.hexmode("5c71")) )
expect_equal( convert_kanji("山", "index", simplify=FALSE), 25 )
expect_equal( convert_kanji("山", "character", simplify=FALSE), "山" )
expect_equal( convert_kanji("山", "hexmode", simplify=FALSE), as.hexmode("5c71") )
expect_equal( convert_kanji(list("山"), "index", simplify=FALSE), list(25) )
expect_equal( convert_kanji(list("山"), "character", simplify=FALSE), list("山") )
expect_equal( convert_kanji(list("山"), "hexmode", simplify=FALSE), list(as.hexmode("5c71")) )
expect_equal( convert_kanji(as.hexmode("5c71"), "index", simplify=FALSE), 25 )
expect_equal( convert_kanji(as.hexmode("5c71"), "character", simplify=FALSE), "山" )
expect_equal( convert_kanji(as.hexmode("5c71"), "hexmode", simplify=FALSE), as.hexmode("5c71") )
expect_equal( convert_kanji(list(as.hexmode("5c71")), "index", simplify=FALSE), list(25) )
expect_equal( convert_kanji(list(as.hexmode("5c71")), "character", simplify=FALSE), list("山") )
expect_equal( convert_kanji(list(as.hexmode("5c71")), "hexmode", simplify=FALSE), list(as.hexmode("5c71")) )
expect_equal( convert_kanji("0x5c71", "index", simplify=FALSE), 25 )
expect_equal( convert_kanji("0x5c71", "character", simplify=FALSE), "山" )
expect_equal( convert_kanji("0x5c71", "hexmode", simplify=FALSE), as.hexmode("5c71") )
expect_equal( convert_kanji(list("0x5c71"), "index", simplify=FALSE), list(25) )
expect_equal( convert_kanji(list("0x5c71"), "character", simplify=FALSE), list("山") )
expect_equal( convert_kanji(list("0x5c71"), "hexmode", simplify=FALSE), list(as.hexmode("5c71")) )
expect_equal( convert_kanji(kanjivec_ref_fuji, "index", simplify=FALSE), 1032 )
expect_equal( convert_kanji(kanjivec_ref_fuji, "character", simplify=FALSE), "藤" )
expect_equal( convert_kanji(kanjivec_ref_fuji, "hexmode", simplify=FALSE), as.hexmode("85e4") )
expect_equal( convert_kanji(list(kanjivec_ref_fuji), "index", simplify=FALSE), list(1032) )
expect_equal( convert_kanji(list(kanjivec_ref_fuji), "character", simplify=FALSE), list("藤") )
expect_equal( convert_kanji(list(kanjivec_ref_fuji), "hexmode", simplify=FALSE), list(as.hexmode("85e4")) )
skip_if_not_installed("kanjistat.data")
# output = "all"
expect_equal( convert_kanji(list("藤"), simplify=FALSE)[[1]],
list(index=1032, character="藤",
hexmode=as.hexmode("85e4"), kanjivec=kanjivec_ref_fuji),
ignore_attr=c("call", "kanjistat_version") )
# test only the first one also *without* list
expect_equal( convert_kanji(1032, "kanjivec", simplify=FALSE), kanjivec_ref_fuji,
ignore_attr=c("call", "kanjistat_version") )
expect_equal( convert_kanji(list(1032), "kanjivec", simplify=FALSE), list(kanjivec_ref_fuji),
ignore_attr=c("call", "kanjistat_version") )
expect_equal( convert_kanji(list("藤"), "kanjivec", simplify=FALSE), list(kanjivec_ref_fuji),
ignore_attr=c("call", "kanjistat_version") )
expect_equal( convert_kanji(list(as.hexmode("85e4")), "kanjivec", simplify=FALSE), list(kanjivec_ref_fuji),
ignore_attr=c("call", "kanjistat_version") )
expect_equal( convert_kanji(list("0x85e4"), "kanjivec", simplify=FALSE), list(kanjivec_ref_fuji),
ignore_attr=c("call", "kanjistat_version") )
expect_equal( convert_kanji(list(kanjivec_ref_fuji), "kanjivec", simplify=FALSE), list(kanjivec_ref_fuji),
ignore_attr=c("call", "kanjistat_version") )
})
test_that("convert_kanji, multiple entries, don't simplify", {
ll <- convert_kanji(list(100,101), simplify=FALSE)
expect_equal( lapply(ll, \(x){x[1:3]}), list(list(index=c(100), character="高", hexmode=as.hexmode("9ad8")),
list(index=c(101), character="当", hexmode=as.hexmode("5f53"))) )
#
expect_equal( convert_kanji(c(100,101), "index", simplify=FALSE), c(100,101) )
expect_equal( convert_kanji(c(100,101), "character", simplify=FALSE), c("高","当") )
expect_equal( convert_kanji(c(100,101), "hexmode", simplify=FALSE), as.hexmode(c("9ad8", "5f53")) )
expect_equal( convert_kanji(list(100,101), "index", simplify=FALSE), list(100,101) )
expect_equal( convert_kanji(list(100,101), "character", simplify=FALSE), list("高","当") )
expect_equal( convert_kanji(list(100,101), "hexmode", simplify=FALSE), list(as.hexmode("9ad8"), as.hexmode("5f53")) )
expect_equal( convert_kanji(c("高","当"), "index", simplify=FALSE), c(100,101) )
expect_equal( convert_kanji(c("高","当"), "character", simplify=FALSE), c("高","当") )
expect_equal( convert_kanji(c("高","当"), "hexmode", simplify=FALSE), as.hexmode(c("9ad8", "5f53")) )
expect_equal( convert_kanji(list("高","当"), "index", simplify=FALSE), list(100,101) )
expect_equal( convert_kanji(list("高","当"), "character", simplify=FALSE), list("高","当") )
expect_equal( convert_kanji(list("高","当"), "hexmode", simplify=FALSE), list(as.hexmode("9ad8"), as.hexmode("5f53")) )
expect_equal( convert_kanji(as.hexmode(c("9ad8","5f53")), "index", simplify=FALSE), c(100,101) )
expect_equal( convert_kanji(as.hexmode(c("9ad8","5f53")), "character", simplify=FALSE), c("高","当") )
expect_equal( convert_kanji(as.hexmode(c("9ad8","5f53")), "hexmode", simplify=FALSE), as.hexmode(c("9ad8", "5f53")) )
expect_equal( convert_kanji(list(as.hexmode("9ad8"), as.hexmode("5f53")), "index", simplify=FALSE), list(100,101) )
expect_equal( convert_kanji(list(as.hexmode("9ad8"), as.hexmode("5f53")), "character", simplify=FALSE), list("高","当") )
expect_equal( convert_kanji(list(as.hexmode("9ad8"), as.hexmode("5f53")), "hexmode", simplify=FALSE), list(as.hexmode("9ad8"), as.hexmode("5f53")) )
expect_equal( convert_kanji(c("0x9ad8", "0x5f53"), "index", simplify=FALSE), c(100,101) )
expect_equal( convert_kanji(c("0x9ad8", "0x5f53"), "character", simplify=FALSE), c("高","当") )
expect_equal( convert_kanji(c("0x9ad8", "0x5f53"), "hexmode", simplify=FALSE), as.hexmode(c("9ad8", "5f53")) )
expect_equal( convert_kanji(list("0x9ad8", "0x5f53"), "index", simplify=FALSE), list(100,101) )
expect_equal( convert_kanji(list("0x9ad8", "0x5f53"), "character", simplify=FALSE), list("高","当") )
expect_equal( convert_kanji(list("0x9ad8", "0x5f53"), "hexmode", simplify=FALSE), list(as.hexmode("9ad8"), as.hexmode("5f53")) )
expect_equal( convert_kanji(list(kanjivec_ref_fuji, kanjivec_ref_fuji), "index", simplify=FALSE), list(1032, 1032) )
expect_equal( convert_kanji(list(kanjivec_ref_fuji, kanjivec_ref_fuji), "character", simplify=FALSE), list("藤", "藤") )
expect_equal( convert_kanji(list(kanjivec_ref_fuji, kanjivec_ref_fuji), "hexmode", simplify=FALSE), list(as.hexmode("85e4"), as.hexmode("85e4")) )
skip_if_not_installed("kanjistat.data")
# output = "all"
sublist <- list(index=1032, character="藤", hexmode=as.hexmode("85e4"), kanjivec=kanjivec_ref_fuji)
expect_equal( convert_kanji(list("藤","藤"), simplify=FALSE), list(sublist, sublist),
ignore_attr=c("call", "kanjistat_version") )
# test only the second one also *without* list
expect_equal( convert_kanji(list(1032,1032), "kanjivec", simplify=FALSE), list(kanjivec_ref_fuji, kanjivec_ref_fuji),
ignore_attr=c("call", "kanjistat_version") )
expect_equal( convert_kanji(c("藤","藤"), "kanjivec", simplify=FALSE), list(kanjivec_ref_fuji, kanjivec_ref_fuji),
ignore_attr=c("call", "kanjistat_version") )
expect_equal( convert_kanji(list("藤","藤"), "kanjivec", simplify=FALSE), list(kanjivec_ref_fuji, kanjivec_ref_fuji),
ignore_attr=c("call", "kanjistat_version") )
expect_equal( convert_kanji(list(as.hexmode("85e4"), as.hexmode("85e4")), "kanjivec", simplify=FALSE), list(kanjivec_ref_fuji, kanjivec_ref_fuji),
ignore_attr=c("call", "kanjistat_version") )
expect_equal( convert_kanji(list("0x85e4","0x85e4"), "kanjivec", simplify=FALSE), list(kanjivec_ref_fuji, kanjivec_ref_fuji),
ignore_attr=c("call", "kanjistat_version") )
expect_equal( convert_kanji(list(kanjivec_ref_fuji, kanjivec_ref_fuji), "kanjivec", simplify=FALSE), list(kanjivec_ref_fuji, kanjivec_ref_fuji),
ignore_attr=c("call", "kanjistat_version") )
})
test_that("lookup readmean", {
withr::local_options(width = 68)
expect_snapshot( lookup(c("晴", "曇", "雨")) )
expect_snapshot( lookup(c("膵天𤢖")) ) # in particular this line may change with kanjidic updates
})
test_that("lookup basic and morphologic", {
tib1 <- lookup(c("憬", "学", "閲"), what="basic")
expect_equal( tib1, kbase[c(2126, 17,1957),])
tib2 <- lookup(c("憬", "学", "閲"), what="morphologic")
expect_equal( tib2, kmorph[c(2126, 17,1957),])
})
test_that("kanjiplot", {
# for later: testthat::expect_snapshot_file has no pdf support (yet?!)
# (the test always fails although the pdfs look the same, probably some time stamp or similar)
# save_pdf <- function(kanji) {
# path <- tempfile("koucha", fileext = ".pdf")
# plotkanji(kanji, device="pdf", family = "wqy-microhei", factor=10, height = 1.8, file=path)
# return(path)
# }
# expect_snapshot_file(save_pdf("紅"), "koucha.pdf")
skip_on_os("windows")
skip_if_not(capabilities("cairo")) # for svg so that it runs and for png for reproducibility
skip_on_cran()
skip_on_ci() # (it seems on some systems a border is added!!?? --> fix)
save_svg <- function(kanji) {
path <- tempfile("koucha", fileext = ".svg")
plotkanji(kanji, device = "svg", family = "wqy-microhei", factor = 10, height = 1.8,
filename=path, antialias = "gray")
return(path)
}
expect_snapshot_file(save_svg("紅"), "koucha.svg")
save_png <- function(kanji) {
path <- tempfile("koucha", fileext = ".png")
plotkanji(kanji, device = "png", family = "wqy-microhei", factor = 5, height = 64,
filename = path, antialias = "gray")
return(path)
}
expect_snapshot_file(save_png("紅"), "koucha.png")
})
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.