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