The Meson Build System
http://mesonbuild.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.5 KiB
59 lines
1.5 KiB
module test; |
|
|
|
// testing import dirs |
|
import xlsx; |
|
|
|
// dependency of xlsx |
|
import dxml.dom; |
|
|
|
const xml = "<!-- comment -->\n" ~ |
|
"<root>\n" ~ |
|
" <foo>some text<whatever/></foo>\n" ~ |
|
" <bar/>\n" ~ |
|
" <baz></baz>\n" ~ |
|
"</root>"; |
|
|
|
int main() |
|
{ |
|
// testing versions |
|
version (Have_dxml) |
|
{ |
|
import std.range.primitives : empty; |
|
|
|
auto dom = parseDOM(xml); |
|
assert(dom.type == EntityType.elementStart); |
|
assert(dom.name.empty); |
|
assert(dom.children.length == 2); |
|
|
|
assert(dom.children[0].type == EntityType.comment); |
|
assert(dom.children[0].text == " comment "); |
|
|
|
auto root = dom.children[1]; |
|
assert(root.type == EntityType.elementStart); |
|
assert(root.name == "root"); |
|
assert(root.children.length == 3); |
|
|
|
auto foo = root.children[0]; |
|
assert(foo.type == EntityType.elementStart); |
|
assert(foo.name == "foo"); |
|
assert(foo.children.length == 2); |
|
|
|
assert(foo.children[0].type == EntityType.text); |
|
assert(foo.children[0].text == "some text"); |
|
|
|
assert(foo.children[1].type == EntityType.elementEmpty); |
|
assert(foo.children[1].name == "whatever"); |
|
|
|
assert(root.children[1].type == EntityType.elementEmpty); |
|
assert(root.children[1].name == "bar"); |
|
|
|
assert(root.children[2].type == EntityType.elementStart); |
|
assert(root.children[2].name == "baz"); |
|
assert(root.children[2].children.length == 0); |
|
return 0; |
|
} |
|
else |
|
{ |
|
return 1; |
|
} |
|
}
|
|
|