Blame t/perl-sanity.t

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();