In some cases the license-identification header was missing, so I added that as well. Replaced the remaining headers that specifically identified "Versions 3.13.7 and higher". Makefiles and the build system were deliberately excluded.
40 lines
1.6 KiB
Prolog
40 lines
1.6 KiB
Prolog
#!/usr/bin/env perl
|
|
######################################################################
|
|
# SPDX-License-Identifier: EPICS
|
|
# EPICS BASE is distributed subject to a Software License Agreement
|
|
# found in file LICENSE that is included with this distribution.
|
|
######################################################################
|
|
|
|
use lib '@TOP@/lib/perl';
|
|
|
|
use Test::More tests => 14;
|
|
|
|
use DBD::Menu;
|
|
|
|
my $menu = DBD::Menu->new('test');
|
|
isa_ok $menu, 'DBD::Menu';
|
|
is $menu->name, 'test', 'Menu name';
|
|
is $menu->choices, 0, 'Choices == zero';
|
|
$menu->add_choice('ch1', 'Choice 1');
|
|
is $menu->choices, 1, 'First choice added';
|
|
ok $menu->legal_choice('Choice 1'), 'First choice legal';
|
|
is_deeply $menu->choice(0), ['ch1', 'Choice 1'], 'First choice found';
|
|
$menu->add_choice('ch2', 'Choice 2');
|
|
is $menu->choices, 2, 'Second choice added';
|
|
ok $menu->legal_choice('Choice 1'), 'First choice still legal';
|
|
is_deeply $menu->choice(0), ['ch1', 'Choice 1'], 'First choice still found';
|
|
ok $menu->legal_choice('Choice 2'), 'Second choice legal';
|
|
is_deeply $menu->choice(1), ['ch2', 'Choice 2'], 'Second choice found';
|
|
ok !$menu->legal_choice('Choice 3'), 'Third choice not legal';
|
|
is_deeply $menu->choice(2), undef, 'Third choice undefined';
|
|
|
|
like $menu->toDeclaration, qr/ ^
|
|
\s* \# \s* ifndef \s+ test_NUM_CHOICES \s* \n
|
|
\s* typedef \s+ enum \s+ \{ \s* \n
|
|
\s* ch1 \s+ \/\* [^*]* \*\/, \s* \n
|
|
\s* ch2 \s+ \/\* [^*]* \*\/ \s* \n
|
|
\s* \} \s* test \s* ; \s* \n
|
|
\s* \# \s* define \s+ test_NUM_CHOICES \s+ 2 \s* \n
|
|
\s* \# \s* endif \s* \n
|
|
\s* $ /x, 'C declaration';
|