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 => 4; 20 21BEGIN { 22 use_ok('Dpkg::Getopt'); 23} 24 25my @expect_argv; 26 27@ARGV = normalize_options(args => [ qw(-a -bfoo -c var) ]); 28@expect_argv = qw(-a -b foo -c var); 29is_deeply(\@ARGV, \@expect_argv, 'unbundle short options'); 30 31@ARGV = normalize_options(args => [ qw(--option-a --option-b value --option-c=value) ]); 32@expect_argv = qw(--option-a --option-b value --option-c value); 33is_deeply(\@ARGV, \@expect_argv, 'unbundle long options'); 34 35@ARGV = normalize_options(args => [ qw(-aaa -bbb --option-a=oa -- --opt=arg -dval) ], 36 delim => '--'); 37@expect_argv = qw(-a aa -b bb --option-a oa -- --opt=arg -dval); 38is_deeply(\@ARGV, \@expect_argv, 'unbundle options with delimiter'); 39 401; 41