From: William D. <wdo...@us...> - 2006-08-23 16:18:46
|
Update of /cvsroot/flexml/flexml/testbed In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv26672 Modified Files: Makefile Added Files: mixed-enumatt.act mixed-enumatt.dtd mixed-enumatt.in mixed-enumatt.stdout.expected Log Message: Add new test for dtds with enumenrated attributes. --- NEW FILE: mixed-enumatt.act --- <!DOCTYPE actions SYSTEM "flexml-act.dtd"> <actions> <top><![CDATA[ #include "stdio.h" ]]></top> <start tag='reqatt'><![CDATA[ printf("reqatt att: (%s)\n", {att} == {att=val1} ? "val1" : {att} == {att=val2} ? "val2" : {att} == {!att} ? "no att given" : "error in attribute"); ]]></start> <start tag='defatt'><![CDATA[ printf("defatt att: (%s)\n", {att} == {att=val1} ? "val1" : {att} == {att=val2} ? "val2" : {att} == {!att} ? "no att given" : "error in attribute"); ]]></start> <start tag='optatt'><![CDATA[ printf("optatt att: (%s)\n", {att} == {att=val1} ? "val1" : {att} == {att=val2} ? "val2" : {att} == {!att} ? "no att given" : "error in attribute"); ]]></start> <end tag='reqatt'><![CDATA[ printf("reqatt pcdata: %s\n", {#PCDATA}); ]]></end> <end tag='defatt'><![CDATA[ printf("defatt pcdata: %s\n", {#PCDATA}); ]]></end> <end tag='optatt'><![CDATA[ printf("optatt pcdata: %s\n", {#PCDATA}); ]]></end> <end tag='foo'><![CDATA[ printf("foo pcdata: %s\n", {#PCDATA}); ]]></end> <main><![CDATA[ int main(int argc, char **argv) { int retval = yylex(); printf("retval = %d\n", retval); return retval; } ]]></main> </actions> --- NEW FILE: mixed-enumatt.in --- <!DOCTYPE foo SYSTEM "mixed-enumatt.dtd"> <foo>foo start data <reqatt att="val1">reqatt data</reqatt> <defatt att="val1">defatt data</defatt> <defatt>defatt data</defatt> <optatt att="val1">optatt data</optatt> <optatt>optatt data</optatt> foo end data.</foo> Index: Makefile =================================================================== RCS file: /cvsroot/flexml/flexml/testbed/Makefile,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Makefile 21 Aug 2006 18:27:30 -0000 1.3 +++ Makefile 23 Aug 2006 16:18:43 -0000 1.4 @@ -30,7 +30,7 @@ CFLAGS = -O2 -g #FLEXDEBUG = -d -FLEXML = ../flexml -s ../skel +FLEXML = ../flexml -s ../skel -T../flexml-act .PHONY : test .PHONY : clean @@ -39,12 +39,13 @@ # test definitions -- add new tests here ##################################################### -EXES = mixed1 mixed-stratt +EXES = mixed1 mixed-stratt mixed-enumatt INTERMEDIATES = $(EXES) $(EXES:%=%.c) $(EXES:%=%.l) UNIT_TESTS = \ test_mixed1 \ - test_mixed-stratt + test_mixed-stratt \ + test_mixed-enumatt test : $(UNIT_TESTS) @@ -57,6 +58,10 @@ test_mixed-stratt_cmd = ./mixed-stratt < mixed-stratt.in test_mixed-stratt_deps = mixed-stratt mixed-stratt.in +# Test mixed-enumatt (mixed content + enumerated attribute) +test_mixed-enumatt_cmd = ./mixed-enumatt < mixed-enumatt.in +test_mixed-enumatt_deps = mixed-enumatt mixed-enumatt.in + ##################################################### # test build rules -- add new build rules here ##################################################### @@ -72,6 +77,11 @@ $(FLEX) -s -L -t mixed-stratt.l > mixed-stratt.c $(CC) $(CFLAGS) -o $@ mixed-stratt.c +mixed-enumatt: mixed-enumatt.dtd mixed-enumatt.act + $(FLEXML) -b 1000 -A -amixed-enumatt.act mixed-enumatt.dtd + $(FLEX) -s -L -t mixed-enumatt.l > mixed-enumatt.c + $(CC) $(CFLAGS) -o $@ mixed-enumatt.c + ##################################################### # test infrastructure -- do not modify for new tests --- NEW FILE: mixed-enumatt.stdout.expected --- reqatt att: (val1) reqatt pcdata: reqatt data defatt att: (val1) defatt pcdata: defatt data defatt att: (val2) defatt pcdata: defatt data optatt att: (val1) optatt pcdata: optatt data optatt att: (no att given) optatt pcdata: optatt data foo pcdata: foo start data foo end data. retval = 0 --- NEW FILE: mixed-enumatt.dtd --- <!ELEMENT foo (#PCDATA|reqatt|defatt|optatt)*> <!ELEMENT reqatt (#PCDATA)> <!ATTLIST reqatt att (val1 | val2 ) #REQUIRED> <!ELEMENT defatt (#PCDATA)> <!ATTLIST defatt att (val1 | val2 ) 'val2'> <!ELEMENT optatt (#PCDATA)> <!ATTLIST optatt att (val1 | val2 ) #IMPLIED> |