mourningdove/t/emailpost-comment.t

80 lines
2.7 KiB
Perl
Raw Permalink Normal View History

2026-05-24 01:03:05 +00:00
# t/emailpost-comment.t
#
# Test replying to comments via email.
#
# Authors:
# Afuna <coder.dw@afunamatata.com>
#
# Copyright (c) 2013 by Dreamwidth Studios, LLC.
#
# This program is free software; you may redistribute it and/or modify it under
# the same terms as Perl itself. For a copy of the license, please reference
# 'perldoc perlartistic' or 'perldoc perlgpl'.
#
use strict;
use warnings;
use Test::More tests => 6;
BEGIN { $LJ::_T_CONFIG = 1; require "$ENV{LJHOME}/cgi-bin/ljlib.pl"; }
use DW::EmailPost::Comment;
use LJ::Test;
my $subject;
my $u = temp_user();
my $e = $u->t_post_fake_entry;
my $username = $u->display_name;
my $ditemid = $e->ditemid;
my $generated = " [ $username - $ditemid ]";
my $c_parent = $e->t_enter_comment;
my $c1 = $e->t_enter_comment( parent => $c_parent );
# email subject parent comment subject
# generated none - none
# generated custom - Re: custom parent
# custom none - custom from email
# custom custom - custom from email
$c_parent->set_subject("");
$subject = DW::EmailPost::Comment->determine_subject( "Re: Reply to an entry. $generated",
$u, $ditemid, $c_parent->dtalkid );
is( $subject, "", "default parent subject, default email subject" );
$c_parent->set_subject("Some custom subject");
$subject = DW::EmailPost::Comment->determine_subject( "Re: Some custom subject $generated",
$u, $ditemid, $c_parent->dtalkid );
is( $subject, "Re: Some custom subject", "custom parent subject, default email subject" );
$c_parent->set_subject("Make sure punctuation isn't escaped");
$subject =
DW::EmailPost::Comment->determine_subject( "Re: Make sure punctuation isn't escaped $generated",
$u, $ditemid, $c_parent->dtalkid );
is(
$subject,
"Re: Make sure punctuation isn't escaped",
"punctuated parent subject, default email subject"
);
$c_parent->set_subject("");
$subject = DW::EmailPost::Comment->determine_subject( "Change of topic mid-thread",
$u, $ditemid, $c_parent->dtalkid );
is( $subject, "Change of topic mid-thread", "default parent subject, custom email subject" );
$c_parent->set_subject("Some custom subject");
$subject = DW::EmailPost::Comment->determine_subject( "Change of topic mid-thread",
$u, $ditemid, $c_parent->dtalkid );
is( $subject, "Change of topic mid-thread", "custom parent subject, custom email subject" );
$subject = DW::EmailPost::Comment->determine_subject( "Make sure punctuation isn't escaped",
$u, $ditemid, $c_parent->dtalkid );
is(
$subject,
"Make sure punctuation isn't escaped",
"custom parent subject, punctuated email subject"
);