test_that("read_xml", {
xml <- 'A & B'
# TODO add test for isfile
# and do some actual tests
expect_silent(z <- readXMLPtr(xml, isfile = FALSE, escapes = FALSE, declaration = FALSE, whitespace = TRUE, empty_tags = FALSE, skip_control = TRUE))
expect_silent(z <- readXMLPtr(xml, isfile = FALSE, escapes = FALSE, declaration = TRUE, whitespace = TRUE, empty_tags = FALSE, skip_control = TRUE))
expect_silent(z <- readXMLPtr(xml, isfile = FALSE, escapes = TRUE, declaration = FALSE, whitespace = TRUE, empty_tags = FALSE, skip_control = TRUE))
expect_silent(z <- readXMLPtr(xml, isfile = FALSE, escapes = TRUE, declaration = TRUE, whitespace = TRUE, empty_tags = FALSE, skip_control = TRUE))
exp <- "A & B"
expect_equal(exp, readXML(xml, isfile = FALSE, escapes = FALSE, declaration = FALSE, whitespace = TRUE, empty_tags = FALSE, skip_control = TRUE))
exp <- "A & B"
expect_equal(exp, readXML(xml, isfile = FALSE, escapes = FALSE, declaration = TRUE, whitespace = TRUE, empty_tags = FALSE, skip_control = TRUE))
exp <- "A & B"
expect_equal(exp, readXML(xml, isfile = FALSE, escapes = TRUE, declaration = FALSE, whitespace = TRUE, empty_tags = FALSE, skip_control = TRUE))
exp <- "A & B"
expect_equal(exp, readXML(xml, isfile = FALSE, escapes = TRUE, declaration = TRUE, whitespace = TRUE, empty_tags = FALSE, skip_control = TRUE))
xml <- ""
expect_error(readXMLPtr(xml, isfile = FALSE, escapes = FALSE, declaration = FALSE, whitespace = TRUE, empty_tags = FALSE, skip_control = TRUE))
expect_error(readXML(xml, isfile = FALSE, escapes = FALSE, declaration = FALSE, whitespace = TRUE, empty_tags = FALSE, skip_control = TRUE))
})
test_that("xml_node", {
xml_str <- ""
xml <- read_xml(xml_str)
exp <- xml_str
expect_equal("a", getXMLXPtrName1(xml))
expect_equal(exp, getXMLXPtr0(xml))
expect_equal(exp, getXMLXPtr1(xml, "a"))
exp <- ""
expect_equal(exp, getXMLXPtr2(xml, "a", "b"))
exp <- ""
expect_equal(exp, getXMLXPtr3(xml, "a", "b", "c"))
# bit cheating, this test returns the same, but not the actual feature of "*"
expect_equal(exp, unkgetXMLXPtr3(xml, "a", "c"))
})
test_that("xml_value", {
exp <- "1"
xml_str <- "1"
xml <- read_xml(xml_str)
expect_equal(exp, getXMLXPtr1val(xml, "a"))
xml_str <- "1"
xml <- read_xml(xml_str)
expect_equal(exp, getXMLXPtr2val(xml, "a", "b"))
xml_str <- "1"
xml <- read_xml(xml_str)
expect_equal(exp, getXMLXPtr3val(xml, "a", "b", "c"))
})
test_that("xml_attr", {
exp <- list(c(a = "1"))
xml_str <- ""
xml <- read_xml(xml_str)
expect_equal(getXMLXPtr1attr(xml, "a"), exp)
xml_str <- ""
xml <- read_xml(xml_str)
expect_equal(getXMLXPtr2attr(xml, "b", "a"), exp)
xml_str <- ""
xml <- read_xml(xml_str)
expect_equal(getXMLXPtr3attr(xml, "c", "b", "a"), exp)
})
test_that("xml_append_child", {
xml_node <- read_xml("")
xml_child <- read_xml("&")
exp <- "&"
expect_equal(xml_append_child1(xml_node, xml_child, pointer = FALSE), exp)
# xml_node sets the flags for both
xml_node <- read_xml("", escapes = TRUE)
xml_child <- read_xml("&")
exp <- "&"
expect_equal(xml_append_child1(xml_node, xml_child, pointer = FALSE), exp)
xml_node <- ""
xml_child <- read_xml("")
xml_node <- xml_append_child1(read_xml(xml_node), xml_child, pointer = FALSE)
expect_equal(xml_node, "")
xml_node <- xml_append_child2(read_xml(xml_node), xml_child, level1 = "b", pointer = FALSE)
expect_equal(xml_node, "")
xml_node <- xml_append_child3(read_xml(xml_node), read_xml(""), level1 = "b", level2 = "c", pointer = FALSE)
expect_equal(xml_node, "")
# check that escapes does not throw a warning
xml_node <- ""
xml_child <- read_xml("a&b", escapes = FALSE)
xml_node <- xml_append_child1(read_xml(xml_node, escapes = TRUE), xml_child, pointer = FALSE)
expect_equal(xml_node, "a&b")
xml_node <- xml_append_child2(read_xml(xml_node, escapes = TRUE), xml_child, level1 = "b", pointer = FALSE)
expect_equal(xml_node, "a&ba&b")
xml_node <- xml_append_child3(read_xml(xml_node, escapes = TRUE), read_xml(""), level1 = "b", level2 = "c", pointer = FALSE)
expect_equal(xml_node, "a&ba&b")
# check that pointer is valid
expect_s3_class(xml_append_child1(read_xml(xml_node), xml_child, pointer = TRUE), "pugi_xml")
expect_s3_class(xml_append_child1(read_xml(xml_node), xml_child, pointer = TRUE), "pugi_xml")
expect_s3_class(xml_append_child2(read_xml(xml_node), xml_child, level1 = "a", pointer = TRUE), "pugi_xml")
expect_s3_class(xml_append_child2(read_xml(xml_node), xml_child, level1 = "a", pointer = TRUE), "pugi_xml")
expect_s3_class(xml_append_child3(read_xml(xml_node), xml_child, level1 = "a", level2 = "b", pointer = TRUE), "pugi_xml")
expect_s3_class(xml_append_child3(read_xml(xml_node), xml_child, level1 = "a", level2 = "b", pointer = TRUE), "pugi_xml")
})
test_that("set_sst", {
exp <- "a"
expect_equal(exp, set_sst("a"))
})
test_that("col2int and int2col", {
test <- "B"
x <- col2int(test)
that <- int2col(x)
expect_equal(test, that)
test <- "AABWAWD"
x <- col2int(test)
that <- int2col(x)
expect_equal(test, that)
x <- col_to_int(test)
that <- ox_int_to_col(x)
expect_equal(test, that)
})
test_that("is_xml", {
expect_true(is_xml(""))
expect_false(is_xml("a"))
})
test_that("getXMLPtr1con", {
xml <- ""
got <- getXMLPtr1con(read_xml(xml))
exp <- c("", "", "")
expect_equal(got, exp)
})
test_that("write_xmlPtr", {
xml <- read_xml("")
temp <- tempfile(fileext = ".xml")
expect_silent(write_xmlPtr(xml, temp))
skip_on_cran()
expect_error(write_xmlPtr(xml, paste0("/", random_string(), "/test.xml")), "could not save file")
})