diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2022-01-05 21:13:40 +0200 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2022-01-05 21:13:40 +0200 |
commit | 8bd2904afb35a19d48552b10d3215ba16fe4ce35 (patch) | |
tree | 04f2ff8100f9e6e7ddeb905f2acad759695b8222 /test/nsidentifier.awk | |
parent | f285f960bdfb5acb50a8ec7ed4b98f17d0bd624a (diff) | |
download | egawk-8bd2904afb35a19d48552b10d3215ba16fe4ce35.tar.gz egawk-8bd2904afb35a19d48552b10d3215ba16fe4ce35.tar.bz2 egawk-8bd2904afb35a19d48552b10d3215ba16fe4ce35.zip |
Fix a namespace issue.
Diffstat (limited to 'test/nsidentifier.awk')
-rw-r--r-- | test/nsidentifier.awk | 36 |
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 +} |