summaryrefslogtreecommitdiff
path: root/t/env.t
blob: dfc7203389d69eb2ad4b94eeae6270791b8bc4d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!perl -w

use strict;
use warnings;
use Test::More tests => 13;

use Encode::Locale qw(env);

$ENV{foo} = "bar";
is env("foo"), "bar", 'env read';
is env("foo", "baz"), "bar", 'env write retval old value';
is env("foo"), "baz", 'env write worked';
is $ENV{foo}, "baz", 'env affected %ENV';
is env("foo", undef), "baz", 'env write retval old value';
is env("foo"), undef, 'env write worked';
ok !exists $ENV{foo}, 'env write undef deletes from %ENV';

Encode::Locale::reinit("cp1252");
$ENV{"m\xf6ney"} = "\x80uro";
is env("m\xf6ney", "\x{20AC}"), "\x{20AC}uro", 'env write retval encoded';
is env("m\xf6ney"), "\x{20AC}", 'env write worked';
is $ENV{"m\xf6ney"}, "\x80", 'env affected %ENV';
is env("\x{20AC}", 1), undef, 'env write retval old value';
is env("\x{20AC}"), 1, 'env write worked';
is $ENV{"\x80"}, 1, 'env affected %ENV';