mourningdove/t/assertions.t
2026-05-24 01:03:05 +00:00

66 lines
1.8 KiB
Perl

# t/assertions.t
#
# Test assertions TODO what's that?
#
# 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 => 13;
BEGIN { $LJ::_T_CONFIG = 1; require "$ENV{LJHOME}/cgi-bin/ljlib.pl"; }
ok( LJ::assert_is( "foo", "foo" ) );
ok( !eval { LJ::assert_is( "foo", "bar" ) } );
my $u = LJ::load_user("system");
ok( $u->selfassert );
{
local $u->{userid} = 9999;
ok( !eval { $u->selfassert } );
}
ok( $u->selfassert );
{
local $u->{user} = "systemNOT";
ok( !eval { $u->selfassert } );
}
ok( $u->selfassert );
{
local $u->{user} = "systemNOT";
eval {
my $u2 = LJ::DB::require_master( sub { LJ::load_userid( $u->{userid} ) } );
};
like( $@, qr/AssertIs/ );
}
{
local $u->{user} = "systemNOT";
eval { my $u2 = LJ::load_userid( $u->{userid} ); };
like( $@, qr/AssertIs/ );
}
{
local $u->{userid} = 5555;
eval { my $u2 = LJ::load_user("system"); };
like( $@, qr/AssertIs/ );
}
my $empty;
LJ::load_userids_multiple( [ $u->{userid} => \$empty ] );
ok( $empty == $u, "load multiple worked" );
my $bogus = bless { userid => $u->{userid} + 1 }, 'LJ::User';
ok( !eval { LJ::load_userids_multiple( [ $u->{userid} => \$bogus ] ) } );
like( $@, qr/AssertIs/, "failed on blowing away existing user record" );