タグ

ブックマーク / ziguzagu.org (2)

  • 複雑な構造のデータをテストする

    まだ、『PerlTesting』はChapter 2。 今までやってきたテストは、単純なスカラー値のテストと関数のテストのみですが、もっと複雑なデータをテストしたい場合があります。 Test::More::is_deeply :is_deeply:リファレンスを追いかけて複雑な構造のデータを比較して同じかどうかテストする たとえば、リスト>ハッシュ>スカラー、リストのテスト。 #!/usr/bin/perl use strict; use warnings; use Test::More tests => 1; my $list1 = [ { name => 'Tom' family => [qw/father mother dog/], }, { name => 'Bob', family => [qw/father mother sister cat/], } ]; my $list2

  • XML::LibXML で HTML の一部をパースする

    XML::LibXML::parse_html_string で HTML の一部、たとえばブログ記事の文のみとか、をパースしようとして無駄に苦戦してしまったのでメモ。 以下のような、DOCTYPE 宣言もなければ html/body 要素もないけど、ちゃんと(?)HTMLの一部ではあるものを XML::LibXML でパース、ごにょったあと出力したい。 #!/usr/bin/perl use strict; use warnings; use XML::LibXML; my $html =<<HTML; <div class="entry"> <p>test!!</p> </div> HTML my $parser = XML::LibXML->new; my $doc = $parser->parse_html_string($html); print $doc->toStringH

  • 1