use strict;
use warnings;
use Test::More tests => 3;
use XML::Grammar::Fiction::FromProto::Parser::QnD;
{
my $text = <<"EOF";
Hello <s id="top">
<s id="a-better-scene">
</s>
</s>
EOF
my $parser = XML::Grammar::Fiction::FromProto::Parser::QnD->new();
$parser->setup_text($text);
my $ret = $parser->consume(qr{[^<]});
# TEST
is ($ret, "Hello ", "consume works for first line");
}
{
my $text = <<"EOF";
Hello
voila the row kala:
<s id="top">
<s id="a-better-scene">
</s>
</s>
EOF
my $parser = XML::Grammar::Fiction::FromProto::Parser::QnD->new();
$parser->setup_text($text);
my $ret = $parser->consume(qr{[^<]});
# TEST
is ($ret, "Hello\nvoila the row kala:\n",
"consume works for several lines");
}
{
my $text = <<"EOF";
<s id="top">
<s id="a-better-scene">
</s>
</s>
EOF
my $parser = XML::Grammar::Fiction::FromProto::Parser::QnD->new();
$parser->setup_text($text);
my $ret = $parser->_parse_opening_tag();
# TEST
is_deeply ($ret,
{
name => "s",
is_standalone => 0,
line => 1,
attrs => [ { key => "id", value => "top"}],
},
"Checking _parse_opening_tag() - #1",
);
}