From: Don Armstrong Date: Sun, 8 Jul 2012 00:43:16 +0000 (-0700) Subject: add test script which shows encoding problems X-Git-Tag: release/2.6.0~381 X-Git-Url: https://git.donarmstrong.com/?p=debbugs.git;a=commitdiff_plain;h=bbc75bd2086151570f0d7f70c971618ec736a293 add test script which shows encoding problems --- diff --git a/t/13_utf8_mail.t b/t/13_utf8_mail.t new file mode 100644 index 0000000..0157ae9 --- /dev/null +++ b/t/13_utf8_mail.t @@ -0,0 +1,131 @@ +# -*- mode: cperl;-*- +# $Id: 05_mail.t,v 1.1 2005/08/17 21:46:17 don Exp $ + +use Test::More tests => 11; + +use warnings; +use strict; + +# Here, we're going to shoot messages through a set of things that can +# happen. + +# First, we're going to send mesages to receive. +# To do so, we'll first send a message to submit, +# then send messages to the newly created bugnumber. + +use IO::File; +use File::Temp qw(tempdir); +use Cwd qw(getcwd); +use Debbugs::MIME qw(create_mime_message); +use File::Basename qw(dirname basename); +# The test functions are placed here to make things easier +use lib qw(t/lib); +use DebbugsTest qw(:all); +use Data::Dumper; +use Encode qw(decode encode); + +# HTTP::Server:::Simple defines a SIG{CHLD} handler that breaks system; undef it here. +$SIG{CHLD} = sub {}; +my %config; +eval { + %config = create_debbugs_configuration(debug => exists $ENV{DEBUG}?$ENV{DEBUG}:0); +}; +if ($@) { + BAIL_OUT($@); +} + +my $sendmail_dir = $config{sendmail_dir}; +my $spool_dir = $config{spool_dir}; +my $config_dir = $config{config_dir}; + +END{ + if ($ENV{DEBUG}) { + diag("spool_dir: $spool_dir\n"); + diag("config_dir: $config_dir\n"); + diag("sendmail_dir: $sendmail_dir\n"); + } +} + +# We're going to use create mime message to create these messages, and +# then just send them to receive. + +send_message(to=>'submit@bugs.something', + headers => [To => 'submit@bugs.something', + From => 'foo@bugs.something', + Subject => 'Submiting a bug', + ], + body => < [{Type=>"text/plain",Charset=>"utf-8",Data=>< '1@bugs.something', + headers => [To => '1@bugs.something', + From => 'foo@bugs.something', + Subject => 'Sending a message to a bug', + ], + body => < 'control@bugs.something', + headers => [To => 'control@bugs.something', + From => 'foo@bugs.something', + Subject => 'Munging a bug', + ], + body => <1); +ok($status->{subject} eq 'new title','bug 1 retitled'); +ok($status->{severity} eq 'wishlist','bug 1 wishlisted');