use strict; use warnings; use Test::More tests => 28; use Data::Dump qw( dump ); use_ok('SWISH::3'); ok( my $s3 = SWISH::3->new( config => '', handler => \&getmeta ), "new parser" ); my $r = 0; while ( $r < 10 ) { ok( $r += $s3->parse_file("t/test.html"), "parse HTML" ); #diag("r = $r"); } $r = 0; while ( $r < 10 ) { ok( $r += $s3->parse_file("t/test.xml"), "parse XML" ); #diag("r = $r"); } sub getmeta { my $data = shift; #diag(dump($data->metanames)); #$data->tokens->debug; } ok( $s3 = SWISH::3->new( config => '', handler => \&metacheck ), "new s3" ); ok( $s3->parse_file("t/bumper.html"), "parse bumper.html" ); sub metacheck { my $data = shift; my $meta = $data->metanames; my $prop = $data->properties; #dump $meta; #dump $prop; cmp_ok( $meta->{'foo'}->[0], 'eq', 'one two', "first foo meta" ); cmp_ok( $meta->{'foo'}->[1], 'eq', 'three four', "second foo meta" ); cmp_ok( $meta->{'swishdefault'}->[0], 'eq', 'this is para one', "first swishdefault meta" ); cmp_ok( $meta->{'swishdefault'}->[1], 'eq', 'this is para two', "second swishdefault meta" ); }