1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
|
use t::GmakeDOM;
plan tests => blocks() * 2;
run_tests;
__DATA__
=== TEST 1: the include directive
--- src
include foo *.mk $(bar)
--- dom
MDOM::Document::Gmake
MDOM::Directive
MDOM::Token::Bare 'include'
MDOM::Token::Whitespace ' '
MDOM::Token::Bare 'foo'
MDOM::Token::Whitespace ' '
MDOM::Token::Bare '*.mk'
MDOM::Token::Whitespace ' '
MDOM::Token::Interpolation '$(bar)'
MDOM::Token::Whitespace '\n'
=== TEST 2: multi-line include directive
--- src
include foo *.mk $(bar) \
blah blah
--- dom
MDOM::Document::Gmake
MDOM::Directive
MDOM::Token::Bare 'include'
MDOM::Token::Whitespace ' '
MDOM::Token::Bare 'foo'
MDOM::Token::Whitespace ' '
MDOM::Token::Bare '*.mk'
MDOM::Token::Whitespace ' '
MDOM::Token::Interpolation '$(bar)'
MDOM::Token::Whitespace ' '
MDOM::Token::Continuation '\\n'
MDOM::Token::Whitespace ' '
MDOM::Token::Bare 'blah'
MDOM::Token::Whitespace ' '
MDOM::Token::Bare 'blah'
MDOM::Token::Whitespace '\n'
=== TEST 3: the -include directive
--- src
-include filenames...
--- dom
MDOM::Document::Gmake
MDOM::Directive
MDOM::Token::Modifier '-'
MDOM::Token::Bare 'include'
MDOM::Token::Whitespace ' '
MDOM::Token::Bare 'filenames...'
MDOM::Token::Whitespace '\n'
=== TEST 4: multi-line -include directive
--- src
-include foo bar \
$@ $^
--- dom
MDOM::Document::Gmake
MDOM::Directive
MDOM::Token::Modifier '-'
MDOM::Token::Bare 'include'
MDOM::Token::Whitespace ' '
MDOM::Token::Bare 'foo'
MDOM::Token::Whitespace ' '
MDOM::Token::Bare 'bar'
MDOM::Token::Whitespace ' '
MDOM::Token::Continuation '\\n'
MDOM::Token::Whitespace ' '
MDOM::Token::Interpolation '$@'
MDOM::Token::Whitespace ' '
MDOM::Token::Interpolation '$^'
MDOM::Token::Whitespace '\n'
=== TEST 5: sinclude directive
sinclude is another name for -include
--- src
sinclude %.c src
--- dom
M::D::G
M::D
M::T::B 'sinclude'
M::T::W ' '
M::T::B '%.c'
M::T::W ' '
M::T::B 'src'
M::T::W '\n'
|