1context("xml_name")
2
3test_that("qualified names returned when ns given", {
4  x <- read_xml("ns-multiple-default.xml")
5  ns <- xml_ns(x)
6
7  bars <- xml_children(xml_children(x))
8  expect_equal(xml_name(bars), c("bar", "bar"))
9  expect_equal(xml_name(bars, ns), c("d1:bar", "d2:bar"))
10})
11
12test_that("error if missing ns spec", {
13  x <- read_xml("ns-multiple-default.xml")
14  ns <- xml_ns(x)[1]
15
16  bars <- xml_children(xml_children(x))
17  expect_error(xml_name(bars, ns), "Couldn't find prefix")
18})
19
20test_that("xml_name<- modifies the name", {
21  x <- read_xml("ns-multiple-default.xml")
22  ns <- xml_ns(x)
23
24  bars <- xml_children(xml_children(x))
25  bar <- bars[[1]]
26
27  xml_name(bar) <- "foo"
28  expect_equal(xml_name(bar), "foo")
29  expect_equal(xml_name(bar, ns), "d1:foo")
30
31  # ns is ignored
32  xml_name(bar, ns) <- "bar"
33  expect_equal(xml_name(bar), "bar")
34  expect_equal(xml_name(bar, ns), "d1:bar")
35
36  xml_name(bars) <- "foo"
37  expect_equal(xml_name(bars), c("foo", "foo"))
38
39  old_mss <- mss <- xml_missing()
40  xml_name(mss) <- "foo"
41  expect_identical(old_mss, mss)
42})
43
44test_that("xml_set_name modifies the name", {
45  x <- read_xml("ns-multiple-default.xml")
46  ns <- xml_ns(x)
47
48  bars <- xml_children(xml_children(x))
49  bar <- bars[[1]]
50
51  xml_set_name(bar, "foo")
52  expect_equal(xml_name(bar), "foo")
53  expect_equal(xml_name(bar, ns), "d1:foo")
54
55  # ns is ignored
56  xml_set_name(bar, "bar", ns)
57  expect_equal(xml_name(bar), "bar")
58  expect_equal(xml_name(bar, ns), "d1:bar")
59
60  xml_set_name(bars, "foo")
61  expect_equal(xml_name(bars), c("foo", "foo"))
62
63  old_mss <- mss <- xml_missing()
64  xml_set_name(mss, "foo")
65  expect_identical(old_mss, mss)
66})
67