HTML::WidgetValidator & Stickam
Stickam用の、HTML::WidgetValidatorを使用した検証モジュール作ってみました。
http://d.hatena.ne.jp/hatenadiary/20070823/1187876705
英語と日本語と多分以下のコードでいいので、お問い合わせしてみれば。
package HTML::WidgetValidator::Widget::Stickam; use strict; use warnings; use base qw(HTML::WidgetValidator::Widget); our $VERSION = '0.01'; __PACKAGE__->name('Stickam'); __PACKAGE__->url('http://www.stickam.com/'); __PACKAGE__->models([ [ { type => 'start' , name => 'embed', attr => { src => qr{http://player\.stickam\.com/stickamPlayer/\d+-\d+(|-ja)}, type => 'application/x-shockwave-flash', width => qr{\d+}, height => qr{\d+}, scale => 'noscale', allowscriptaccess => 'always' }, }, { type => 'end', name => 'embed', } ], ]); 1;
t/stickam.t
use strict; use Test::Base; use HTML::WidgetValidator; sub validate { my $validator = HTML::WidgetValidator->new(widgets => [ 'Stickam' ]); my $result = $validator->validate(shift); return $result ? $result->name : ' '; } filters { input => [qw/chomp validate/], expected => [qw/chomp/], }; __END__ === Stickam En --- input <embed src="http://player.stickam.com/stickamPlayer/174578430-2602561" type="application/x-shockwave-flash" width="160" height="400" scale="noscale" allowScriptAccess="always"></embed> --- expected Stickam === Stickam Jp --- input <embed src="http://player.stickam.com/stickamPlayer/173728785-477694-ja" type="application/x-shockwave-flash" width="480" height="210" scale="noscale" allowScriptAccess="always"></embed> --- expected Stickam