Login  Register

Re: Elegant way to tests an XMLElement's "string"`

Posted by Christoph Thiede on Apr 18, 2020; 1:10pm
URL: https://forum.world.st/Elegant-way-to-tests-an-XMLElement-s-string-tp5114676p5115144.html

Not actually sure what your problem is, but are you aware of String class >> #streamContents:? :-)


io := String streamContents: [:ios |

    xmlElement printOn: ios].


Provided that XMLElement follows the usual conventions, you should also be able to simply say

io := xmlElement printString.

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!