Hi folks,
I am writing SUnit tests for my PEG grammar and I am not fluent in Streams. I have my first test that checks the structure of an HTML UnorderedList. The output of the parse run is an XMLElement. *testListUnordered <timeout: 10> | xmlElement actor ios| actor := PEGWikiMediaGeneratorTables new. actor transcripton: false. xmlElement := parser parse: 'UnorderedList' stream: (self listUnordered) reading actor: actor. ios := ReadWriteStream on:''. xmlElement printOn: ios. self assert: ((ios contents) = '<ul><li> one</li><ul><li> two</li><ul><li> three</li><ul><li> four</li><li> four</li><ul><li> five</li><li> five</li><li> five</li></ul><li> four</li><li> four</li></ul><li> three</li><li> three</li></ul><li> two</li></ul></ul>') . * Is there a simpler way, minus the Stream to get the "contents" of the XMLElement? thanks in advance. -- Sent from: http://forum.world.st/Squeak-Beginners-f107673.html _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
Not actually sure what your problem is, but are you aware of String class >> #streamContents:? :-)
Provided that XMLElement follows the usual conventions, you should also be able to simply say
Hope that helps :-)
Best,
Christoph
Von: Beginners <[hidden email]> im Auftrag von tty <[hidden email]>
Gesendet: Mittwoch, 8. April 2020 17:01 Uhr An: [hidden email] Betreff: [Newbies] Elegant way to tests an XMLElement's "string"` Hi folks,
I am writing SUnit tests for my PEG grammar and I am not fluent in Streams. I have my first test that checks the structure of an HTML UnorderedList. The output of the parse run is an XMLElement. *testListUnordered <timeout: 10> | xmlElement actor ios| actor := PEGWikiMediaGeneratorTables new. actor transcripton: false. xmlElement := parser parse: 'UnorderedList' stream: (self listUnordered) reading actor: actor. ios := ReadWriteStream on:''. xmlElement printOn: ios. self assert: ((ios contents) = '<ul><li> one</li><ul><li> two</li><ul><li> three</li><ul><li> four</li><li> four</li><ul><li> five</li><li> five</li><li> five</li></ul><li> four</li><li> four</li></ul><li> three</li><li> three</li></ul><li> two</li></ul></ul>') . * Is there a simpler way, minus the Stream to get the "contents" of the XMLElement? thanks in advance. -- Sent from: http://forum.world.st/Squeak-Beginners-f107673.html _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners
Carpe Squeak!
|
Yes, looks like #printOn: in XMLElement has everything in place for this scenario: self assert: '<ul><li> one</li><ul><li> two</li><ul><li> three</li><ul><li> four</li><li> four</li><ul><li> five</li><li> five</li><li> five</li></ul><li> four</li><li> four</li></ul><li> three</li><li> three</li></ul><li> two</li></ul></ul> equals: xmlElement printString. Best, Marcel
_______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
In reply to this post by Christoph Thiede
Christoph and Marcel
Thank you very much. Just what I was looking for. cheers, t -- Sent from: http://forum.world.st/Squeak-Beginners-f107673.html _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
Free forum by Nabble | Edit this page |