parent
04fca24355
commit
cc880d3ad5
2 changed files with 93 additions and 0 deletions
@ -0,0 +1,34 @@ |
||||
project('dub-with-deps-example', ['c', 'd']) |
||||
|
||||
dub_exe = find_program('dub', required : false) |
||||
if not dub_exe.found() |
||||
error('MESON_SKIP_TEST: Dub not found') |
||||
endif |
||||
|
||||
if meson.get_compiler('d').get_id() == 'gcc' |
||||
error('MESON_SKIP_TEST: can\'t build dependencies with GDC') |
||||
elif meson.get_compiler('d').get_id() == 'llvm' |
||||
dc = 'ldc2' |
||||
elif meson.get_compiler('d').get_id() == 'dmd' |
||||
dc = 'dmd' |
||||
endif |
||||
|
||||
arch = host_machine.cpu_family() |
||||
|
||||
if host_machine.system() == 'windows' |
||||
# check if toolchain is 32bits |
||||
sz = meson.get_compiler('c').sizeof('void*') |
||||
if arch == 'x86' or sz == 4 |
||||
arch = 'x86_mscoff' |
||||
endif |
||||
endif |
||||
|
||||
run_command('dub', 'run', 'dub-build-deep', '--yes', '--', 'xlsx', '--compiler', dc, '--arch', arch, |
||||
check: true, |
||||
) |
||||
|
||||
xlsx_dep = dependency('xlsx', method: 'dub') |
||||
|
||||
test_exe = executable('test-test6', 'test.d', dependencies: xlsx_dep) |
||||
|
||||
test('test dub with deps', test_exe) |
@ -0,0 +1,59 @@ |
||||
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; |
||||
} |
||||
} |
Loading…
Reference in new issue