1#!/usr/bin/perl 2# 3# This program is free software; you can redistribute it and/or modify 4# it under the terms of the GNU General Public License as published by 5# the Free Software Foundation; either version 2 of the License, or 6# (at your option) any later version. 7# 8# This program is distributed in the hope that it will be useful, 9# but WITHOUT ANY WARRANTY; without even the implied warranty of 10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11# GNU General Public License for more details. 12# 13# You should have received a copy of the GNU General Public License 14# along with this program. If not, see <https://www.gnu.org/licenses/>. 15 16use strict; 17use warnings; 18 19use Test::More tests => 14; 20 21BEGIN { 22 use_ok('Dpkg::Build::Env'); 23} 24 25$ENV{DPKG_TEST_VAR_A} = 100; 26$ENV{DPKG_TEST_VAR_B} = 200; 27delete $ENV{DPKG_TEST_VAR_Z}; 28 29is(scalar Dpkg::Build::Env::list_accessed(), 0, 'no accessed variables'); 30is(scalar Dpkg::Build::Env::list_modified(), 0, 'no modified variables'); 31 32is(Dpkg::Build::Env::get('DPKG_TEST_VAR_A'), 100, 'get value'); 33 34is(scalar Dpkg::Build::Env::list_accessed(), 1, '1 accessed variables'); 35is(scalar Dpkg::Build::Env::list_modified(), 0, 'no modified variables'); 36 37is(Dpkg::Build::Env::get('DPKG_TEST_VAR_B'), 200, 'get value'); 38Dpkg::Build::Env::set('DPKG_TEST_VAR_B', 300); 39is(Dpkg::Build::Env::get('DPKG_TEST_VAR_B'), 300, 'set value'); 40 41is(scalar Dpkg::Build::Env::list_accessed(), 2, '2 accessed variables'); 42is(scalar Dpkg::Build::Env::list_modified(), 1, '1 modified variable'); 43 44ok(Dpkg::Build::Env::has('DPKG_TEST_VAR_A'), 'variables is present'); 45ok(!Dpkg::Build::Env::has('DPKG_TEST_VAR_Z'), 'variables is not present'); 46 47is(scalar Dpkg::Build::Env::list_accessed(), 3, '2 accessed variables'); 48is(scalar Dpkg::Build::Env::list_modified(), 1, '1 modified variable'); 49 501; 51