/XML-TreePP/t/48_blobref.t
http://xml-treepp.googlecode.com/ · Raku · 53 lines · 38 code · 10 blank · 5 comment · 0 complexity · 00793cb91cb518b4582a532d0e2d45bc MD5 · raw file
- # ----------------------------------------------------------------
- use strict;
- use Test::More tests => 8;
- BEGIN { use_ok('XML::TreePP') };
- ## ----------------------------------------------------------------
- {
- my $scalar = 'value';
- my $obj = MyObject->new( elem => 'value' );
- my $tree1 = { hashref => { elem => 'value' } };
- my $tree2 = { arrayref => { elem => [ 'first', 'last' ] }};
- my $tree3 = { scalarref => \$scalar };
- my $tree4 = { coderef => sub {} };
- my $tree5 = { object => $obj };
- my $tree6 = { blob => *STDIN };
- my $tree7 = { blobref => \*STDIN };
- my $tpp = XML::TreePP->new();
- local $SIG{__WARN__} = sub {}; # ignore warn messages
- my $xml1 = $tpp->write( $tree1 );
- like( $xml1, qr#<elem>value</elem>#, 'no1: HASHREF - child node' );
- my $xml2 = $tpp->write( $tree2 );
- like( $xml2, qr#<elem>first</elem>\s*<elem>last</elem>#s, 'no2: ARRAYREF - multiple nodes' );
- my $xml3 = $tpp->write( $tree3 );
- my $exp3 = '<scalarref><![CDATA[value]]></scalarref>';
- like( $xml3, qr#\Q$exp3\E#, 'no3: SCALARREF - cdata node' );
- my $xml4 = $tpp->write( $tree4 );
- like( $xml4, qr#xml#, 'no4: CODEREF - undefined behavior rather than die' );
- my $xml5 = $tpp->write( $tree5 );
- like( $xml5, qr#<elem>value</elem>#, 'no5: OBJECT - as a normal child node' );
- my $xml6 = $tpp->write( $tree6 );
- like( $xml6, qr#xml#, 'no6: BLOB - undefined behavior rather than die' );
- my $xml7 = $tpp->write( $tree7 );
- like( $xml7, qr#xml#, 'no7: BLOBREF - undefined behavior rather than die' );
- }
- # ----------------------------------------------------------------
- package MyObject;
- sub new {
- my $class = shift;
- my $hash = { @_ };
- bless $hash, $class;
- }
- # ----------------------------------------------------------------
- ;1;
- # ----------------------------------------------------------------