use strict; use Test::More; use WebService::Bloglines; unless ($ENV{BLOGLINES_USERNAME}) { Test::More->import(skip_all => "no username set, skipped."); exit; } Test::More->import("no_plan"); binmode Test::More->builder->output, ":utf8"; my $bloglines = WebService::Bloglines->new( username => $ENV{BLOGLINES_USERNAME}, password => $ENV{BLOGLINES_PASSWORD}, ); # list subscriptions my $subscription = $bloglines->listsubs(); # list all feeds my @feeds = $subscription->feeds(); my $num = scalar @feeds; ok $num, "$num feeds"; for my $feed (@feeds) { ok length($feed->{title}), $feed->{title}; like $feed->{htmlUrl}, qr!^https?://!, $feed->{htmlUrl} if $feed->{htmlUrl}; is $feed->{type}, "rss", $feed->{type}; like $feed->{xmlUrl}, qr!^https?://!, $feed->{xmlUrl} if $feed->{xmlUrl}; like $feed->{BloglinesSubId}, qr/^\d+$/, "subId: $feed->{BloglinesSubId}"; like $feed->{BloglinesUnread}, qr/^\d+$/, "unread:$feed->{BloglinesUnread}"; like $feed->{BloglinesIgnore}, qr/^\d+$/, "ignore: $feed->{BloglinesIgnore}"; } # list folders my @folders = $subscription->folders(); for my $folder (@folders) { ok length($folder->{title}), $folder->{title}; like $folder->{BloglinesSubId}, qr/^\d+$/, "subId: $folder->{BloglinesSubId}"; like $folder->{BloglinesIgnore}, qr/^\d+$/, "ignore: $folder->{BloglinesIgnore}"; my @feeds = $subscription->feeds_in_folder($folder->{BloglinesSubId}); my $num = scalar @feeds; ok $num, "$num feeds"; } # list feeds in root folder my @root_feeds = $subscription->feeds_in_folder(); # no args my $num_root = scalar @root_feeds; ok $num_root, "$num_root feeds";