aboutsummaryrefslogtreecommitdiffstats
path: root/test/nsidentifier.awk
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2022-01-05 21:29:47 +0200
committerArnold D. Robbins <arnold@skeeve.com>2022-01-05 21:29:47 +0200
commit0e8b44d33b8de608e35e6a649fe84ad9b7c7fffd (patch)
treeafc0ffb888de22ece1b07213c24746ed3633e81b /test/nsidentifier.awk
parentaa58c798bed920b6051c4459488195df2b76aaf4 (diff)
parent71a50ec092b75ce2b2f969892c6cd443d44777a5 (diff)
downloadegawk-0e8b44d33b8de608e35e6a649fe84ad9b7c7fffd.tar.gz
egawk-0e8b44d33b8de608e35e6a649fe84ad9b7c7fffd.tar.bz2
egawk-0e8b44d33b8de608e35e6a649fe84ad9b7c7fffd.zip
Merge branch 'gawk-5.1-stable'
Diffstat (limited to 'test/nsidentifier.awk')
-rw-r--r--test/nsidentifier.awk36
1 files changed, 36 insertions, 0 deletions
diff --git a/test/nsidentifier.awk b/test/nsidentifier.awk
new file mode 100644
index 00000000..0c665289
--- /dev/null
+++ b/test/nsidentifier.awk
@@ -0,0 +1,36 @@
+# Overdocumented Test Case for FUNCTAB
+
+@namespace "ns"
+
+ns1 = 1 # ns::ns1
+ns::ns2 = 2 # ns::ns2
+awk::defined_in_ns3 = 3 # defined_in_ns3
+@namespace "awk"
+awkspace4 = 4 # awkspace4
+awk::awkspace5 = 5 # awkspace5
+
+BEGIN {
+ list = "awk::defined_in_ns3 awk::awkspace5 ns1 ns::ns1 ns::ns2 awkspace4 awkspace5" # list
+ n = split(list, test) # n, test
+ for (i = 1; i <= n; i++) { # i
+ var = test[i] # var
+ sub(/awk::/, "", var) # no 'awk::' in SYMTAB or SYMTAB
+
+ yesno = (test[i] in FUNCTAB) ? "Yes" : "No " # yesno
+ printf("%s %s in FUNCTAB\n", yesno, test[i])
+ yesno = (test[i] in PROCINFO["identifiers"]) ? "Yes" : "No "
+ printf("%s %s in PROCINFO[\"identifiers\"]\n", yesno, test[i])
+
+ yesno = (var in SYMTAB) ? "Yes" : "No "
+ printf("%s %s in SYMTAB\n", yesno, var)
+ yesno = (var in PROCINFO["identifiers"]) ? "Yes" :"No "
+ printf("%s %s in PROCINFO[\"identifiers\"]\n", yesno, var)
+ printf("\n")
+ }
+ print "------------------------------"
+ for (i in PROCINFO["identifiers"])
+ print i | "LC_ALL=C sort"
+ close("LC_ALL=C sort")
+
+ exit 0
+}