#!/usr/bin/env perl
use
lib
"$FindBin::Bin/../../.."
;
use
Win32::Status
qw( STATUS_ACCESS_VIOLATION STATUS_INVALID_CRUNTIME_PARAMETER )
;
sub
test_integer_to_symbol
{
is(
$Win32::Status::INTEGER_TO_SYMBOL
{ 0xC0000005 },
'STATUS_ACCESS_VIOLATION'
);
is(
$Win32::Status::INTEGER_TO_SYMBOL
{ 0x00000000 },
'STATUS_SUCCESS'
);
is(
$Win32::Status::INTEGER_TO_SYMBOL
{ 0x00010001 },
'DBG_EXCEPTION_HANDLED'
);
is(
$Win32::Status::INTEGER_TO_SYMBOL
{ 123 },
undef
);
return
;
}
sub
test_symbol_to_integer
{
is(
$Win32::Status::SYMBOL_TO_INTEGER
{
'STATUS_ACCESS_VIOLATION'
}, 0xC0000005 );
is(
$Win32::Status::SYMBOL_TO_INTEGER
{
'STATUS_SUCCESS'
}, 0x00000000 );
is(
$Win32::Status::SYMBOL_TO_INTEGER
{
'STATUS_WAIT_0'
}, 0x00000000 );
is(
$Win32::Status::SYMBOL_TO_INTEGER
{
'DBG_EXCEPTION_HANDLED'
}, 0x00010001 );
is(
$Win32::Status::SYMBOL_TO_INTEGER
{
'quux'
},
undef
);
return
;
}
sub
test_import
{
is( STATUS_ACCESS_VIOLATION, 0xC0000005 );
is( STATUS_INVALID_CRUNTIME_PARAMETER, 0xC0000417 );
return
;
}
sub
run_test
{
test_integer_to_symbol;
test_symbol_to_integer;
test_import;
return
;
}
if
(!
caller
) {
run_test;
done_testing;
}
1;