xref: /openbsd-src/gnu/usr.bin/perl/t/lib/feature/api (revision 256a93a44f36679bee503f12e49566c2183f6181)
1*256a93a4Safresh1Test the API
2*256a93a4Safresh1
3*256a93a4Safresh1__END__
4*256a93a4Safresh1# NAME test feature enabled by bundle
5*256a93a4Safresh1use feature ();
6*256a93a4Safresh1BEGIN {
7*256a93a4Safresh1   print "default: ", join(" ", feature::features_enabled(0)), "\n";
8*256a93a4Safresh1   print "unicode_strings ", feature::feature_enabled("unicode_strings", 0) ? "is" : "is not",
9*256a93a4Safresh1         " enabled\n";
10*256a93a4Safresh1   print "bundle: ", feature::feature_bundle(0) // "undef", "\n";
11*256a93a4Safresh1}
12*256a93a4Safresh1use v5.12;
13*256a93a4Safresh1BEGIN {
14*256a93a4Safresh1   print "5.12: ", join(" ", feature::features_enabled(0)), "\n";
15*256a93a4Safresh1   print "unicode_strings ", feature::feature_enabled("unicode_strings", 0) ? "is" : "is not",
16*256a93a4Safresh1         " enabled\n";
17*256a93a4Safresh1   print "bundle: ", feature::feature_bundle(0) // "undef", "\n";
18*256a93a4Safresh1}
19*256a93a4Safresh1EXPECT
20*256a93a4Safresh1default: bareword_filehandles indirect multidimensional
21*256a93a4Safresh1unicode_strings is not enabled
22*256a93a4Safresh1bundle: default
23*256a93a4Safresh15.12: bareword_filehandles indirect multidimensional say state switch unicode_strings
24*256a93a4Safresh1unicode_strings is enabled
25*256a93a4Safresh1bundle: 5.11
26*256a93a4Safresh1########
27*256a93a4Safresh1# NAME test features enabled explicitly
28*256a93a4Safresh1no feature "indirect";
29*256a93a4Safresh1BEGIN {
30*256a93a4Safresh1    print "no feature indirect: ", join(" ", feature::features_enabled(0)), "\n";
31*256a93a4Safresh1    print "indirect ", feature::feature_enabled("indirect", 0) ? "is" : "is not",
32*256a93a4Safresh1         " enabled\n";
33*256a93a4Safresh1   print "bundle: ", feature::feature_bundle(0) // "undef", "\n";
34*256a93a4Safresh1}
35*256a93a4Safresh1use feature "unicode_strings";
36*256a93a4Safresh1BEGIN {
37*256a93a4Safresh1   print "added unicode_strings: ", join(" ", feature::features_enabled(0)), "\n";
38*256a93a4Safresh1   print "unicode_strings ", feature::feature_enabled("unicode_strings", 0) ? "is" : "is not",
39*256a93a4Safresh1         " enabled\n";
40*256a93a4Safresh1   print "bundle: ", feature::feature_bundle(0) // "undef", "\n";
41*256a93a4Safresh1}
42*256a93a4Safresh1EXPECT
43*256a93a4Safresh1no feature indirect: bareword_filehandles multidimensional
44*256a93a4Safresh1indirect is not enabled
45*256a93a4Safresh1bundle: undef
46*256a93a4Safresh1added unicode_strings: bareword_filehandles multidimensional unicode_strings
47*256a93a4Safresh1unicode_strings is enabled
48*256a93a4Safresh1bundle: undef
49