diff options
Diffstat (limited to 't/01-basic.t')
-rw-r--r-- | t/01-basic.t | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/t/01-basic.t b/t/01-basic.t new file mode 100644 index 0000000..94ba201 --- /dev/null +++ b/t/01-basic.t @@ -0,0 +1,79 @@ +use Test::More tests => 10; +use strict; +use warnings; +use Text::Restructured; +use Text::Restructured::Writer::LibXML; +use XML::LibXML::XPathContext; + +my $input=<<'EOF'; +====== + Test +====== +:Author: dakkar + +paragrafo + +link_ + +.. _link: /gino/pino/ + +mathml: :mathml:`x^2` + +.. mathml:: + + (x^2)/(y^2) + +pre:: + + gino pino + rino + +normale + +EOF + +my $opts={ + D => { + generator => 0, + 'source-link' => 0, + 'time' => 0, + }, +}; +my $parser=Text::Restructured->new($opts,'gino'); +my $dudom=$parser->Parse($input,'--inline--'); +my $xdoc=Text::Restructured::Writer::LibXML->new->ProcessDOM($dudom); + +my $ctx=XML::LibXML::XPathContext->new($xdoc); +$ctx->registerNs('m','http://www.w3.org/1998/Math/MathML'); +sub xis { + my ($expr,$val,$comment)=@_; + is $ctx->findvalue($expr), + $val, + $comment||''; +} + +=begin comment + +<document source="--inline--" names="test" ids="test" title="Test"><title>Test +</title><docinfo><author>dakkar +</author></docinfo><paragraph>paragrafo +</paragraph><paragraph><reference refuri="/gino/pino/" name="link">link</reference></paragraph><target refuri="/gino/pino/" names="link" ids="link"/><paragraph>mathml: <math xmlns="http://www.w3.org/1998/Math/MathML" title="x^2"><mstyle><msup><mi>x</mi><mn>2</mn></msup></mstyle></math></paragraph><paragraph><math xmlns="http://www.w3.org/1998/Math/MathML" title=" (x^2)/(y^2)"><mstyle displaystyle="true"><mfrac><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow><mrow><msup><mi>y</mi><mn>2</mn></msup></mrow></mfrac></mstyle></math></paragraph><paragraph>pre: +</paragraph><literal_block xml:space="preserve"> gino pino +rino +</literal_block><paragraph>normale +</paragraph></document> + +=end comment + +=cut + +xis '/document/@source','--inline--','Source name'; +xis '/document/@title','Test','Title'; +xis '/document/docinfo/author',"dakkar\n",'Author'; +xis 'count(/document/paragraph)',6,'Paragraphs'; +xis '/document/paragraph[1]',"paragrafo\n",'para 1'; +xis '/document/paragraph[2]/reference/@refuri','/gino/pino/','Ref'; +xis '/document/paragraph[3]/m:math','x2','MathML 1'; +xis '/document/paragraph[4]/m:math','x2y2','MathML 2'; +xis 'name(/document/paragraph[5]/following-sibling::*[1])','literal_block','Literal'; +xis '/document/literal_block'," gino pino\nrino\n",'Literal content'; |