|
Packit |
42cdad |
use strict;
|
|
Packit |
42cdad |
use warnings;
|
|
Packit |
42cdad |
|
|
Packit |
42cdad |
use lib 't/lib';
|
|
Packit |
42cdad |
|
|
Packit |
42cdad |
use Test::More 0.96;
|
|
Packit |
42cdad |
use Test::Specio qw( test_constraint :vars );
|
|
Packit |
42cdad |
|
|
Packit |
42cdad |
use B ();
|
|
Packit |
42cdad |
use Specio::Library::String;
|
|
Packit |
42cdad |
|
|
Packit |
42cdad |
my %tests = (
|
|
Packit |
42cdad |
PackageName => {
|
|
Packit |
42cdad |
accept => [
|
|
Packit |
42cdad |
$CLASS_NAME,
|
|
Packit |
42cdad |
$STR_OVERLOAD_CLASS_NAME, qw(
|
|
Packit |
42cdad |
Specio
|
|
Packit |
42cdad |
Spec::Library::Builtins
|
|
Packit |
42cdad |
strict
|
|
Packit |
42cdad |
_Foo
|
|
Packit |
42cdad |
A123::456
|
|
Packit |
42cdad |
),
|
|
Packit |
42cdad |
"Has::Chinese::\x{3403}::In::It"
|
|
Packit |
42cdad |
],
|
|
Packit |
42cdad |
reject => [
|
|
Packit |
42cdad |
$EMPTY_STRING,
|
|
Packit |
42cdad |
$STR_OVERLOAD_EMPTY,
|
|
Packit |
42cdad |
qw(
|
|
Packit |
42cdad |
0Foo
|
|
Packit |
42cdad |
Foo:Bar
|
|
Packit |
42cdad |
Foo:::Bar
|
|
Packit |
42cdad |
Foo:
|
|
Packit |
42cdad |
Foo::
|
|
Packit |
42cdad |
Foo::Bar::
|
|
Packit |
42cdad |
::Foo
|
|
Packit |
42cdad |
My-Distro
|
|
Packit |
42cdad |
),
|
|
Packit |
42cdad |
'Has::Spaces In It',
|
|
Packit |
42cdad |
],
|
|
Packit |
42cdad |
},
|
|
Packit |
42cdad |
DistName => {
|
|
Packit |
42cdad |
accept => [
|
|
Packit |
42cdad |
qw(
|
|
Packit |
42cdad |
Specio
|
|
Packit |
42cdad |
Spec-Library-Builtins
|
|
Packit |
42cdad |
strict
|
|
Packit |
42cdad |
_Foo
|
|
Packit |
42cdad |
A123-456
|
|
Packit |
42cdad |
),
|
|
Packit |
42cdad |
"Has-Chinese-\x{3403}-In-It"
|
|
Packit |
42cdad |
],
|
|
Packit |
42cdad |
reject => [
|
|
Packit |
42cdad |
$EMPTY_STRING,
|
|
Packit |
42cdad |
$STR_OVERLOAD_EMPTY,
|
|
Packit |
42cdad |
qw(
|
|
Packit |
42cdad |
0Foo
|
|
Packit |
42cdad |
Foo:Bar
|
|
Packit |
42cdad |
Foo-:Bar
|
|
Packit |
42cdad |
Foo:
|
|
Packit |
42cdad |
Foo-
|
|
Packit |
42cdad |
Foo-Bar-
|
|
Packit |
42cdad |
-Foo
|
|
Packit |
42cdad |
My::Package
|
|
Packit |
42cdad |
),
|
|
Packit |
42cdad |
'Has-Spaces In It',
|
|
Packit |
42cdad |
],
|
|
Packit |
42cdad |
},
|
|
Packit |
42cdad |
Identifier => {
|
|
Packit |
42cdad |
accept => [
|
|
Packit |
42cdad |
qw(
|
|
Packit |
42cdad |
_
|
|
Packit |
42cdad |
a
|
|
Packit |
42cdad |
b
|
|
Packit |
42cdad |
c
|
|
Packit |
42cdad |
d
|
|
Packit |
42cdad |
A
|
|
Packit |
42cdad |
B
|
|
Packit |
42cdad |
C
|
|
Packit |
42cdad |
D
|
|
Packit |
42cdad |
Foo
|
|
Packit |
42cdad |
Bar
|
|
Packit |
42cdad |
_what_
|
|
Packit |
42cdad |
foo_bar
|
|
Packit |
42cdad |
f1234
|
|
Packit |
42cdad |
f1j2_o1
|
|
Packit |
42cdad |
),
|
|
Packit |
42cdad |
"\x{3403}",
|
|
Packit |
42cdad |
"has_\x{3403}",
|
|
Packit |
42cdad |
"has_\x{3403}_in_it",
|
|
Packit |
42cdad |
],
|
|
Packit |
42cdad |
reject => [
|
|
Packit |
42cdad |
q{ },
|
|
Packit |
42cdad |
$EMPTY_STRING,
|
|
Packit |
42cdad |
'a b',
|
|
Packit |
42cdad |
'4foo',
|
|
Packit |
42cdad |
]
|
|
Packit |
42cdad |
},
|
|
Packit |
42cdad |
SafeIdentifier => {
|
|
Packit |
42cdad |
accept => [
|
|
Packit |
42cdad |
qw(
|
|
Packit |
42cdad |
c
|
|
Packit |
42cdad |
d
|
|
Packit |
42cdad |
A
|
|
Packit |
42cdad |
B
|
|
Packit |
42cdad |
C
|
|
Packit |
42cdad |
D
|
|
Packit |
42cdad |
Foo
|
|
Packit |
42cdad |
Bar
|
|
Packit |
42cdad |
_what_
|
|
Packit |
42cdad |
foo_bar
|
|
Packit |
42cdad |
f1234
|
|
Packit |
42cdad |
f1j2_o1
|
|
Packit |
42cdad |
),
|
|
Packit |
42cdad |
"\x{3403}",
|
|
Packit |
42cdad |
"has_\x{3403}",
|
|
Packit |
42cdad |
"has_\x{3403}_in_it",
|
|
Packit |
42cdad |
],
|
|
Packit |
42cdad |
reject => [
|
|
Packit |
42cdad |
qw(
|
|
Packit |
42cdad |
_
|
|
Packit |
42cdad |
a
|
|
Packit |
42cdad |
b
|
|
Packit |
42cdad |
),
|
|
Packit |
42cdad |
q{ },
|
|
Packit |
42cdad |
$EMPTY_STRING,
|
|
Packit |
42cdad |
'a b',
|
|
Packit |
42cdad |
'4foo',
|
|
Packit |
42cdad |
]
|
|
Packit |
42cdad |
},
|
|
Packit |
42cdad |
LaxVersionStr => {
|
|
Packit |
42cdad |
accept => [
|
|
Packit |
42cdad |
qw(
|
|
Packit |
42cdad |
v1.2.3.4
|
|
Packit |
42cdad |
v1.2
|
|
Packit |
42cdad |
1.2.3
|
|
Packit |
42cdad |
1.2345.6
|
|
Packit |
42cdad |
v1.23_4
|
|
Packit |
42cdad |
1.2345
|
|
Packit |
42cdad |
1.2345_01
|
|
Packit |
42cdad |
0.1
|
|
Packit |
42cdad |
v0.1.2
|
|
Packit |
42cdad |
)
|
|
Packit |
42cdad |
],
|
|
Packit |
42cdad |
reject => [
|
|
Packit |
42cdad |
qw(
|
|
Packit |
42cdad |
1.2_3_4
|
|
Packit |
42cdad |
42.a
|
|
Packit |
42cdad |
a.b
|
|
Packit |
42cdad |
vA.b
|
|
Packit |
42cdad |
),
|
|
Packit |
42cdad |
],
|
|
Packit |
42cdad |
},
|
|
Packit |
42cdad |
StrictVersionStr => {
|
|
Packit |
42cdad |
accept => [
|
|
Packit |
42cdad |
qw(
|
|
Packit |
42cdad |
v1.2.3.4
|
|
Packit |
42cdad |
v1.234.5
|
|
Packit |
42cdad |
2.3456
|
|
Packit |
42cdad |
0.1
|
|
Packit |
42cdad |
v0.1.2
|
|
Packit |
42cdad |
),
|
|
Packit |
42cdad |
],
|
|
Packit |
42cdad |
reject => [
|
|
Packit |
42cdad |
qw(
|
|
Packit |
42cdad |
v1.2
|
|
Packit |
42cdad |
1.2345.6
|
|
Packit |
42cdad |
v1.23_4
|
|
Packit |
42cdad |
1.2345_01
|
|
Packit |
42cdad |
)
|
|
Packit |
42cdad |
],
|
|
Packit |
42cdad |
},
|
|
Packit |
42cdad |
);
|
|
Packit |
42cdad |
|
|
Packit |
42cdad |
$tests{ModuleName} = $tests{PackageName};
|
|
Packit |
42cdad |
|
|
Packit |
42cdad |
for my $name ( sort keys %tests ) {
|
|
Packit |
42cdad |
test_constraint( $name, $tests{$name} );
|
|
Packit |
42cdad |
}
|
|
Packit |
42cdad |
|
|
Packit |
42cdad |
done_testing();
|