aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/ChangeLog31
-rw-r--r--test/Makefile.am33
-rw-r--r--test/Makefile.in48
-rw-r--r--test/Maketests15
-rwxr-xr-xtest/charasbytes.awk1
-rw-r--r--test/charasbytes.in1
-rw-r--r--test/charasbytes.ok3
-rw-r--r--test/getline5.awk35
-rw-r--r--test/getline5.ok1
-rwxr-xr-xtest/jarebug.sh21
-rwxr-xr-xtest/ofs1.awk23
-rw-r--r--test/ofs1.in4
-rw-r--r--test/ofs1.ok7
-rw-r--r--test/regexprange.awk14
-rw-r--r--test/regexprange.ok52
15 files changed, 271 insertions, 18 deletions
diff --git a/test/ChangeLog b/test/ChangeLog
index d0d7799e..a0e3c0c4 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -111,6 +111,37 @@
* hello.awk, incdupe.ok, incdupe2.ok, incdupe3.ok, inclib.awk,
include.awk, include.ok, include2.ok: New files.
+2012-08-12 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.am (regexprange): New test.
+ * regexprange.awk, regexprange.ok: New files.
+
+2012-08-05 Arnold D. Robbins <arnold@skeeve.com>
+
+ New test from Nelson Beebe.
+
+ * Makefile.am (ofs1): New test.
+ * ofs1.awk, ofs1.in, ofs1.ok: New files.
+
+2012-07-13 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.am (getline5): New test.
+ * getline5.awk, getline5.ok: New files.
+
+2012-06-19 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.am (charasbytes): New test.
+ * charasbytes.awk, charasbytes.in, charasbytes.ok: New files.
+
+2012-05-20 Arnold D. Robbins <arnold@skeeve.com>
+
+ * jarebug.sh: New file. Handles Mac OS X also.
+ * Makefile.am (jarebug): Use jarebug.sh to run the test.
+
+2012-05-16 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.am (jarebug): Remove leading `-' from $(CMP) line.
+
2012-05-14 Arnold D. Robbins <arnold@skeeve.com>
* Makefile.am (jarebug): Move to charset tests. Adjust to check
diff --git a/test/Makefile.am b/test/Makefile.am
index d7af60b1..8b2f8577 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -121,6 +121,9 @@ EXTRA_DIST = \
beginfile2.ok \
beginfile2.sh \
binmode1.ok \
+ charasbytes.awk \
+ charasbytes.in \
+ charasbytes.ok \
childin.awk \
childin.in \
childin.ok \
@@ -310,6 +313,8 @@ EXTRA_DIST = \
getline4.awk \
getline4.in \
getline4.ok \
+ getline5.awk \
+ getline5.ok \
getlnbuf.awk \
getlnbuf.in \
getlnbuf.ok \
@@ -545,6 +550,9 @@ EXTRA_DIST = \
ofmts.awk \
ofmts.in \
ofmts.ok \
+ ofs1.awk \
+ ofs1.in \
+ ofs1.ok \
onlynl.awk \
onlynl.in \
onlynl.ok \
@@ -641,6 +649,8 @@ EXTRA_DIST = \
regeq.awk \
regeq.in \
regeq.ok \
+ regexprange.awk \
+ regexprange.ok \
regrange.awk \
regrange.ok \
regtest.sh \
@@ -841,7 +851,7 @@ BASIC_TESTS = \
fcall_exit fcall_exit2 fldchg fldchgnf fnamedat fnarray fnarray2 \
fnaryscl fnasgnm fnmisc fordel forref forsimp fsbs fsrs fsspcoln \
fstabplus funsemnl funsmnam funstack \
- getline getline2 getline3 getline4 getlnbuf getnr2tb getnr2tm \
+ getline getline2 getline3 getline4 getline5 getlnbuf getnr2tb getnr2tm \
gsubasgn gsubtest gsubtst2 gsubtst3 gsubtst4 gsubtst5 gsubtst6 \
gsubtst7 gsubtst8 \
hex hsprint \
@@ -851,11 +861,12 @@ BASIC_TESTS = \
nasty nasty2 negexp negrange nested nfldstr nfneg nfset nlfldsep \
nlinstr nlstrina noeffect nofile nofmtch noloop1 noloop2 nonl \
noparms nors nulrsend numindex numsubstr \
- octsub ofmt ofmta ofmtbig ofmtfidl ofmts onlynl opasnidx opasnslf \
+ octsub ofmt ofmta ofmtbig ofmtfidl ofmts ofs1 onlynl opasnidx opasnslf \
paramdup paramres paramtyp parse1 parsefld parseme pcntplus \
posix2008sub prdupval prec printf0 printf1 prmarscl prmreuse \
prt1eval prtoeval \
- rand range1 rebt8b1 redfilnm regeq regrange reindops reparse \
+ rand range1 rebt8b1 redfilnm regeq regexprange regrange \
+ reindops reparse \
resplit rri1 rs rsnul1nl rsnulbig rsnulbig2 rstest1 rstest2 \
rstest3 rstest4 rstest5 rswhite \
scalar sclforin sclifin sortempty splitargv splitarr splitdef \
@@ -871,7 +882,7 @@ UNIX_TESTS = \
GAWK_EXT_TESTS = \
aadelete1 aadelete2 aarray1 aasort aasorti argtest arraysort \
- backw badargs beginfile1 beginfile2 binmode1 \
+ backw badargs beginfile1 beginfile2 binmode1 charasbytes \
clos1way delsub devfd devfd1 devfd2 dumpvars exit \
fieldwdth fpat1 fpat2 fpat3 fpatnull fsfwfs funlen \
fwtest fwtest2 fwtest3 \
@@ -1563,11 +1574,8 @@ mpfrbigint:
jarebug::
@echo $@
- @if locale -a | grep ja_JP.EUC-JP > /dev/null ; then \
- GAWKLOCALE=ja_JP.EUC-JP ; export GAWKLOCALE ; \
- $(AWK) -f $(srcdir)/$@.awk $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@ ; \
- -$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ ; \
- fi
+ @$(srcdir)/$@.sh "$(AWKPROG)" "$(srcdir)/$@.awk" "$(srcdir)/$@.in" "_$@"
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
ordchr2::
@echo $@
@@ -1645,6 +1653,13 @@ fts:
@$(AWK) -f $(srcdir)/fts.awk
@-$(CMP) $@.out1 $@.out2 && rm -f $@.out[12]
+charasbytes:
+ @echo $@
+ @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
+ AWKPATH=$(srcdir) $(AWK) -b -f $@.awk $(srcdir)/$@.in | \
+ od -c -t x1 >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
# Targets generated for other tests:
include Maketests
diff --git a/test/Makefile.in b/test/Makefile.in
index b82d13c5..39c51e82 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -334,6 +334,9 @@ EXTRA_DIST = \
beginfile2.ok \
beginfile2.sh \
binmode1.ok \
+ charasbytes.awk \
+ charasbytes.in \
+ charasbytes.ok \
childin.awk \
childin.in \
childin.ok \
@@ -523,6 +526,8 @@ EXTRA_DIST = \
getline4.awk \
getline4.in \
getline4.ok \
+ getline5.awk \
+ getline5.ok \
getlnbuf.awk \
getlnbuf.in \
getlnbuf.ok \
@@ -758,6 +763,9 @@ EXTRA_DIST = \
ofmts.awk \
ofmts.in \
ofmts.ok \
+ ofs1.awk \
+ ofs1.in \
+ ofs1.ok \
onlynl.awk \
onlynl.in \
onlynl.ok \
@@ -854,6 +862,8 @@ EXTRA_DIST = \
regeq.awk \
regeq.in \
regeq.ok \
+ regexprange.awk \
+ regexprange.ok \
regrange.awk \
regrange.ok \
regtest.sh \
@@ -1054,7 +1064,7 @@ BASIC_TESTS = \
fcall_exit fcall_exit2 fldchg fldchgnf fnamedat fnarray fnarray2 \
fnaryscl fnasgnm fnmisc fordel forref forsimp fsbs fsrs fsspcoln \
fstabplus funsemnl funsmnam funstack \
- getline getline2 getline3 getline4 getlnbuf getnr2tb getnr2tm \
+ getline getline2 getline3 getline4 getline5 getlnbuf getnr2tb getnr2tm \
gsubasgn gsubtest gsubtst2 gsubtst3 gsubtst4 gsubtst5 gsubtst6 \
gsubtst7 gsubtst8 \
hex hsprint \
@@ -1064,11 +1074,12 @@ BASIC_TESTS = \
nasty nasty2 negexp negrange nested nfldstr nfneg nfset nlfldsep \
nlinstr nlstrina noeffect nofile nofmtch noloop1 noloop2 nonl \
noparms nors nulrsend numindex numsubstr \
- octsub ofmt ofmta ofmtbig ofmtfidl ofmts onlynl opasnidx opasnslf \
+ octsub ofmt ofmta ofmtbig ofmtfidl ofmts ofs1 onlynl opasnidx opasnslf \
paramdup paramres paramtyp parse1 parsefld parseme pcntplus \
posix2008sub prdupval prec printf0 printf1 prmarscl prmreuse \
prt1eval prtoeval \
- rand range1 rebt8b1 redfilnm regeq regrange reindops reparse \
+ rand range1 rebt8b1 redfilnm regeq regexprange regrange \
+ reindops reparse \
resplit rri1 rs rsnul1nl rsnulbig rsnulbig2 rstest1 rstest2 \
rstest3 rstest4 rstest5 rswhite \
scalar sclforin sclifin sortempty splitargv splitarr splitdef \
@@ -1084,7 +1095,7 @@ UNIX_TESTS = \
GAWK_EXT_TESTS = \
aadelete1 aadelete2 aarray1 aasort aasorti argtest arraysort \
- backw badargs beginfile1 beginfile2 binmode1 \
+ backw badargs beginfile1 beginfile2 binmode1 charasbytes \
clos1way delsub devfd devfd1 devfd2 dumpvars exit \
fieldwdth fpat1 fpat2 fpat3 fpatnull fsfwfs funlen \
fwtest fwtest2 fwtest3 \
@@ -1946,11 +1957,8 @@ mpfrbigint:
jarebug::
@echo $@
- @if locale -a | grep ja_JP.EUC-JP > /dev/null ; then \
- GAWKLOCALE=ja_JP.EUC-JP ; export GAWKLOCALE ; \
- $(AWK) -f $(srcdir)/$@.awk $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@ ; \
- -$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ ; \
- fi
+ @$(srcdir)/$@.sh "$(AWKPROG)" "$(srcdir)/$@.awk" "$(srcdir)/$@.in" "_$@"
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
ordchr2::
@echo $@
@@ -2027,6 +2035,13 @@ fts:
@echo $@
@$(AWK) -f $(srcdir)/fts.awk
@-$(CMP) $@.out1 $@.out2 && rm -f $@.out[12]
+
+charasbytes:
+ @echo $@
+ @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
+ AWKPATH=$(srcdir) $(AWK) -b -f $@.awk $(srcdir)/$@.in | \
+ od -c -t x1 >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
Gt-dummy:
# file Maketests, generated from Makefile.am by the Gentests program
addcomma:
@@ -2349,6 +2364,11 @@ getline4:
@AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+getline5:
+ @echo $@
+ @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
getnr2tb:
@echo $@
@AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -2584,6 +2604,11 @@ ofmts:
@AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+ofs1:
+ @echo $@
+ @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
onlynl:
@echo $@
@AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -2684,6 +2709,11 @@ regeq:
@AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+regexprange:
+ @echo $@
+ @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
regrange:
@echo $@
@AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
diff --git a/test/Maketests b/test/Maketests
index 0a4e5820..675551e3 100644
--- a/test/Maketests
+++ b/test/Maketests
@@ -320,6 +320,11 @@ getline4:
@AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+getline5:
+ @echo $@
+ @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
getnr2tb:
@echo $@
@AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -555,6 +560,11 @@ ofmts:
@AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+ofs1:
+ @echo $@
+ @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
onlynl:
@echo $@
@AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -655,6 +665,11 @@ regeq:
@AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+regexprange:
+ @echo $@
+ @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
regrange:
@echo $@
@AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
diff --git a/test/charasbytes.awk b/test/charasbytes.awk
new file mode 100755
index 00000000..feb195c8
--- /dev/null
+++ b/test/charasbytes.awk
@@ -0,0 +1 @@
+{ print gensub(/\xE2\x80./, "ZZZ", "g", $0) }
diff --git a/test/charasbytes.in b/test/charasbytes.in
new file mode 100644
index 00000000..4a8d4a1e
--- /dev/null
+++ b/test/charasbytes.in
@@ -0,0 +1 @@
+–
diff --git a/test/charasbytes.ok b/test/charasbytes.ok
new file mode 100644
index 00000000..a1702e64
--- /dev/null
+++ b/test/charasbytes.ok
@@ -0,0 +1,3 @@
+0000000 Z Z Z \n
+ 5a 5a 5a 0a
+0000004
diff --git a/test/getline5.awk b/test/getline5.awk
new file mode 100644
index 00000000..4757bcfe
--- /dev/null
+++ b/test/getline5.awk
@@ -0,0 +1,35 @@
+# Message-ID: <4F7832BD.9030709@gmx.com>
+# Date: Sun, 01 Apr 2012 11:49:33 +0100
+# From: Duncan Moore <duncan.moore@gmx.com>
+# To: "bug-gawk@gnu.org" <bug-gawk@gnu.org>
+# Subject: [bug-gawk] getline difference from gawk versions >=4.0.0
+#
+# Hi
+#
+# b.awk:
+#
+# BEGIN {
+# system("echo 1 > f")
+# while ((getline a[++c] < "f") > 0) {}
+# print c
+# }
+#
+# gawk -f b.awk
+#
+# Prior to gawk 4.0.0 this outputs:
+#
+# 1
+#
+# For 4.0.0 and 4.0.1 it outputs:
+#
+# 2
+#
+# Regards
+# Duncan Moore
+
+BEGIN {
+ system("echo 1 > f")
+ while ((getline a[++c] < "f") > 0) {}
+ print c
+ system("rm -f f")
+}
diff --git a/test/getline5.ok b/test/getline5.ok
new file mode 100644
index 00000000..0cfbf088
--- /dev/null
+++ b/test/getline5.ok
@@ -0,0 +1 @@
+2
diff --git a/test/jarebug.sh b/test/jarebug.sh
new file mode 100755
index 00000000..dcc73e6c
--- /dev/null
+++ b/test/jarebug.sh
@@ -0,0 +1,21 @@
+#! /bin/sh
+
+awk=$1
+prog=$2
+infile=$3
+out=$4
+
+# GLIBC gives us ja_JP.EUC-JP but Mac OS X uses ja_JP.eucJP
+
+cp $infile $out # set up default
+
+for locale in ja_JP.EUC-JP ja_JP.eucJP
+do
+ if locale -a | grep $locale > /dev/null
+ then
+ LANG=$locale
+ LC_ALL=$locale
+ export LANG LC_ALL
+ $awk -f $prog $infile >$out 2>&1 || echo EXIT CODE: $? >> $out
+ fi
+done
diff --git a/test/ofs1.awk b/test/ofs1.awk
new file mode 100755
index 00000000..83b3c2a5
--- /dev/null
+++ b/test/ofs1.awk
@@ -0,0 +1,23 @@
+# Translate this shell script into gawk:
+#
+#! /bin/sh -
+#
+# awktest()
+# {
+# echo a:b:c | $AWK -F":" '{$2="x"; OFS=FS; print}'
+# echo a:b:c | $AWK -F":" '{$2="x"; print; OFS=FS; print}'
+# echo a:b:c | $AWK -F":" '{$2="x"; print $1; OFS=FS; print}'
+# echo a:b:c | $AWK -F":" '{$2="x"; print; $2=$2; OFS=FS; print}'
+# }
+#
+# AWK=./gawk
+# awktest > foo.gawk
+
+BEGIN { FS = ":" }
+
+# Have to reset OFS at end since not running separate invocations
+
+FNR == 1 { $2 = "x"; OFS = FS; print ; OFS = " "}
+FNR == 2 { $2 = "x"; print; OFS = FS; print ; OFS = " "}
+FNR == 3 { $2 = "x"; print $1; OFS = FS; print ; OFS = " "}
+FNR == 4 { $2 = "x"; print; $2 = $2; OFS = FS; print }
diff --git a/test/ofs1.in b/test/ofs1.in
new file mode 100644
index 00000000..0582b9b1
--- /dev/null
+++ b/test/ofs1.in
@@ -0,0 +1,4 @@
+a:b:c
+a:b:c
+a:b:c
+a:b:c
diff --git a/test/ofs1.ok b/test/ofs1.ok
new file mode 100644
index 00000000..a3a8ca7b
--- /dev/null
+++ b/test/ofs1.ok
@@ -0,0 +1,7 @@
+a:x:c
+a x c
+a x c
+a
+a:x:c
+a x c
+a:x:c
diff --git a/test/regexprange.awk b/test/regexprange.awk
new file mode 100644
index 00000000..861e5ee5
--- /dev/null
+++ b/test/regexprange.awk
@@ -0,0 +1,14 @@
+BEGIN {
+ range = "[a-dx-z]"
+
+ split("ABCDEFGHIJKLMNOPQRSTUVWXYZ", upper, "")
+ split("abcdefghijklmnopqrstuvwxyz", lower, "")
+
+ for (i = 1; i in upper; i++)
+ printf("%s ~ %s ---> %s\n",
+ upper[i], range, (upper[i] ~ range) ? "true" : "false")
+
+ for (i = 1; i in lower; i++)
+ printf("%s ~ %s ---> %s\n",
+ lower[i], range, (lower[i] ~ range) ? "true" : "false")
+}
diff --git a/test/regexprange.ok b/test/regexprange.ok
new file mode 100644
index 00000000..dbf5d35a
--- /dev/null
+++ b/test/regexprange.ok
@@ -0,0 +1,52 @@
+A ~ [a-dx-z] ---> false
+B ~ [a-dx-z] ---> false
+C ~ [a-dx-z] ---> false
+D ~ [a-dx-z] ---> false
+E ~ [a-dx-z] ---> false
+F ~ [a-dx-z] ---> false
+G ~ [a-dx-z] ---> false
+H ~ [a-dx-z] ---> false
+I ~ [a-dx-z] ---> false
+J ~ [a-dx-z] ---> false
+K ~ [a-dx-z] ---> false
+L ~ [a-dx-z] ---> false
+M ~ [a-dx-z] ---> false
+N ~ [a-dx-z] ---> false
+O ~ [a-dx-z] ---> false
+P ~ [a-dx-z] ---> false
+Q ~ [a-dx-z] ---> false
+R ~ [a-dx-z] ---> false
+S ~ [a-dx-z] ---> false
+T ~ [a-dx-z] ---> false
+U ~ [a-dx-z] ---> false
+V ~ [a-dx-z] ---> false
+W ~ [a-dx-z] ---> false
+X ~ [a-dx-z] ---> false
+Y ~ [a-dx-z] ---> false
+Z ~ [a-dx-z] ---> false
+a ~ [a-dx-z] ---> true
+b ~ [a-dx-z] ---> true
+c ~ [a-dx-z] ---> true
+d ~ [a-dx-z] ---> true
+e ~ [a-dx-z] ---> false
+f ~ [a-dx-z] ---> false
+g ~ [a-dx-z] ---> false
+h ~ [a-dx-z] ---> false
+i ~ [a-dx-z] ---> false
+j ~ [a-dx-z] ---> false
+k ~ [a-dx-z] ---> false
+l ~ [a-dx-z] ---> false
+m ~ [a-dx-z] ---> false
+n ~ [a-dx-z] ---> false
+o ~ [a-dx-z] ---> false
+p ~ [a-dx-z] ---> false
+q ~ [a-dx-z] ---> false
+r ~ [a-dx-z] ---> false
+s ~ [a-dx-z] ---> false
+t ~ [a-dx-z] ---> false
+u ~ [a-dx-z] ---> false
+v ~ [a-dx-z] ---> false
+w ~ [a-dx-z] ---> false
+x ~ [a-dx-z] ---> true
+y ~ [a-dx-z] ---> true
+z ~ [a-dx-z] ---> true