# Copyright (c) 2009 bivio Software Inc. All Rights Reserved. # # Visit http://www.bivio.biz for more info. # # This library is free software; you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License as # published by the Free Software Foundation; either version 2.1 of the # License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; If not, you may get a copy from: # http://www.opensource.org/licenses/lgpl-license.html # # $Id: Spider2.bunit,v 1.1 2009/10/16 08:43:53 dobbs Exp $ use Bivio::Util::t::Spider::Response; Request(); my($state) = {}; options({compute_return => sub {[$state]}}); my($ua) = b_use('Collection.Attributes')->new({ map({ my($uri, $type, $content) = @$_; $uri = 'http://petshop.bivio.biz' . $uri; ($uri => Bivio::Util::t::Spider::Response->new({ uri => $uri, type => $type, content_ref => \$content, })); } ['', 'text/html', <<'EOF'], A a b c d contact us EOF ['/b', 'text/html', <<'EOF'], B B  bb EOF ['/c', 'text/plain', <<'EOF'], intentionally blank EOF ['/b/b', 'text/html', <<'EOF'], bb intentionally blank EOF )}); [ sub {class()->new({ base => 'http://petshop.bivio.biz', user_agent => $ua, visitor => sub { my($uri, $content_ref) = @_; ($state->{$uri}) = $$content_ref =~ qr{(.*?)}mi; return 1; } })} => [ visit => [ [] => [{ 'http://petshop.bivio.biz' => 'A', 'http://petshop.bivio.biz/b' => 'B', 'http://petshop.bivio.biz/b/b' => 'bb', }], ], ], ];