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