Tcl Library Source Code

View Ticket
Login
Ticket UUID: 3606619
Title: test fail - pt-peg-to-json-3* *-ultracompact
Type: Bug Version: None
Submitter: jlec Created on: 2013-03-02 15:01:56
Subsystem: pt (parsetools) Assigned To: andreas_kupries
Priority: 5 Medium Severity:
Status: Closed Last Modified: 2013-03-05 13:57:25
Resolution: Fixed Closed By: andreas_kupries
    Closed on: 2013-03-05 06:57:25
Description:
==== pt-peg-to-json-3.0.0 pt::peg::to::json, basic arithmetic-ultracompact, ok FAILED
==== Contents of test case:

    pt::peg::to::json convert $data
running 

tclsh8.6 sak.tcl test run -v pt

on 4e66a372368bfccb80d68fa6cc80f58e205e0c2c I get following error. Same hapens for 1.15 release.


---- Result was:
{\"pt::grammar::peg\":{\"rules\":{\"AddOp\":{\"is\":\"/ {t -} {t +}\",\"mode\":\"value\"},\"Digit\":{\"is\":\"/ {t 0} {t 1} {t 2} {t 3} {t 4} {t 5} {t 6} {t 7} {t 8} {t 9}\",\"mode\":\"value\"},\"Expression\":{\"is\":\"/ {x {t (} {n Expression} {t )}} {x {n Factor} {* {x {n MulOp} {n Factor}}}}\",\"mode\":\"value\"},\"Factor\":{\"is\":\"x {n Term} {* {x {n AddOp} {n Term}}}\",\"mode\":\"value\"},\"MulOp\":{\"is\":\"/ {t *} {t /}\",\"mode\":\"value\"},\"Number\":{\"is\":\"x {? {n Sign}} {+ {n Digit}}\",\"mode\":\"value\"},\"Sign\":{\"is\":\"/ {t -} {t +}\",\"mode\":\"value\"},\"Term\":{\"is\":\"n Number\",\"mode\":\"value\"}},\"start\":\"n Expression\"}}
---- Result should have been (exact matching):
{\"pt::grammar::peg\":{\"rules\":{\"AddOp\":{\"is\":\"\\/ {t -} {t +}\",\"mode\":\"value\"},\"Digit\":{\"is\":\"\\/ {t 0} {t 1} {t 2} {t 3} {t 4} {t 5} {t 6} {t 7} {t 8} {t 9}\",\"mode\":\"value\"},\"Expression\":{\"is\":\"\\/ {x {t (} {n Expression} {t )}} {x {n Factor} {* {x {n MulOp} {n Factor}}}}\",\"mode\":\"value\"},\"Factor\":{\"is\":\"x {n Term} {* {x {n AddOp} {n Term}}}\",\"mode\":\"value\"},\"MulOp\":{\"is\":\"\\/ {t *} {t \\/}\",\"mode\":\"value\"},\"Number\":{\"is\":\"x {? {n Sign}} {+ {n Digit}}\",\"mode\":\"value\"},\"Sign\":{\"is\":\"\\/ {t -} {t +}\",\"mode\":\"value\"},\"Term\":{\"is\":\"n Number\",\"mode\":\"value\"}},\"start\":\"n Expression\"}}
==== pt-peg-to-json-3.0.0 FAILED
User Comments: andreas_kupries added on 2013-03-05 13:57:25:

allow_comments - 1

Committed: http://core.tcl.tk/tcllib/info/83160268df
Pushed.

andreas_kupries added on 2013-03-05 10:55:49:
Hm ... Oh! For Tcllib 1.15 I modified the "json::write" package to not quote "/" characters as "\/" anymore.
While legal as per JSON syntax it is not really necessary.

Compare {\"is\":\"/
Versus  {\"is\":\"\\/

This is "just" a case of the testsuite requiring an update. Not a bug in the package.
And me forgetting to run the full testsuite after all the changes going into the release.

jlec added on 2013-03-02 22:01:57:

File Added - 461136: pt.log.xz

Attachments: