89 lines
2.5 KiB
Perl
89 lines
2.5 KiB
Perl
|
|
# t/subscription-flags.t
|
||
|
|
#
|
||
|
|
# Test LJ::Subscription set_flag and clear_flag.
|
||
|
|
#
|
||
|
|
# This code was forked from the LiveJournal project owned and operated
|
||
|
|
# by Live Journal, Inc. The code has been modified and expanded by
|
||
|
|
# Dreamwidth Studios, LLC. These files were originally licensed under
|
||
|
|
# the terms of the license supplied by Live Journal, Inc, which can
|
||
|
|
# currently be found at:
|
||
|
|
#
|
||
|
|
# http://code.livejournal.org/trac/livejournal/browser/trunk/LICENSE-LiveJournal.txt
|
||
|
|
#
|
||
|
|
# In accordance with the original license, this code and all its
|
||
|
|
# modifications are provided under the GNU General Public License.
|
||
|
|
# A copy of that license can be found in the LICENSE file included as
|
||
|
|
# part of this distribution.
|
||
|
|
|
||
|
|
use strict;
|
||
|
|
use warnings;
|
||
|
|
|
||
|
|
use Test::More tests => 10;
|
||
|
|
|
||
|
|
BEGIN { $LJ::_T_CONFIG = 1; require "$ENV{LJHOME}/cgi-bin/ljlib.pl"; }
|
||
|
|
use LJ::Subscription;
|
||
|
|
use LJ::Event;
|
||
|
|
use LJ::Test qw(memcache_stress temp_user);
|
||
|
|
|
||
|
|
run_tests();
|
||
|
|
|
||
|
|
sub run_tests {
|
||
|
|
my $u = temp_user();
|
||
|
|
|
||
|
|
# create a subscription
|
||
|
|
my $subscr = LJ::Subscription->create(
|
||
|
|
$u,
|
||
|
|
event => 'JournalNewEntry',
|
||
|
|
journalid => 0,
|
||
|
|
method => 'Inbox',
|
||
|
|
);
|
||
|
|
|
||
|
|
ok( $subscr, "Got subscription" );
|
||
|
|
|
||
|
|
# test flag setter/accessors
|
||
|
|
{
|
||
|
|
my $flags = $subscr->flags;
|
||
|
|
is( $flags, 0, "No flags set" );
|
||
|
|
|
||
|
|
# set inactive flag
|
||
|
|
$subscr->_deactivate;
|
||
|
|
ok( !$subscr->active, "Deactivated" );
|
||
|
|
|
||
|
|
# make sure inactive flag is set
|
||
|
|
$flags = $subscr->flags;
|
||
|
|
is( $flags, LJ::Subscription::INACTIVE, "Inactive flag set" );
|
||
|
|
|
||
|
|
# clear inactive flag
|
||
|
|
$subscr->activate;
|
||
|
|
|
||
|
|
# make sure inactive flag is unset
|
||
|
|
$flags = $subscr->flags;
|
||
|
|
is( $flags, 0, "Inactive flag unset" );
|
||
|
|
|
||
|
|
# set a bunch of flags and clear one
|
||
|
|
$subscr->set_flag(1);
|
||
|
|
$subscr->set_flag(2);
|
||
|
|
$subscr->set_flag(4);
|
||
|
|
$subscr->set_flag(8);
|
||
|
|
$subscr->clear_flag(4);
|
||
|
|
|
||
|
|
is( $subscr->flags, 11, "Cleared one flag ok" );
|
||
|
|
|
||
|
|
# clear flags and set disabled and inactive
|
||
|
|
|
||
|
|
$subscr->clear_flag(1);
|
||
|
|
$subscr->clear_flag(2);
|
||
|
|
$subscr->clear_flag(8);
|
||
|
|
|
||
|
|
$subscr->set_flag(LJ::Subscription::DISABLED);
|
||
|
|
$subscr->set_flag(LJ::Subscription::INACTIVE);
|
||
|
|
ok( !$subscr->active, "Inactive" );
|
||
|
|
ok( !$subscr->enabled, "Disabled" );
|
||
|
|
|
||
|
|
# clear disable and make sure still inactive
|
||
|
|
$subscr->enable;
|
||
|
|
ok( !$subscr->active, "Inactive" );
|
||
|
|
ok( $subscr->enabled, "Enabled" );
|
||
|
|
}
|
||
|
|
}
|