Locale-Maketext-Gettext/t/11-command-line.t

93 lines
1.9 KiB
Perl
Raw Normal View History

#! /usr/bin/perl -w
# Test suite on the maketext script
# Copyright (c) 2003-2007 imacat. All rights reserved. This program is free
# software; you can redistribute it and/or modify it under the same terms
# as Perl itself.
use 5.008;
use strict;
use warnings;
use Test;
BEGIN { plan tests => 10 }
use FindBin;
use File::Spec::Functions qw(catdir catfile updir);
use lib $FindBin::Bin;
our ($LOCALEDIR, $r, $maketext);
$LOCALEDIR = catdir($FindBin::Bin, "locale");
$maketext = catdir($FindBin::Bin, updir, "blib", "script", "maketext");
# The maketext script
# Ordinary text unchanged
$r = eval {
delete $ENV{"LANG"};
delete $ENV{"LANGUAGE"};
delete $ENV{"TEXTDOMAINDIR"};
delete $ENV{"TEXTDOMAIN"};
@_ = `"$maketext" "Hello, world!"`;
return 1;
};
# 1
ok($r, 1);
# 2
ok($_[0], "Hello, world!");
# Specify the text domain by the -d argument
# English
$r = eval {
$ENV{"LANG"} = "C";
$ENV{"LANGUAGE"} = "C";
$ENV{"TEXTDOMAINDIR"} = $LOCALEDIR;
delete $ENV{"TEXTDOMAIN"};
@_ = `"$maketext" -d test "Hello, world!"`;
return 1;
};
# 3
ok($r, 1);
# 4
ok($_[0], "Hiya :)");
# Specify the text domain by the environment variable
# English
$r = eval {
$ENV{"LANG"} = "C";
$ENV{"LANGUAGE"} = "C";
$ENV{"TEXTDOMAINDIR"} = $LOCALEDIR;
$ENV{"TEXTDOMAIN"} = "test";
@_ = `"$maketext" "Hello, world!"`;
return 1;
};
# 5
ok($r, 1);
# 6
ok($_[0], "Hiya :)");
# The -s argument
$r = eval {
$ENV{"LANG"} = "C";
$ENV{"LANGUAGE"} = "C";
$ENV{"TEXTDOMAINDIR"} = $LOCALEDIR;
$ENV{"TEXTDOMAIN"} = "test";
@_ = `"$maketext" -s "Hello, world!"`;
return 1;
};
# 7
ok($r, 1);
# 8
ok($_[0], "Hiya :)\n");
# Maketext
$r = eval {
$ENV{"LANG"} = "C";
$ENV{"LANGUAGE"} = "C";
$ENV{"TEXTDOMAINDIR"} = $LOCALEDIR;
$ENV{"TEXTDOMAIN"} = "test";
@_ = `"$maketext" -s "[*,_1,directory,directories]" 5`;
return 1;
};
# 9
ok($r, 1);
# 10
ok($_[0], "5 directories\n");