summaryrefslogtreecommitdiff
path: root/test/data/parse
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2009-01-12 23:17:04 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2009-01-12 23:17:04 +0000
commit144a0b3ec3707d9017beca6e78e564f0d68a3e29 (patch)
tree4e0371a77ab38b85d3df19d76d2c8b31d8dd0b21 /test/data/parse
parentd2305319c1d21d59f711b32a538290dfdceef328 (diff)
downloadlibcss-144a0b3ec3707d9017beca6e78e564f0d68a3e29.tar.gz
libcss-144a0b3ec3707d9017beca6e78e564f0d68a3e29.tar.bz2
Document testdata format
svn path=/trunk/libcss/; revision=6053
Diffstat (limited to 'test/data/parse')
-rw-r--r--test/data/parse/README48
1 files changed, 48 insertions, 0 deletions
diff --git a/test/data/parse/README b/test/data/parse/README
new file mode 100644
index 0000000..14edf37
--- /dev/null
+++ b/test/data/parse/README
@@ -0,0 +1,48 @@
+Parser testcases
+================
+
+Format
+------
+
+#data
+<css source data>
+#errors
+<list of expected errors, with line/col offsets> (ignored at present)
+#expected
+<rule list, as below>
+#reset
+
+Format of rule list
+-------------------
+
+ line ::= rule | bytecode
+ rule ::= '| ' type ' '+ name
+ name ::= .+
+ type ::= [0-9]+
+ bytecode ::= '| ' ' '* hexnum (' '+ hexnum)*
+ hexnum ::= '0x' [0-9a-fA-F]+
+
+Type corresponds to css_rule_type. Consult the library sources for the values.
+
+Bytecode may be split over multiple lines for readability. All bytecode is
+associated with the most-recently-declared rule.
+
+Example
+-------
+
+#data
+* { color: #ff0000 }
+#errors
+#expected
+| 1 *
+| 0x0200000f 0xff000000
+#reset
+
+TODO
+----
+
+ + Permit nesting of rules (for nested block support)
+ + There's no way of flagging a pointer in the bytecode (ideally, this will
+ be defined in such a way that we'll be able to validate the data pointed
+ to, too)
+