about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorbptato <nincsnevem662@gmail.com>2023-11-18 18:44:47 +0100
committerbptato <nincsnevem662@gmail.com>2023-11-18 18:44:47 +0100
commit26be68a285e35ca8c9eb886e75b75d2a3ac6af7e (patch)
treedabc8f426e92f00a33b0f80a7fe312ff61002f6c
parenta911427d9590ae05049b35c8a5fb65a91d77069e (diff)
downloadchawan-26be68a285e35ca8c9eb886e75b75d2a3ac6af7e.tar.gz
tests/tree: fix comment handling, log data
-rw-r--r--tests/tree.nim42
1 files changed, 16 insertions, 26 deletions
diff --git a/tests/tree.nim b/tests/tree.nim
index 0db9db26..18b138d3 100644
--- a/tests/tree.nim
+++ b/tests/tree.nim
@@ -114,32 +114,11 @@ proc parseDoctype(s: string): DocumentType =
   return doctype
 
 proc parseComment(s: string): Comment =
-  type CommentState = enum
-    NORMAL, SINGLE_DASH, DOUBLE_DASH
-  var state = NORMAL
-  let comment = Comment(nodeType: COMMENT_NODE)
-  var i = "<!--".len
-  for c in s:
-    case state
-    of NORMAL:
-      if c == '-':
-        state = SINGLE_DASH
-      else:
-        comment.data &= c
-    of SINGLE_DASH:
-      if c == '-':
-        state = DOUBLE_DASH
-      else:
-        comment.data &= '-'
-        comment.data &= c
-    of DOUBLE_DASH:
-      if c == '>':
-        break
-      else:
-        comment.data &= '-'
-        comment.data &= '-'
-        comment.data &= c
-  return comment
+  assert s.startsWith("<!-- ") and s.endsWith(" -->")
+  return Comment(
+    nodeType: COMMENT_NODE,
+    data: s["<!-- ".len .. ^(" -->".len + 1)]
+  )
 
 
 proc parseTestDocument(ctx: var TCTestParser): Document =
@@ -269,6 +248,17 @@ proc runTests(filename: string) =
   for test in tests:
     let ss = newStringStream(test.data)
     let pdoc = parseHTML(ss)
+    #[
+    var ins = ""
+    for x in test.document.childList:
+      ins &= $x & '\n'
+    var ps = ""
+    for x in pdoc.childList:
+      ps &= $x & '\n'
+    echo "indoc ", $ins
+    echo "pdoc ", $ps
+    ]#
+    echo "data ", test.data
     checkTest(test.document, pdoc)
 
 test "tests1":