about summary refs log tree commit diff
path: root/REORG.TODO/localedata/tests
diff options
context:
space:
mode:
Diffstat (limited to 'REORG.TODO/localedata/tests')
-rw-r--r--REORG.TODO/localedata/tests/test1.cm82
-rw-r--r--REORG.TODO/localedata/tests/test1.def9
-rw-r--r--REORG.TODO/localedata/tests/test2.cm82
-rw-r--r--REORG.TODO/localedata/tests/test2.def9
-rw-r--r--REORG.TODO/localedata/tests/test3.cm82
-rw-r--r--REORG.TODO/localedata/tests/test3.def9
-rw-r--r--REORG.TODO/localedata/tests/test4.cm87
-rw-r--r--REORG.TODO/localedata/tests/test4.def7
-rw-r--r--REORG.TODO/localedata/tests/test5.cm89
-rw-r--r--REORG.TODO/localedata/tests/test5.def36
-rw-r--r--REORG.TODO/localedata/tests/test5.ds24
-rw-r--r--REORG.TODO/localedata/tests/test6.c137
-rw-r--r--REORG.TODO/localedata/tests/test6.cm93
-rw-r--r--REORG.TODO/localedata/tests/test6.def20
-rw-r--r--REORG.TODO/localedata/tests/test6.ds113
-rw-r--r--REORG.TODO/localedata/tests/test7.cm86
-rw-r--r--REORG.TODO/localedata/tests/test7.def25
-rw-r--r--REORG.TODO/localedata/tests/trans.def161
18 files changed, 1151 insertions, 0 deletions
diff --git a/REORG.TODO/localedata/tests/test1.cm b/REORG.TODO/localedata/tests/test1.cm
new file mode 100644
index 0000000000..b1bc5efb52
--- /dev/null
+++ b/REORG.TODO/localedata/tests/test1.cm
@@ -0,0 +1,82 @@
+<code_set_name> BIG5
+<comment_char> %
+<escape_char> /
+<mb_cur_max>  2
+<mb_cur_min>  1
+CHARMAP
+<A>                    /x41
+<B>                    /x42
+<C>                    /x43
+<D>                    /x44
+<E>                    /x45
+<F>                    /x46
+<G>                    /x47
+<H>                    /x48
+<I>                    /x49
+<J>                    /x4A
+<K>                    /x4B
+<L>                    /x4C
+<M>                    /x4D
+<N>                    /x4E
+<O>                    /x4F
+<P>                    /x50
+<Q>                    /x51
+<R>                    /x52
+<S>                    /x53
+<T>                    /x54
+<U>                    /x55
+<V>                    /x56
+<W>                    /x57
+<X>                    /x58
+<Y>                    /x59
+<Z>                    /x5A
+
+<a>                    /x61
+<b>                    /x62
+<c>                    /x63
+<d>                    /x64
+<e>                    /x65
+<f>                    /x66
+<g>                    /x67
+<h>                    /x68
+<i>                    /x69
+<j>                    /x6a
+<k>                    /x6b
+<l>                    /x6c
+<m>                    /x6d
+<n>                    /x6e
+<o>                    /x6f
+<p>                    /x70
+<q>                    /x71
+<r>                    /x72
+<s>                    /x73
+<t>                    /x74
+<u>                    /x75
+<v>                    /x76
+<w>                    /x77
+<x>                    /x78
+<y>                    /x79
+<z>                    /x7a
+<SP>			/x20
+<space>			/x20
+<0>                    /x30
+<1>                    /x31
+<2>                    /x32
+<3>                    /x33
+<4>                    /x34
+<5>                    /x35
+<6>                    /x36
+<7>                    /x37
+<8>                    /x38
+<9>                    /x39
+
+<period>               /x2e
+<colon>                /x3a
+<percent-sign>         /x25
+<slash>                /x2f
+<circumflex>           /x5e
+<left-square-bracket>  /x5b
+<right-square-bracket> /x5d
+
+<B1>...<B3>	/xa1/x40
+END CHARMAP
diff --git a/REORG.TODO/localedata/tests/test1.def b/REORG.TODO/localedata/tests/test1.def
new file mode 100644
index 0000000000..53a7bbcd9d
--- /dev/null
+++ b/REORG.TODO/localedata/tests/test1.def
@@ -0,0 +1,9 @@
+LC_CTYPE
+
+upper	<A>
+lower   <a>
+space	<SP>
+blank	<SP>
+alpha	<A>;<a>;<b1>..<b3>
+
+END LC_CTYPE
diff --git a/REORG.TODO/localedata/tests/test2.cm b/REORG.TODO/localedata/tests/test2.cm
new file mode 100644
index 0000000000..4a4d8c2665
--- /dev/null
+++ b/REORG.TODO/localedata/tests/test2.cm
@@ -0,0 +1,82 @@
+<code_set_name> BIG5
+<comment_char> %
+<escape_char> /
+<mb_cur_max>  2
+<mb_cur_min>  1
+CHARMAP
+<A>                    /x41
+<B>                    /x42
+<C>                    /x43
+<D>                    /x44
+<E>                    /x45
+<F>                    /x46
+<G>                    /x47
+<H>                    /x48
+<I>                    /x49
+<J>                    /x4A
+<K>                    /x4B
+<L>                    /x4C
+<M>                    /x4D
+<N>                    /x4E
+<O>                    /x4F
+<P>                    /x50
+<Q>                    /x51
+<R>                    /x52
+<S>                    /x53
+<T>                    /x54
+<U>                    /x55
+<V>                    /x56
+<W>                    /x57
+<X>                    /x58
+<Y>                    /x59
+<Z>                    /x5A
+
+<a>                    /x61
+<b>                    /x62
+<c>                    /x63
+<d>                    /x64
+<e>                    /x65
+<f>                    /x66
+<g>                    /x67
+<h>                    /x68
+<i>                    /x69
+<j>                    /x6a
+<k>                    /x6b
+<l>                    /x6c
+<m>                    /x6d
+<n>                    /x6e
+<o>                    /x6f
+<p>                    /x70
+<q>                    /x71
+<r>                    /x72
+<s>                    /x73
+<t>                    /x74
+<u>                    /x75
+<v>                    /x76
+<w>                    /x77
+<x>                    /x78
+<y>                    /x79
+<z>                    /x7a
+<SP>			/x20
+<space>			/x20
+<0>                    /x30
+<1>                    /x31
+<2>                    /x32
+<3>                    /x33
+<4>                    /x34
+<5>                    /x35
+<6>                    /x36
+<7>                    /x37
+<8>                    /x38
+<9>                    /x39
+
+<period>               /x2e
+<colon>                /x3a
+<percent-sign>         /x25
+<slash>                /x2f
+<circumflex>           /x5e
+<left-square-bracket>  /x5b
+<right-square-bracket> /x5d
+
+<b01>...<b03>	/xa1/x40
+END CHARMAP
diff --git a/REORG.TODO/localedata/tests/test2.def b/REORG.TODO/localedata/tests/test2.def
new file mode 100644
index 0000000000..9d252d7403
--- /dev/null
+++ b/REORG.TODO/localedata/tests/test2.def
@@ -0,0 +1,9 @@
+LC_CTYPE
+
+upper	<A>
+lower   <a>
+space	<SP>
+blank	<SP>
+alpha	<A>;<a>;<b01>..<b03>
+
+END LC_CTYPE
diff --git a/REORG.TODO/localedata/tests/test3.cm b/REORG.TODO/localedata/tests/test3.cm
new file mode 100644
index 0000000000..10cd02001c
--- /dev/null
+++ b/REORG.TODO/localedata/tests/test3.cm
@@ -0,0 +1,82 @@
+<code_set_name> BIG5
+<comment_char> %
+<escape_char> /
+<mb_cur_max>  2
+<mb_cur_min>  1
+CHARMAP
+<A>                    /x41
+<B>                    /x42
+<C>                    /x43
+<D>                    /x44
+<E>                    /x45
+<F>                    /x46
+<G>                    /x47
+<H>                    /x48
+<I>                    /x49
+<J>                    /x4A
+<K>                    /x4B
+<L>                    /x4C
+<M>                    /x4D
+<N>                    /x4E
+<O>                    /x4F
+<P>                    /x50
+<Q>                    /x51
+<R>                    /x52
+<S>                    /x53
+<T>                    /x54
+<U>                    /x55
+<V>                    /x56
+<W>                    /x57
+<X>                    /x58
+<Y>                    /x59
+<Z>                    /x5A
+
+<a>                    /x61
+<b>                    /x62
+<c>                    /x63
+<d>                    /x64
+<e>                    /x65
+<f>                    /x66
+<g>                    /x67
+<h>                    /x68
+<i>                    /x69
+<j>                    /x6a
+<k>                    /x6b
+<l>                    /x6c
+<m>                    /x6d
+<n>                    /x6e
+<o>                    /x6f
+<p>                    /x70
+<q>                    /x71
+<r>                    /x72
+<s>                    /x73
+<t>                    /x74
+<u>                    /x75
+<v>                    /x76
+<w>                    /x77
+<x>                    /x78
+<y>                    /x79
+<z>                    /x7a
+<SP>			/x20
+<space>			/x20
+<0>                    /x30
+<1>                    /x31
+<2>                    /x32
+<3>                    /x33
+<4>                    /x34
+<5>                    /x35
+<6>                    /x36
+<7>                    /x37
+<8>                    /x38
+<9>                    /x39
+
+<period>               /x2e
+<colon>                /x3a
+<percent-sign>         /x25
+<slash>                /x2f
+<circumflex>           /x5e
+<left-square-bracket>  /x5b
+<right-square-bracket> /x5d
+
+<b1>...<b3>	/xa1/x40
+END CHARMAP
diff --git a/REORG.TODO/localedata/tests/test3.def b/REORG.TODO/localedata/tests/test3.def
new file mode 100644
index 0000000000..53a7bbcd9d
--- /dev/null
+++ b/REORG.TODO/localedata/tests/test3.def
@@ -0,0 +1,9 @@
+LC_CTYPE
+
+upper	<A>
+lower   <a>
+space	<SP>
+blank	<SP>
+alpha	<A>;<a>;<b1>..<b3>
+
+END LC_CTYPE
diff --git a/REORG.TODO/localedata/tests/test4.cm b/REORG.TODO/localedata/tests/test4.cm
new file mode 100644
index 0000000000..1445597606
--- /dev/null
+++ b/REORG.TODO/localedata/tests/test4.cm
@@ -0,0 +1,87 @@
+<code_set_name> BIG5
+<escape_char> /
+<mb_cur_max>  2
+<mb_cur_min>  1
+CHARMAP
+<b0101>...<b0103>       /xa1/x40
+<B0101>...<B0103>       /xa1/xa1
+<b0901>...<b0903>       /xa1/x40
+<B0901>...<B0903>       /xa1/xa1
+<b1001>...<b1003>       /xaa/x40
+<B1001>...<B1003>       /xaa/xa1
+
+<A>                    /x41
+<B>                    /x42
+<C>                    /x43
+<D>                    /x44
+<E>                    /x45
+<F>                    /x46
+<G>                    /x47
+<H>                    /x48
+<I>                    /x49
+<J>                    /x4A
+<K>                    /x4B
+<L>                    /x4C
+<M>                    /x4D
+<N>                    /x4E
+<O>                    /x4F
+<P>                    /x50
+<Q>                    /x51
+<R>                    /x52
+<S>                    /x53
+<T>                    /x54
+<U>                    /x55
+<V>                    /x56
+<W>                    /x57
+<X>                    /x58
+<Y>                    /x59
+<Z>                    /x5A
+
+<a>                    /x61
+<b>                    /x62
+<c>                    /x63
+<d>                    /x64
+<e>                    /x65
+<f>                    /x66
+<g>                    /x67
+<h>                    /x68
+<i>                    /x69
+<j>                    /x6a
+<k>                    /x6b
+<l>                    /x6c
+<m>                    /x6d
+<n>                    /x6e
+<o>                    /x6f
+<p>                    /x70
+<q>                    /x71
+<r>                    /x72
+<s>                    /x73
+<t>                    /x74
+<u>                    /x75
+<v>                    /x76
+<w>                    /x77
+<x>                    /x78
+<y>                    /x79
+<z>                    /x7a
+<SP>			/x20
+<space>			/x20
+<0>                    /x30
+<1>                    /x31
+<2>                    /x32
+<3>                    /x33
+<4>                    /x34
+<5>                    /x35
+<6>                    /x36
+<7>                    /x37
+<8>                    /x38
+<9>                    /x39
+
+<period>               /x2e
+<colon>                /x3a
+<percent-sign>         /x25
+<slash>                /x2f
+<circumflex>           /x5e
+<left-square-bracket>  /x5b
+<right-square-bracket> /x5d
+
+END CHARMAP
diff --git a/REORG.TODO/localedata/tests/test4.def b/REORG.TODO/localedata/tests/test4.def
new file mode 100644
index 0000000000..3d96d3a88f
--- /dev/null
+++ b/REORG.TODO/localedata/tests/test4.def
@@ -0,0 +1,7 @@
+LC_COLLATE
+order_start forward
+<b1001>
+<B1001>
+UNDEFINED       IGNORE
+order_end
+END LC_COLLATE
diff --git a/REORG.TODO/localedata/tests/test5.cm b/REORG.TODO/localedata/tests/test5.cm
new file mode 100644
index 0000000000..bb7b3605b1
--- /dev/null
+++ b/REORG.TODO/localedata/tests/test5.cm
@@ -0,0 +1,89 @@
+<code_set_name> test5
+<comment_char> %
+<escape_char> /
+<mb_cur_max> 2
+<mb_cur_min> 1
+CHARMAP
+<k0101>...<k0194>       /xa1/xa1
+<k0201>...<k0294>       /xa2/xa1
+<k1601>...<k1694>       /xa3/xa1
+<k1701>...<k1794>       /xa4/xa1
+<k4001>...<k4094>       /xa5/xa1
+<k5001>...<k5094>       /xa6/xa1
+<k6001>...<k6094>       /xa7/xa1
+
+<A>                    /x41
+<B>                    /x42
+<C>                    /x43
+<D>                    /x44
+<E>                    /x45
+<F>                    /x46
+<G>                    /x47
+<H>                    /x48
+<I>                    /x49
+<J>                    /x4A
+<K>                    /x4B
+<L>                    /x4C
+<M>                    /x4D
+<N>                    /x4E
+<O>                    /x4F
+<P>                    /x50
+<Q>                    /x51
+<R>                    /x52
+<S>                    /x53
+<T>                    /x54
+<U>                    /x55
+<V>                    /x56
+<W>                    /x57
+<X>                    /x58
+<Y>                    /x59
+<Z>                    /x5A
+
+<a>                    /x61
+<b>                    /x62
+<c>                    /x63
+<d>                    /x64
+<e>                    /x65
+<f>                    /x66
+<g>                    /x67
+<h>                    /x68
+<i>                    /x69
+<j>                    /x6a
+<k>                    /x6b
+<l>                    /x6c
+<m>                    /x6d
+<n>                    /x6e
+<o>                    /x6f
+<p>                    /x70
+<q>                    /x71
+<r>                    /x72
+<s>                    /x73
+<t>                    /x74
+<u>                    /x75
+<v>                    /x76
+<w>                    /x77
+<x>                    /x78
+<y>                    /x79
+<z>                    /x7a
+<SP>			/x20
+<space>			/x20
+<0>                    /x30
+<1>                    /x31
+<2>                    /x32
+<3>                    /x33
+<4>                    /x34
+<5>                    /x35
+<6>                    /x36
+<7>                    /x37
+<8>                    /x38
+<9>                    /x39
+
+<period>               /x2e
+<colon>                /x3a
+<percent-sign>         /x25
+<slash>                /x2f
+<circumflex>           /x5e
+<left-square-bracket>  /x5b
+<right-square-bracket> /x5d
+
+END CHARMAP
diff --git a/REORG.TODO/localedata/tests/test5.def b/REORG.TODO/localedata/tests/test5.def
new file mode 100644
index 0000000000..c009033bb9
--- /dev/null
+++ b/REORG.TODO/localedata/tests/test5.def
@@ -0,0 +1,36 @@
+escape_char /
+comment_char %
+
+LC_TIME
+
+abday    "<k0101><k0102><k0103>";"<k0101><k0102><k0103>";/
+         "<k4001><k4002><k4003>";"<k4001><k4002><k4003>";/
+         "<k5001><k5002><k5003>";"<k5001><k5002><k5003>";/
+         "<k6001><k6002><k6003>"
+day      "<k6001><k6002><k6003>";/
+         "<k6001><k6002><k6003>";/
+         "<k6001><k6002><k6003>";/
+         "<k6001><k6002><k6003>";/
+         "<k6001><k6002><k6003>";/
+         "<k6001><k6002><k6003>";/
+         "<k6001><k6002><k6003>"
+abmon    "<k6001>";"<k6001>";/
+        "<k6001>";"<k6001>";/
+        "<k6001>";"<k6001>";/
+        "<k6001>";"<k6001>";/
+        "<k6001>";"<k6001>";/
+        "<k6001>";"<k6001>"
+mon    "<k6001>";"<k6001>";/
+        "<k6001>";"<k6001>";/
+        "<k6001>";"<k6001>";/
+        "<k6001>";"<k6001>";/
+        "<k6001>";"<k6001>";/
+        "<k6001>";"<k6001>"
+
+d_t_fmt ""
+d_fmt   ""
+t_fmt   ""
+am_pm   "<k6001><k5002>";"<k5002><k4036>"
+t_fmt_ampm ""
+
+END LC_TIME
diff --git a/REORG.TODO/localedata/tests/test5.ds b/REORG.TODO/localedata/tests/test5.ds
new file mode 100644
index 0000000000..261e1eb126
--- /dev/null
+++ b/REORG.TODO/localedata/tests/test5.ds
@@ -0,0 +1,24 @@
+escape_char /
+<k0101>		<UAC00>
+<k0102>		<UAC01>
+<k0103>		<UAC02>
+<k4001>		<U2170>
+<k4002>		<U2171>
+<k4003>		<U2172>
+<k4036>		<U0394>
+<k5001>		<U2500>
+<k5002>		<U2502>
+<k5003>		<U250C>
+<k6001>		<U3395>
+<k6002>		<U3396>
+<k6003>		<U3397>
+<0>		<U0030>
+<1>		<U0031>
+<2>		<U0032>
+<3>		<U0033>
+<4>		<U0034>
+<5>		<U0035>
+<6>		<U0036>
+<7>		<U0037>
+<8>		<U0038>
+<9>		<U0039>
diff --git a/REORG.TODO/localedata/tests/test6.c b/REORG.TODO/localedata/tests/test6.c
new file mode 100644
index 0000000000..b43f62dfa7
--- /dev/null
+++ b/REORG.TODO/localedata/tests/test6.c
@@ -0,0 +1,137 @@
+/* Test program for character classes and mappings.
+   Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <ctype.h>
+#include <locale.h>
+#include <wchar.h>
+
+
+int
+main (void)
+{
+  const char lower[] = "abcdefghijklmnopqrstuvwxyz";
+  const char upper[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+#define LEN (sizeof (upper) - 1)
+  const wchar_t wlower[] = L"abcdefghijklmnopqrstuvwxyz";
+  const wchar_t wupper[] = L"ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+  int i;
+  int result = 0;
+
+  setlocale (LC_ALL, "test6");
+
+  for (i = 0; i < LEN; ++i)
+    {
+      /* Test basic table handling (basic == not more than 256 characters).
+	 The charmaps swaps the normal lower-upper case meaning of the
+	 ASCII characters used in the source code while the Unicode mapping
+	 in the repertoire map has the normal correspondents.  This test
+	 shows the independence of the tables for `char' and `wchar_t'
+	 characters.  */
+
+      if (islower (lower[i]))
+	{
+	  printf ("islower ('%c') false\n", lower[i]);
+	  result = 1;
+	}
+      if (! isupper (lower[i]))
+	{
+	  printf ("isupper ('%c') false\n", lower[i]);
+	  result = 1;
+	}
+
+      if (! islower (upper[i]))
+	{
+	  printf ("islower ('%c') false\n", upper[i]);
+	  result = 1;
+	}
+      if (isupper (upper[i]))
+	{
+	  printf ("isupper ('%c') false\n", upper[i]);
+	  result = 1;
+	}
+
+      if (toupper (lower[i]) != lower[i])
+	{
+	  printf ("toupper ('%c') false\n", lower[i]);
+	  result = 1;
+	}
+      if (tolower (lower[i]) != upper[i])
+	{
+	  printf ("tolower ('%c') false\n", lower[i]);
+	  result = 1;
+	}
+
+      if (tolower (upper[i]) != upper[i])
+	{
+	  printf ("tolower ('%c') false\n", upper[i]);
+	  result = 1;
+	}
+      if (toupper (upper[i]) != lower[i])
+	{
+	  printf ("toupper ('%c') false\n", upper[i]);
+	  result = 1;
+	}
+
+      if (iswlower (wupper[i]))
+	{
+	  printf ("iswlower (L'%c') false\n", upper[i]);
+	  result = 1;
+	}
+      if (! iswupper (wupper[i]))
+	{
+	  printf ("iswupper (L'%c') false\n", upper[i]);
+	  result = 1;
+	}
+
+      if (iswupper (wlower[i]))
+	{
+	  printf ("iswupper (L'%c') false\n", lower[i]);
+	  result = 1;
+	}
+      if (! iswlower (wlower[i]))
+	{
+	  printf ("iswlower (L'%c') false\n", lower[i]);
+	  result = 1;
+	}
+
+      if (towupper (wlower[i]) != wupper[i])
+	{
+	  printf ("towupper ('%c') false\n", lower[i]);
+	  result = 1;
+	}
+      if (towlower (wlower[i]) != wlower[i])
+	{
+	  printf ("towlower ('%c') false\n", lower[i]);
+	  result = 1;
+	}
+
+      if (towlower (wupper[i]) != wlower[i])
+	{
+	  printf ("towlower ('%c') false\n", upper[i]);
+	  result = 1;
+	}
+      if (towupper (wupper[i]) != wupper[i])
+	{
+	  printf ("towupper ('%c') false\n", upper[i]);
+	  result = 1;
+	}
+    }
+
+  return result;
+}
diff --git a/REORG.TODO/localedata/tests/test6.cm b/REORG.TODO/localedata/tests/test6.cm
new file mode 100644
index 0000000000..3711495d86
--- /dev/null
+++ b/REORG.TODO/localedata/tests/test6.cm
@@ -0,0 +1,93 @@
+<code_set_name> test6
+
+CHARMAP
+<tab>                  \x09
+<newline>              \x0A
+<vertical-tab>         \x0B
+<form-feed>            \x0C
+<carriage-return>      \x0D
+<SP>                   \x20
+<space>                \x20
+<!>                    \x21
+<">                    \x22
+<%>                    \x25
+<&>                    \x26
+<'>                    \x27
+<(>                    \x28
+<)>                    \x29
+<*>                    \x2A
+<+>                    \x2B
+<,>                    \x2C
+<->                    \x2D
+<.>                    \x2E
+<\\>                   \x2F
+<0>                    \x30
+<1>                    \x31
+<2>                    \x32
+<3>                    \x33
+<4>                    \x34
+<5>                    \x35
+<6>                    \x36
+<7>                    \x37
+<8>                    \x38
+<9>                    \x39
+<:>                    \x3A
+<;>                    \x3B
+<<>                    \x3C
+<=>                    \x3D
+<\>>                   \x3E
+<?>                    \x3F
+<a>                    \x41
+<b>                    \x42
+<c>                    \x43
+<d>                    \x44
+<e>                    \x45
+<f>                    \x46
+<g>                    \x47
+<h>                    \x48
+<i>                    \x49
+<j>                    \x4A
+<k>                    \x4B
+<l>                    \x4C
+<m>                    \x4D
+<n>                    \x4E
+<o>                    \x4F
+<p>                    \x50
+<q>                    \x51
+<r>                    \x52
+<s>                    \x53
+<t>                    \x54
+<u>                    \x55
+<v>                    \x56
+<w>                    \x57
+<x>                    \x58
+<y>                    \x59
+<z>                    \x5A
+<_>                    \x5F
+<A>                    \x61
+<B>                    \x62
+<C>                    \x63
+<D>                    \x64
+<E>                    \x65
+<F>                    \x66
+<G>                    \x67
+<H>                    \x68
+<I>                    \x69
+<J>                    \x6A
+<K>                    \x6B
+<L>                    \x6C
+<M>                    \x6D
+<N>                    \x6E
+<O>                    \x6F
+<P>                    \x70
+<Q>                    \x71
+<R>                    \x72
+<S>                    \x73
+<T>                    \x74
+<U>                    \x75
+<V>                    \x76
+<W>                    \x77
+<X>                    \x78
+<Y>                    \x79
+<Z>                    \x7A
+END CHARMAP
diff --git a/REORG.TODO/localedata/tests/test6.def b/REORG.TODO/localedata/tests/test6.def
new file mode 100644
index 0000000000..f8f88b3296
--- /dev/null
+++ b/REORG.TODO/localedata/tests/test6.def
@@ -0,0 +1,20 @@
+LC_CTYPE
+
+lower <a>;<b>;<c>;<d>;<e>;<f>;<g>;<h>;<i>;<j>;<k>;<l>;<m>;<n>;<o>;<p>;<q>; \
+      <r>;<s>;<t>;<u>;<v>;<w>;<x>;<y>;<z>
+upper <A>;<B>;<C>;<D>;<E>;<F>;<G>;<H>;<I>;<J>;<K>;<L>;<M>;<N>;<O>;<P>;<Q>; \
+      <R>;<S>;<T>;<U>;<V>;<W>;<X>;<Y>;<Z>
+
+tolower (<A>,<a>);(<B>,<b>);(<C>,<c>);(<D>,<d>);(<E>,<e>);(<F>,<f>); \
+        (<G>,<g>);(<H>,<h>);(<I>,<i>);(<J>,<j>);(<K>,<k>);(<L>,<l>); \
+        (<M>,<m>);(<N>,<n>);(<O>,<o>);(<P>,<p>);(<Q>,<q>);(<R>,<r>); \
+        (<S>,<s>);(<T>,<t>);(<U>,<u>);(<V>,<v>);(<W>,<w>);(<X>,<x>); \
+        (<Y>,<y>);(<Z>,<z>)
+
+toupper (<a>,<A>);(<b>,<B>);(<c>,<C>);(<d>,<D>);(<e>,<E>);(<f>,<F>); \
+        (<g>,<G>);(<h>,<H>);(<i>,<I>);(<j>,<J>);(<k>,<K>);(<l>,<L>); \
+        (<m>,<M>);(<n>,<N>);(<o>,<O>);(<p>,<P>);(<q>,<Q>);(<r>,<R>); \
+        (<s>,<S>);(<t>,<T>);(<u>,<U>);(<v>,<V>);(<w>,<W>);(<x>,<X>); \
+        (<y>,<Y>);(<z>,<Z>)
+
+END LC_CTYPE
diff --git a/REORG.TODO/localedata/tests/test6.ds b/REORG.TODO/localedata/tests/test6.ds
new file mode 100644
index 0000000000..bb1218569d
--- /dev/null
+++ b/REORG.TODO/localedata/tests/test6.ds
@@ -0,0 +1,113 @@
+<tab>                  <U0009> HORIZONTAL TABULATION
+<newline>              <U000A> LINE FEED
+<vertical-tab>         <U000B> VERTICAL TABULATION
+<form-feed>            <U000C> FORM FEED
+<carriage-return>      <U000D> CARRIAGE RETURN
+<SP>                   <U0020> SPACE
+<space>                <U0020> SPACE
+<!>                    <U0021> EXCLAMATION MARK
+<">                    <U0022> QUOTATION MARK
+<Nb>                   <U0023> NUMBER SIGN
+<DO>                   <U0024> DOLLAR SIGN
+<!S>                   <U0024> DOLLAR SIGN
+<%>                    <U0025> PERCENT SIGN
+<&>                    <U0026> AMPERSAND
+<'>                    <U0027> APOSTROPHE
+<(>                    <U0028> LEFT PARENTHESIS
+<)>                    <U0029> RIGHT PARENTHESIS
+<*>                    <U002A> ASTERISK
+<+>                    <U002B> PLUS SIGN
+<,>                    <U002C> COMMA
+<->                    <U002D> HYPHEN-MINUS
+<.>                    <U002E> FULL STOP
+</>                    <U002F> SOLIDUS
+<0>                    <U0030> DIGIT ZERO
+<1>                    <U0031> DIGIT ONE
+<2>                    <U0032> DIGIT TWO
+<3>                    <U0033> DIGIT THREE
+<4>                    <U0034> DIGIT FOUR
+<5>                    <U0035> DIGIT FIVE
+<6>                    <U0036> DIGIT SIX
+<7>                    <U0037> DIGIT SEVEN
+<8>                    <U0038> DIGIT EIGHT
+<9>                    <U0039> DIGIT NINE
+<:>                    <U003A> COLON
+<;>                    <U003B> SEMICOLON
+<<>                    <U003C> LESS-THAN SIGN
+<=>                    <U003D> EQUALS SIGN
+<\>>                   <U003E> GREATER-THAN SIGN
+<?>                    <U003F> QUESTION MARK
+<@>                    <U0040> COMMERCIAL AT
+<A>                    <U0041> LATIN CAPITAL LETTER A
+<B>                    <U0042> LATIN CAPITAL LETTER B
+<C>                    <U0043> LATIN CAPITAL LETTER C
+<D>                    <U0044> LATIN CAPITAL LETTER D
+<E>                    <U0045> LATIN CAPITAL LETTER E
+<F>                    <U0046> LATIN CAPITAL LETTER F
+<G>                    <U0047> LATIN CAPITAL LETTER G
+<H>                    <U0048> LATIN CAPITAL LETTER H
+<I>                    <U0049> LATIN CAPITAL LETTER I
+<J>                    <U004A> LATIN CAPITAL LETTER J
+<K>                    <U004B> LATIN CAPITAL LETTER K
+<L>                    <U004C> LATIN CAPITAL LETTER L
+<M>                    <U004D> LATIN CAPITAL LETTER M
+<N>                    <U004E> LATIN CAPITAL LETTER N
+<O>                    <U004F> LATIN CAPITAL LETTER O
+<P>                    <U0050> LATIN CAPITAL LETTER P
+<Q>                    <U0051> LATIN CAPITAL LETTER Q
+<R>                    <U0052> LATIN CAPITAL LETTER R
+<S>                    <U0053> LATIN CAPITAL LETTER S
+<T>                    <U0054> LATIN CAPITAL LETTER T
+<U>                    <U0055> LATIN CAPITAL LETTER U
+<V>                    <U0056> LATIN CAPITAL LETTER V
+<W>                    <U0057> LATIN CAPITAL LETTER W
+<X>                    <U0058> LATIN CAPITAL LETTER X
+<Y>                    <U0059> LATIN CAPITAL LETTER Y
+<Z>                    <U005A> LATIN CAPITAL LETTER Z
+<<(>                   <U005B> LEFT SQUARE BRACKET
+<left-square-bracket>  <U005B> LEFT SQUARE BRACKET
+<//>                 <U005C> REVERSE SOLIDUS
+<backslash>            <U005C> REVERSE SOLIDUS
+<reverse-solidus>      <U005C> REVERSE SOLIDUS
+<)\>>                  <U005D> RIGHT SQUARE BRACKET
+<right-square-bracket> <U005D> RIGHT SQUARE BRACKET
+<'\>>                  <U005E> CIRCUMFLEX ACCENT
+<circumflex>           <U005E> CIRCUMFLEX ACCENT
+<circumflex-accent>    <U005E> CIRCUMFLEX ACCENT
+<_>                    <U005F> LOW LINE
+<low-line>             <U005F> LOW LINE
+<underscore>           <U005F> LOW LINE
+<'!>                   <U0060> GRAVE ACCENT
+<grave-accent>         <U0060> GRAVE ACCENT
+<a>                    <U0061> LATIN SMALL LETTER A
+<b>                    <U0062> LATIN SMALL LETTER B
+<c>                    <U0063> LATIN SMALL LETTER C
+<d>                    <U0064> LATIN SMALL LETTER D
+<e>                    <U0065> LATIN SMALL LETTER E
+<f>                    <U0066> LATIN SMALL LETTER F
+<g>                    <U0067> LATIN SMALL LETTER G
+<h>                    <U0068> LATIN SMALL LETTER H
+<i>                    <U0069> LATIN SMALL LETTER I
+<j>                    <U006A> LATIN SMALL LETTER J
+<k>                    <U006B> LATIN SMALL LETTER K
+<l>                    <U006C> LATIN SMALL LETTER L
+<m>                    <U006D> LATIN SMALL LETTER M
+<n>                    <U006E> LATIN SMALL LETTER N
+<o>                    <U006F> LATIN SMALL LETTER O
+<p>                    <U0070> LATIN SMALL LETTER P
+<q>                    <U0071> LATIN SMALL LETTER Q
+<r>                    <U0072> LATIN SMALL LETTER R
+<s>                    <U0073> LATIN SMALL LETTER S
+<t>                    <U0074> LATIN SMALL LETTER T
+<u>                    <U0075> LATIN SMALL LETTER U
+<v>                    <U0076> LATIN SMALL LETTER V
+<w>                    <U0077> LATIN SMALL LETTER W
+<x>                    <U0078> LATIN SMALL LETTER X
+<y>                    <U0079> LATIN SMALL LETTER Y
+<z>                    <U007A> LATIN SMALL LETTER Z
+<(!>                   <U007B> LEFT CURLY BRACKET
+<!!>                   <U007C> VERTICAL LINE
+<vertical-line>        <U007C> VERTICAL LINE
+<!)>                   <U007D> RIGHT CURLY BRACKET
+<'?>                   <U007E> TILDE
+<DT>                   <U007F> DELETE
diff --git a/REORG.TODO/localedata/tests/test7.cm b/REORG.TODO/localedata/tests/test7.cm
new file mode 100644
index 0000000000..86b058dc58
--- /dev/null
+++ b/REORG.TODO/localedata/tests/test7.cm
@@ -0,0 +1,86 @@
+<code_set_name> UTF-8
+<mb_cur_min> 1
+<mb_cur_max> 3
+
+CHARMAP
+<U0009>                \x09
+<U000A>                \x0a
+<U000B>                \x0b
+<U000C>                \x0c
+<U000D>                \x0d
+<U0020>                \x20
+<U002C>                \x2c
+<U002E>                \x2e
+<U0030>                \x30
+<U0031>                \x31
+<U0032>                \x32
+<U0033>                \x33
+<U0034>                \x34
+<U0035>                \x35
+<U0036>                \x36
+<U0037>                \x37
+<U0038>                \x38
+<U0039>                \x39
+<U0041>                \x41
+<U0042>                \x42
+<U0043>                \x43
+<U0044>                \x44
+<U0045>                \x45
+<U0046>                \x46
+<U0047>                \x47
+<U0048>                \x48
+<U0049>                \x49
+<U004A>                \x4a
+<U004B>                \x4b
+<U004C>                \x4c
+<U004D>                \x4d
+<U004E>                \x4e
+<U004F>                \x4f
+<U0050>                \x50
+<U0051>                \x51
+<U0052>                \x52
+<U0053>                \x53
+<U0054>                \x54
+<U0055>                \x55
+<U0056>                \x56
+<U0057>                \x57
+<U0058>                \x58
+<U0059>                \x59
+<U005A>                \x5a
+<U0061>                \x61
+<U0062>                \x62
+<U0063>                \x63
+<U0064>                \x64
+<U0065>                \x65
+<U0066>                \x66
+<U0067>                \x67
+<U0068>                \x68
+<U0069>                \x69
+<U006A>                \x6A
+<U006B>                \x6B
+<U006C>                \x6C
+<U006D>                \x6D
+<U006E>                \x6E
+<U006F>                \x6F
+<U0070>                \x70
+<U0071>                \x71
+<U0072>                \x72
+<U0073>                \x73
+<U0074>                \x74
+<U0075>                \x75
+<U0076>                \x76
+<U0077>                \x77
+<U0078>                \x78
+<U0079>                \x79
+<U007A>                \x7A
+<U2080>                \xe2\x82\x80
+<U2081>                \xe2\x82\x81
+<U2082>                \xe2\x82\x82
+<U2083>                \xe2\x82\x83
+<U2084>                \xe2\x82\x84
+<U2085>                \xe2\x82\x85
+<U2086>                \xe2\x82\x86
+<U2087>                \xe2\x82\x87
+<U2088>                \xe2\x82\x88
+<U2089>                \xe2\x82\x89
+END CHARMAP
diff --git a/REORG.TODO/localedata/tests/test7.def b/REORG.TODO/localedata/tests/test7.def
new file mode 100644
index 0000000000..8f43b361f6
--- /dev/null
+++ b/REORG.TODO/localedata/tests/test7.def
@@ -0,0 +1,25 @@
+LC_CTYPE
+lower <U0061>;<U0062>;<U0063>;<U0064>;<U0065>;<U0066>;<U0067>;<U0068>;\
+      <U0069>;<U006A>;<U006B>;<U006C>;<U006D>;<U006E>;<U006F>;<U0070>;\
+      <U0071>;<U0072>;<U0073>;<U0074>;<U0075>;<U0076>;<U0077>;<U0078>;\
+      <U0079>;<U007A>
+
+upper <U0041>;<U0042>;<U0043>;<U0044>;<U0045>;<U0046>;<U0047>;<U0048>;\
+      <U0049>;<U004A>;<U004B>;<U004C>;<U004D>;<U004E>;<U004F>;<U0050>;\
+      <U0051>;<U0052>;<U0053>;<U0054>;<U0055>;<U0056>;<U0057>;<U0058>;\
+      <U0059>;<U005A>
+
+digit <U0030>;<U0031>;<U0032>;<U0033>;<U0034>;\
+      <U0035>;<U0036>;<U0037>;<U0038>;<U0039>;\
+      <U2080>;<U2081>;<U2082>;<U2083>;<U2084>;\
+      <U2085>;<U2086>;<U2087>;<U2088>;<U2089>
+
+outdigit <U2080>;<U2081>;<U2082>;<U2083>;<U2084>;\
+         <U2085>;<U2086>;<U2087>;<U2088>;<U2089>
+END LC_CTYPE
+
+LC_NUMERIC
+decimal_point   "<U002E>"
+thousands_sep   "<U002C>"
+grouping        3;3
+END LC_NUMERIC
diff --git a/REORG.TODO/localedata/tests/trans.def b/REORG.TODO/localedata/tests/trans.def
new file mode 100644
index 0000000000..a4d0332834
--- /dev/null
+++ b/REORG.TODO/localedata/tests/trans.def
@@ -0,0 +1,161 @@
+escape_char /
+comment_char %
+
+LC_CTYPE
+
+digit   <U0030>;<U0031>;<U0032>;<U0033>;<U0034>;/
+        <U0035>;<U0036>;<U0037>;<U0038>;<U0039>
+
+xdigit  <U0030>;<U0031>;<U0032>;<U0033>;<U0034>;/
+        <U0035>;<U0036>;<U0037>;<U0038>;<U0039>;/
+        <U0041>;<U0042>;<U0043>;<U0044>;<U0045>;<U0046>;/
+        <U0061>;<U0062>;<U0063>;<U0064>;<U0065>;<U0066>
+
+blank   <U0020>;<U0009>;<U00A0>
+
+space   <U0020>;<U000A>;<U000B>;<U000C>;/
+        <U000D>;<U0009>;<U00A0>
+
+upper   <U0041>;<U0042>;<U0043>;<U0044>;<U0045>;<U0046>;<U0047>;/
+        <U0048>;<U0049>;<U004A>;<U004B>;<U004C>;<U004D>;<U004E>;/
+        <U004F>;<U0050>;<U0051>;<U0052>;<U0053>;<U0054>;<U0055>;/
+        <U0056>;<U0057>;<U0058>;<U0059>;<U005A>
+
+lower   <U0061>;<U0062>;<U0063>;<U0064>;<U0065>;<U0066>;<U0067>;/
+        <U0068>;<U0069>;<U006A>;<U006B>;<U006C>;<U006D>;<U006E>;/
+        <U006F>;<U0070>;<U0071>;<U0072>;<U0073>;<U0074>;<U0075>;/
+        <U0076>;<U0077>;<U0078>;<U0079>;<U007A>
+
+alpha   <U0041>;<U0042>;<U0043>;<U0044>;<U0045>;<U0046>;<U0047>;/
+        <U0048>;<U0049>;<U004A>;<U004B>;<U004C>;<U004D>;<U004E>;/
+        <U004F>;<U0050>;<U0051>;<U0052>;<U0053>;<U0054>;<U0055>;/
+        <U0056>;<U0057>;<U0058>;<U0059>;<U005A>;<U0061>;<U0062>;/
+        <U0063>;<U0064>;<U0065>;<U0066>;<U0067>;<U0068>;<U0069>;/
+        <U006A>;<U006B>;<U006C>;<U006D>;<U006E>;<U006F>;<U0070>;/
+        <U0071>;<U0072>;<U0073>;<U0074>;<U0075>;<U0076>;<U0077>;/
+        <U0078>;<U0079>;<U007A>
+
+cntrl   <U0000>;<U0001>;<U0002>;<U0003>;<U0004>;<U0005>;/
+        <U0006>;<U0007>;<U0008>;<U0009>;<U000A>;<U000B>;/
+        <U000C>;<U000D>;<U000E>;<U000F>;<U0010>;<U0011>;/
+        <U0012>;<U0013>;<U0014>;<U0015>;<U0016>;<U0017>;/
+        <U0018>;<U0019>;<U001A>;<U001B>;<U001C>;<U001D>;/
+        <U001E>;<U001F>;<U007F>;<U0080>;<U0081>;<U0082>;/
+        <U0083>;<U0084>;<U0085>;<U0086>;<U0087>;<U0088>;/
+        <U0089>;<U008A>;<U008B>;<U008C>;<U008D>;<U008E>;/
+        <U008F>;<U0090>;<U0091>;<U0092>;<U0093>;<U0094>;/
+        <U0095>;<U0096>;<U0097>;<U0098>;<U0099>;<U009A>;/
+        <U009B>;<U009C>;<U009D>;<U009E>;<U009F>
+
+punct   <U0021>;<U0022>;<U0023>;<U0024>;<U0025>;<U0026>;<U0027>;/
+        <U0028>;<U0029>;<U002A>;<U002B>;<U002C>;<U002D>;<U002E>;/
+        <U002F>;<U003A>;<U003B>;<U003C>;<U003D>;<U003E>;<U003F>;/
+        <U0040>;<U005B>;<U005C>;<U005D>;<U005E>
+
+tolower (<U0041>,<U0061>);/
+        (<U0042>,<U0062>);/
+        (<U0043>,<U0063>);/
+        (<U0044>,<U0064>);/
+        (<U0045>,<U0065>);/
+        (<U0046>,<U0066>);/
+        (<U0047>,<U0067>);/
+        (<U0048>,<U0068>);/
+        (<U0049>,<U0069>);/
+        (<U004A>,<U006A>);/
+        (<U004B>,<U006B>);/
+        (<U004C>,<U006C>);/
+        (<U004D>,<U006D>);/
+        (<U004E>,<U006E>);/
+        (<U004F>,<U006F>);/
+        (<U0050>,<U0070>);/
+        (<U0051>,<U0071>);/
+        (<U0052>,<U0072>);/
+        (<U0053>,<U0073>);/
+        (<U0054>,<U0074>);/
+        (<U0055>,<U0075>);/
+        (<U0056>,<U0076>);/
+        (<U0057>,<U0077>);/
+        (<U0058>,<U0078>);/
+        (<U0059>,<U0079>);/
+        (<U005A>,<U007A>)
+
+toupper (<U0061>,<U0041>);/
+        (<U0062>,<U0042>);/
+        (<U0063>,<U0043>);/
+        (<U0064>,<U0044>);/
+        (<U0065>,<U0045>);/
+        (<U0066>,<U0046>);/
+        (<U0067>,<U0047>);/
+        (<U0068>,<U0048>);/
+        (<U0069>,<U0049>);/
+        (<U006A>,<U004A>);/
+        (<U006B>,<U004B>);/
+        (<U006C>,<U004C>);/
+        (<U006D>,<U004D>);/
+        (<U006E>,<U004E>);/
+        (<U006F>,<U004F>);/
+        (<U0070>,<U0050>);/
+        (<U0071>,<U0051>);/
+        (<U0072>,<U0052>);/
+        (<U0073>,<U0053>);/
+        (<U0074>,<U0054>);/
+        (<U0075>,<U0055>);/
+        (<U0076>,<U0056>);/
+        (<U0077>,<U0057>);/
+        (<U0078>,<U0058>);/
+        (<U0079>,<U0059>);/
+        (<U007A>,<U005A>)
+
+charconv test
+
+test (<U0041>,<U0042>);(<U0042>,<U0043>)
+
+outdigit <U0061>;<U0062>;<U0063>;<U0064>;<U0065>;<U0066>;<U0067>;<U0068>;<U0069>;<U006A>
+
+END LC_CTYPE
+
+LC_COLLATE
+copy "en_US"
+END LC_COLLATE
+
+LC_TIME
+copy "en_US"
+END LC_TIME
+
+LC_NUMERIC
+copy "en_US"
+END LC_NUMERIC
+
+LC_MONETARY
+copy "en_US"
+END LC_MONETARY
+
+LC_MESSAGES
+copy "en_US"
+END LC_MESSAGES
+
+LC_PAPER
+height 297
+width 210
+END LC_PAPER
+
+LC_NAME
+name_fmt    "<U0025><U0070><U0025><U0074><U0025><U0067><U0025><U0074><U0025><U006D><U0025><U0074><U0025><U0066>"
+END LC_NAME
+
+LC_ADDRESS
+postal_fmt    "<U0025><U0061><U0025><U004E><U0025><U0066><U0025><U004E><U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025>/
+<U0025><U0073><U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025><U004E>/
+<U0025><U0043><U002D><U0025><U007A><U0020><U0025><U0054><U0025><U004E><U0025><U0063><U0025><U004E>"
+END LC_ADDRESS
+
+LC_TELEPHONE
+tel_int_fmt    "<U002B><U0025><U0063><U0020><U0025><U0061><U0020><U0025><U006C>"
+END LC_TELEPHONE
+
+LC_MEASUREMENT
+measurement    1
+END LC_MEASUREMENT
+
+LC_IDENTIFICATION
+END LC_IDENTIFICATION