# 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" );