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>
|