don't edit config setting, but a temporary variable, complete and unbreak tests

master
Antoine Beaupré 2013-09-07 18:50:53 -04:00
parent 9293d2c706
commit 2a143bfd0b
2 changed files with 12 additions and 5 deletions

View File

@ -740,7 +740,10 @@ sub log_message ($$) {
$log_open=1;
}
eval {
Sys::Syslog::syslog($type, "[$config{wikiname}] %s", join(" ", @_));
# keep a copy to avoid editing the original config repeatedly
my $wikiname = $config{wikiname};
utf8::encode($wikiname);
Sys::Syslog::syslog($type, "[$wikiname] %s", join(" ", @_));
};
if ($@) {
print STDERR "failed to syslog: $@" unless $log_failed;

View File

@ -1,14 +1,18 @@
#!/usr/bin/perl
use warnings;
use strict;
use Test::More tests => 3;
use Test::More tests => 5;
use utf8;
BEGIN { use_ok("IkiWiki"); }
$IkiWiki::config{verbose} = 1;
$IkiWiki::config{syslog} = 1;
$IkiWiki::config{wikiname} = 'ascii';
is(debug('test'), '');
$IkiWiki::config{wikiname} = 'ASCII';
is(debug('test'), '', 'plain ASCII syslog');
$IkiWiki::config{wikiname} = 'not ⒶSCII';
is(debug('test'), '');
is(debug('test'), '', 'UTF8 syslog');
my $orig = $IkiWiki::config{wikiname};
is(debug('test'), '', 'check for idempotency');
is($IkiWiki::config{wikiname}, $orig, 'unchanged config');