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
|
use t::GmakeDOM;
plan tests => blocks() * 2;
run_tests;
__DATA__
=== TEST 1: static pattern rules with ";" command
--- src
foo.o bar.o: %.o: %.c ; echo blah
%.c: ; echo $@
--- dom
MDOM::Document::Gmake
MDOM::Rule::StaticPattern
MDOM::Token::Bare 'foo.o'
MDOM::Token::Whitespace ' '
MDOM::Token::Bare 'bar.o'
MDOM::Token::Separator ':'
MDOM::Token::Whitespace ' '
MDOM::Token::Bare '%.o'
MDOM::Token::Separator ':'
MDOM::Token::Whitespace ' '
MDOM::Token::Bare '%.c'
MDOM::Token::Whitespace ' '
MDOM::Command
MDOM::Token::Separator ';'
MDOM::Token::Whitespace ' '
MDOM::Token::Bare 'echo blah'
MDOM::Token::Whitespace '\n'
MDOM::Token::Whitespace '\n'
MDOM::Rule::Simple
MDOM::Token::Bare '%.c'
MDOM::Token::Separator ':'
MDOM::Token::Whitespace ' '
MDOM::Command
MDOM::Token::Separator ';'
MDOM::Token::Whitespace ' '
MDOM::Token::Bare 'echo '
MDOM::Token::Interpolation '$@'
MDOM::Token::Whitespace '\n'
=== TEST 2: static pattern rules without ";" commands
--- src
foo.o bar.o: %.o: %.c
@echo blah
--- dom
MDOM::Document::Gmake
MDOM::Rule::StaticPattern
MDOM::Token::Bare 'foo.o'
MDOM::Token::Whitespace ' '
MDOM::Token::Bare 'bar.o'
MDOM::Token::Separator ':'
MDOM::Token::Whitespace ' '
MDOM::Token::Bare '%.o'
MDOM::Token::Separator ':'
MDOM::Token::Whitespace ' '
MDOM::Token::Bare '%.c'
MDOM::Token::Whitespace '\n'
MDOM::Command
MDOM::Token::Separator '\t'
MDOM::Token::Modifier '@'
MDOM::Token::Bare 'echo blah'
MDOM::Token::Whitespace '\n'
|