<commit_before>use v6;
use Test;

plan 8;

# L<S11/"Exportation"/>

sub exp_no_parens is export             { 'exp_no_parens' }


##  make sure each side isn't undef
is( exp_no_parens(), 'exp_no_parens',
    'exp_no_parens() is defined' );
is( EXPORT::ALL::exp_no_parens(), 'exp_no_parens',
    'EXPORT::ALL::exp_no_parens() is defined' );
##  two out of two values agree
ok( &exp_no_parens === &EXPORT::ALL::exp_no_parens,
    'sub bound to ::EXPORT::ALL inner module -- values match' );
##  two out of two containers agree
#?rakudo skip 'infix:<=:=> not implemented'
ok( &exp_no_parens =:= &EXPORT::ALL::exp_no_parens,
    'sub bound to ::EXPORT::ALL inner module -- containers match' );

{
    package Foo {
        sub Foo_exp_parens is export()  { 'Foo_exp_parens' }
    }

    ##  make sure each side isn't undef
    is( Foo::Foo_exp_parens(), 'Foo_exp_parens',
        'Foo_exp_parens() is defined' );
    is( Foo::EXPORT::ALL::Foo_exp_parens(), 'Foo_exp_parens',
        'Foo_exp_parens() is defined' );
    ##  two out of two values agree
    ok( &Foo::Foo_exp_parens === &Foo::EXPORT::ALL::Foo_exp_parens,
        'Foo_exp_parens() matches Foo::EXPORT::ALL::Foo_exp_parens -- values match' );
    ##  two out of two containers agree
#?rakudo skip 'infix:<=:=> not implemented'
    ok( &Foo::Foo_exp_parens =:= &Foo::EXPORT::ALL::Foo_exp_parens,
        'Foo_exp_parens() container matches Foo::EXPORT::ALL::Foo_exp_parens -- containers match' );
}
<commit_msg>[t] add more 'is export()' trait tests<commit_after>use v6;
use Test;

plan 16;

# L<S11/"Exportation"/>

sub exp_no_parens is export                      { 'exp_no_parens' }
sub exp_empty_parens is export()                 { 'exp_empty_parens' }
sub exp_ALL is export( :ALL )                    { 'exp_ALL' }
sub exp_DEFAULT is export( :DEFAULT )            { 'exp_DEFAULT' }
sub exp_ALL_DEFAULT is export( :ALL, :DEFAULT )  { 'exp_ALL_DEFAULT' }
sub exp_my_tag is export( :my_tag )              { 'exp_my_tag' }


##  exp_no_parens
is( exp_no_parens(), 'exp_no_parens',
    'exp_no_parens() is defined' );
is( EXPORT::ALL::exp_no_parens(), 'exp_no_parens',
    'EXPORT::ALL::exp_no_parens() is defined' );

ok( &exp_no_parens === &EXPORT::ALL::exp_no_parens,
    'exp_no_parens -- values agree' );
ok( &exp_no_parens =:= &EXPORT::ALL::exp_no_parens,
    'exp_no_parens -- containers agree' );


##  exp_empty_parens
ok( &exp_empty_parens === &EXPORT::ALL::exp_empty_parens,
    'exp_empty_parens -- values agree' );
ok( &exp_empty_parens =:= &EXPORT::ALL::exp_empty_parens,
    'exp_empty_parens -- containers agree' );


##  exp_ALL
ok( &exp_ALL === &EXPORT::ALL::exp_ALL,
    'exp_ALL -- values agree' );
ok( &exp_ALL =:= &EXPORT::ALL::exp_ALL,
    'exp_ALL -- containers agree' );


##  exp_DEFAULT
ok( &exp_DEFAULT === &EXPORT::ALL::exp_DEFAULT,
    'exp_DEFAULT -- values agree' );
ok( &exp_DEFAULT =:= &EXPORT::ALL::exp_DEFAULT,
    'exp_DEFAULT -- containers agree' );

#?rakudo 2 todo 'export taglists not implemented'
ok( &exp_DEFAULT === &EXPORT::DEFAULT::exp_DEFAULT,
    'exp_DEFAULT -- values agree' );
ok( &exp_DEFAULT =:= &EXPORT::DEFAULT::exp_DEFAULT,
    'exp_DEFAULT -- containers agree' );




{
    package Foo {
        sub Foo_exp_parens is export()  { 'Foo_exp_parens' }
    }

    ##  make sure each side isn't undef
    is( Foo::Foo_exp_parens(), 'Foo_exp_parens',
        'Foo_exp_parens() is defined' );
    is( Foo::EXPORT::ALL::Foo_exp_parens(), 'Foo_exp_parens',
        'Foo_exp_parens() is defined' );

    ok( &Foo::Foo_exp_parens === &Foo::EXPORT::ALL::Foo_exp_parens,
        'Foo_exp_parens() -- values agree' );
    ok( &Foo::Foo_exp_parens =:= &Foo::EXPORT::ALL::Foo_exp_parens,
        'Foo_exp_parens() -- containers agree' );
}

{'fraction_non_alphanumeric': 0.1595829991980754, 'fraction_numerical': 0.002673082063619353, 'mean_word_length': 3.8471502590673574, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5069485', 'n_tokens_mistral': 1459, 'n_tokens_neox': 1353, 'n_words': 296}