#!/usr/bin/perl # $Id: 11-sanitize.t 3219 2008-12-03 07:58:25Z fumiakiy $ use strict; use warnings; use lib 't/lib'; use lib 'lib'; use lib 'extlib'; use Test::More tests => 54; use MT; use MT::Test; use MT::Sanitize; my($atts, $str); $atts = MT::Sanitize->parse_spec('a href'); isa_ok($atts, 'HASH'); ok($atts->{ok}, '{ok}'); ok($atts->{ok}{a}, '{ok}{a}'); ok($atts->{ok}{a}{href}, '{ok}{a}{href}'); $atts = MT::Sanitize->parse_spec('a href,b'); isa_ok($atts, 'HASH'); ok($atts->{ok}, '{ok}'); ok($atts->{ok}{a}, '{ok}{a}'); ok($atts->{ok}{a}{href}, '{ok}{a}{href}'); ok($atts->{ok}{b}, '{ok}{b}'); $atts = MT::Sanitize->parse_spec('br/'); isa_ok($atts, 'HASH'); ok($atts->{ok}, '{ok}'); ok($atts->{ok}{br}, '{ok}{br}'); is($atts->{tag_attr}{br}, '/', '{tag_attr}{br}=/'); $atts = MT::Sanitize->parse_spec('img/ src'); isa_ok($atts, 'HASH'); ok($atts->{ok}, '{ok}'); ok($atts->{ok}{img}, '{ok}{img}'); ok($atts->{ok}{img}{src}, '{ok}{img}{src}'); is($atts->{tag_attr}{img}, '/', '{tag_attr}{img}=/'); $atts = MT::Sanitize->parse_spec('* align'); isa_ok($atts, 'HASH'); ok($atts->{ok}, '{ok}'); ok($atts->{ok}{'*'}, "{ok}{'*'}"); ok($atts->{ok}{'*'}{align}, "{ok}{'*'}{align}"); $atts = MT::Sanitize->parse_spec('p,* align'); isa_ok($atts, 'HASH'); ok($atts->{ok}, '{ok}'); ok($atts->{ok}{'*'}, "{ok}{'*'}"); ok($atts->{ok}{'*'}{align}, "{ok}{'*'}{align}"); ok($atts->{ok}{p}, '{ok}{p}'); is(MT::Sanitize->sanitize(''), '', 'php passwd'); is(MT::Sanitize->sanitize(''), '', 'passwd'); is(MT::Sanitize->sanitize('passwords! '), 'passwords! ', 'passwords! '); is(MT::Sanitize->sanitize('sanitize('<% some ASP code %>'), '', 'ASP code'); is(MT::Sanitize->sanitize(''), '', 'exec cgi'); is(MT::Sanitize->sanitize('