Mercurial > projects > dstress
changeset 1170:851d63db41cb
[Issue 391] New: .sort and .reverse break utf8 encoding
Derek Parnell <ddparnell@bigpond.com>
2006-10-02
news:bug-391-3@http.d.puremagic.com/issues/
author | thomask |
---|---|
date | Wed, 04 Oct 2006 06:28:09 +0000 |
parents | 50bb906cd5e3 |
children | 3fcbbd7f7873 |
files | run/r/reverse_08_A.d run/r/reverse_08_B.d run/r/reverse_08_C.d run/s/sort_16_A.d run/s/sort_16_B.d run/s/sort_16_C.d |
diffstat | 6 files changed, 165 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/r/reverse_08_A.d Wed Oct 04 06:28:09 2006 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Derek Parnell <ddparnell@bigpond.com> +// @date@ 2006-10-02 +// @uri@ news:bug-391-3@http.d.puremagic.com/issues/ +// @desc@ [Issue 391] New: .sort and .reverse break utf8 encoding + +module dstress.run.r.reverse_08_A; + +int main(){ + char[] a = "a\U00000081b\U00002000c\U00010000"; + char[] b = a.reverse; + + if(b != "\U00010000c\U00002000b\U00000081a"){ + assert(0); + } + + if(b.reverse != a){ + assert(0); + } + + return 0; +} +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/r/reverse_08_B.d Wed Oct 04 06:28:09 2006 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Derek Parnell <ddparnell@bigpond.com> +// @date@ 2006-10-02 +// @uri@ news:bug-391-3@http.d.puremagic.com/issues/ +// @desc@ [Issue 391] New: .sort and .reverse break utf8 encoding + +module dstress.run.r.reverse_08_B; + +int main(){ + dchar[] a = "a\U00000081b\U00002000c\U00010000"; + dchar[] b = a.reverse; + + if(b != "\U00010000c\U00002000b\U00000081a"){ + assert(0); + } + + if(b.reverse != a){ + assert(0); + } + + return 0; +} +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/r/reverse_08_C.d Wed Oct 04 06:28:09 2006 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Derek Parnell <ddparnell@bigpond.com> +// @date@ 2006-10-02 +// @uri@ news:bug-391-3@http.d.puremagic.com/issues/ +// @desc@ [Issue 391] New: .sort and .reverse break utf8 encoding + +module dstress.run.r.reverse_08_C; + +int main(){ + wchar[] a = "a\U00000081b\U00002000c\U00010000"; + wchar[] b = a.reverse; + + if(b != "\U00010000c\U00002000b\U00000081a"){ + assert(0); + } + + if(b.reverse != a){ + assert(0); + } + + return 0; +} +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/s/sort_16_A.d Wed Oct 04 06:28:09 2006 +0000 @@ -0,0 +1,29 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Derek Parnell <ddparnell@bigpond.com> +// @date@ 2006-10-02 +// @uri@ news:bug-391-3@http.d.puremagic.com/issues/ +// @desc@ [Issue 391] New: .sort and .reverse break utf8 encoding + +module dstress.run.s.sort_16_A; + +import std.stdio; + +int main(){ + dchar[] a = "a\U00000081b\U00002000c\U00010000"; + + if(a.sort != "abc\U00000081\U00002000\U00010000"){ + assert(0); + } + + dchar[] b = "\U00010000a\U00002000c\U00000081b"; + + if(b.sort != "abc\U00000081\U00002000\U00010000"){ + assert(0); + } + + return 0; +} +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/s/sort_16_B.d Wed Oct 04 06:28:09 2006 +0000 @@ -0,0 +1,29 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Derek Parnell <ddparnell@bigpond.com> +// @date@ 2006-10-02 +// @uri@ news:bug-391-3@http.d.puremagic.com/issues/ +// @desc@ [Issue 391] New: .sort and .reverse break utf8 encoding + +module dstress.run.s.sort_16_B; + +import std.stdio; + +int main(){ + wchar[] a = "a\U00000081b\U00002000c\U00010000"; + + if(a.sort != "abc\U00000081\U00002000\U00010000"){ + assert(0); + } + + wchar[] b = "\U00010000a\U00002000c\U00000081b"; + + if(b.sort != "abc\U00000081\U00002000\U00010000"){ + assert(0); + } + + return 0; +} +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/s/sort_16_C.d Wed Oct 04 06:28:09 2006 +0000 @@ -0,0 +1,29 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Derek Parnell <ddparnell@bigpond.com> +// @date@ 2006-10-02 +// @uri@ news:bug-391-3@http.d.puremagic.com/issues/ +// @desc@ [Issue 391] New: .sort and .reverse break utf8 encoding + +module dstress.run.s.sort_16_C; + +import std.stdio; + +int main(){ + char[] a = "a\U00000081b\U00002000c\U00010000"; + + if(a.sort != "abc\U00000081\U00002000\U00010000"){ + assert(0); + } + + char[] b = "\U00010000a\U00002000c\U00000081b"; + + if(b.sort != "abc\U00000081\U00002000\U00010000"){ + assert(0); + } + + return 0; +} +