From b41b3f9d3d35a3450c7dc19527e346ef13b707cc Mon Sep 17 00:00:00 2001 From: aqnuep <33791085+aqnuep@users.noreply.github.com> Date: Thu, 26 Oct 2023 10:04:11 +0200 Subject: [PATCH] Add test cases for unicode filenames (#8) --- clitests/CMakeLists.txt | 6 ++++++ clitests/clitest.py | 7 ++++++- .../create/unicode/h\305\261t\305\221.ktx2" | Bin 0 -> 1288 bytes ...\216\330\263\331\220\331\212\330\254.ktx2" | Bin 0 -> 1288 bytes ...\343\202\271\343\203\201\343\203\243.ktx2" | Bin 0 -> 1288 bytes .../unicode/\350\264\250\345\234\260.ktx2" | Bin 0 -> 1288 bytes .../unicode/\354\241\260\354\247\201.ktx2" | Bin 0 -> 1288 bytes .../encode/unicode/h\305\261t\305\221.ktx2" | Bin 0 -> 406 bytes ...\216\330\263\331\220\331\212\330\254.ktx2" | Bin 0 -> 406 bytes ...\343\202\271\343\203\201\343\203\243.ktx2" | Bin 0 -> 406 bytes .../unicode/\350\264\250\345\234\260.ktx2" | Bin 0 -> 406 bytes .../unicode/\354\241\260\354\247\201.ktx2" | Bin 0 -> 406 bytes .../extract/unicode/h\305\261t\305\221.png" | Bin 0 -> 147 bytes ...1\216\330\263\331\220\331\212\330\254.png" | Bin 0 -> 147 bytes ...7\343\202\271\343\203\201\343\203\243.png" | Bin 0 -> 147 bytes .../unicode/\350\264\250\345\234\260.png" | Bin 0 -> 147 bytes .../unicode/\354\241\260\354\247\201.png" | Bin 0 -> 147 bytes .../unicode/h\305\261t\305\221.ktx2" | Bin 0 -> 524 bytes ...\216\330\263\331\220\331\212\330\254.ktx2" | Bin 0 -> 524 bytes ...\343\202\271\343\203\201\343\203\243.ktx2" | Bin 0 -> 524 bytes .../unicode/\350\264\250\345\234\260.ktx2" | Bin 0 -> 524 bytes .../unicode/\354\241\260\354\247\201.ktx2" | Bin 0 -> 524 bytes .../input/unicode/h\305\261t\305\221.ktx2" | Bin 0 -> 496 bytes .../input/unicode/h\305\261t\305\221.png" | Bin 0 -> 131 bytes .../unicode/h\305\261t\305\221_BLZE.ktx2" | Bin 0 -> 374 bytes ...\216\330\263\331\220\331\212\330\254.ktx2" | Bin 0 -> 496 bytes ...1\216\330\263\331\220\331\212\330\254.png" | Bin 0 -> 131 bytes ...330\263\331\220\331\212\330\254_BLZE.ktx2" | Bin 0 -> 374 bytes ...\343\202\271\343\203\201\343\203\243.ktx2" | Bin 0 -> 496 bytes ...7\343\202\271\343\203\201\343\203\243.png" | Bin 0 -> 131 bytes ...202\271\343\203\201\343\203\243_BLZE.ktx2" | Bin 0 -> 374 bytes .../unicode/\350\264\250\345\234\260.ktx2" | Bin 0 -> 496 bytes .../unicode/\350\264\250\345\234\260.png" | Bin 0 -> 131 bytes .../\350\264\250\345\234\260_BLZE.ktx2" | Bin 0 -> 374 bytes .../unicode/\354\241\260\354\247\201.ktx2" | Bin 0 -> 496 bytes .../unicode/\354\241\260\354\247\201.png" | Bin 0 -> 131 bytes .../\354\241\260\354\247\201_BLZE.ktx2" | Bin 0 -> 374 bytes clitests/tests/create/unicode_filenames.json | 17 ++++++++++++++++ clitests/tests/encode/unicode_filenames.json | 19 ++++++++++++++++++ clitests/tests/extract/unicode_filenames.json | 17 ++++++++++++++++ clitests/tests/info/unicode_filenames.json | 14 +++++++++++++ .../tests/transcode/unicode_filenames.json | 17 ++++++++++++++++ .../tests/validate/unicode_filenames.json | 14 +++++++++++++ 43 files changed, 110 insertions(+), 1 deletion(-) create mode 100644 "clitests/golden/create/unicode/h\305\261t\305\221.ktx2" create mode 100644 "clitests/golden/create/unicode/\331\206\331\216\330\263\331\220\331\212\330\254.ktx2" create mode 100644 "clitests/golden/create/unicode/\343\203\206\343\202\257\343\202\271\343\203\201\343\203\243.ktx2" create mode 100644 "clitests/golden/create/unicode/\350\264\250\345\234\260.ktx2" create mode 100644 "clitests/golden/create/unicode/\354\241\260\354\247\201.ktx2" create mode 100644 "clitests/golden/encode/unicode/h\305\261t\305\221.ktx2" create mode 100644 "clitests/golden/encode/unicode/\331\206\331\216\330\263\331\220\331\212\330\254.ktx2" create mode 100644 "clitests/golden/encode/unicode/\343\203\206\343\202\257\343\202\271\343\203\201\343\203\243.ktx2" create mode 100644 "clitests/golden/encode/unicode/\350\264\250\345\234\260.ktx2" create mode 100644 "clitests/golden/encode/unicode/\354\241\260\354\247\201.ktx2" create mode 100644 "clitests/golden/extract/unicode/h\305\261t\305\221.png" create mode 100644 "clitests/golden/extract/unicode/\331\206\331\216\330\263\331\220\331\212\330\254.png" create mode 100644 "clitests/golden/extract/unicode/\343\203\206\343\202\257\343\202\271\343\203\201\343\203\243.png" create mode 100644 "clitests/golden/extract/unicode/\350\264\250\345\234\260.png" create mode 100644 "clitests/golden/extract/unicode/\354\241\260\354\247\201.png" create mode 100644 "clitests/golden/transcode/unicode/h\305\261t\305\221.ktx2" create mode 100644 "clitests/golden/transcode/unicode/\331\206\331\216\330\263\331\220\331\212\330\254.ktx2" create mode 100644 "clitests/golden/transcode/unicode/\343\203\206\343\202\257\343\202\271\343\203\201\343\203\243.ktx2" create mode 100644 "clitests/golden/transcode/unicode/\350\264\250\345\234\260.ktx2" create mode 100644 "clitests/golden/transcode/unicode/\354\241\260\354\247\201.ktx2" create mode 100644 "clitests/input/unicode/h\305\261t\305\221.ktx2" create mode 100644 "clitests/input/unicode/h\305\261t\305\221.png" create mode 100644 "clitests/input/unicode/h\305\261t\305\221_BLZE.ktx2" create mode 100644 "clitests/input/unicode/\331\206\331\216\330\263\331\220\331\212\330\254.ktx2" create mode 100644 "clitests/input/unicode/\331\206\331\216\330\263\331\220\331\212\330\254.png" create mode 100644 "clitests/input/unicode/\331\206\331\216\330\263\331\220\331\212\330\254_BLZE.ktx2" create mode 100644 "clitests/input/unicode/\343\203\206\343\202\257\343\202\271\343\203\201\343\203\243.ktx2" create mode 100644 "clitests/input/unicode/\343\203\206\343\202\257\343\202\271\343\203\201\343\203\243.png" create mode 100644 "clitests/input/unicode/\343\203\206\343\202\257\343\202\271\343\203\201\343\203\243_BLZE.ktx2" create mode 100644 "clitests/input/unicode/\350\264\250\345\234\260.ktx2" create mode 100644 "clitests/input/unicode/\350\264\250\345\234\260.png" create mode 100644 "clitests/input/unicode/\350\264\250\345\234\260_BLZE.ktx2" create mode 100644 "clitests/input/unicode/\354\241\260\354\247\201.ktx2" create mode 100644 "clitests/input/unicode/\354\241\260\354\247\201.png" create mode 100644 "clitests/input/unicode/\354\241\260\354\247\201_BLZE.ktx2" create mode 100644 clitests/tests/create/unicode_filenames.json create mode 100644 clitests/tests/encode/unicode_filenames.json create mode 100644 clitests/tests/extract/unicode_filenames.json create mode 100644 clitests/tests/info/unicode_filenames.json create mode 100644 clitests/tests/transcode/unicode_filenames.json create mode 100644 clitests/tests/validate/unicode_filenames.json diff --git a/clitests/CMakeLists.txt b/clitests/CMakeLists.txt index 41c4348f5..ffbc84414 100644 --- a/clitests/CMakeLists.txt +++ b/clitests/CMakeLists.txt @@ -15,10 +15,12 @@ set(CASELIST tests/info/invalid_file.json tests/info/sample.json tests/info/stdin.json + tests/info/unicode_filenames.json tests/validate/cli_errors.json tests/validate/help.json tests/validate/stdin.json + tests/validate/unicode_filenames.json tests/validate/fatal_1003_UnexpectedEOF.json tests/validate/fatal_2001_NotKTX2.json @@ -227,6 +229,7 @@ set(CASELIST tests/extract/raw_zstd.json tests/extract/stdin.json tests/extract/stdout.json + tests/extract/unicode_filenames.json tests/create/astc_params.json tests/create/3d_with_1_depth.json @@ -298,6 +301,7 @@ set(CASELIST tests/create/sample_zstd.json tests/create/stdin.json tests/create/stdout.json + tests/create/unicode_filenames.json tests/encode/compare.json tests/encode/encode_blze.json @@ -313,10 +317,12 @@ set(CASELIST tests/encode/help.json tests/encode/stdin.json tests/encode/stdout.json + tests/encode/unicode_filenames.json tests/transcode/help.json tests/transcode/stdin.json tests/transcode/stdout.json + tests/transcode/unicode_filenames.json tests/transcode/transcode_blze.json tests/transcode/transcode_error_invalid.json tests/transcode/transcode_error_not_transcodable.json diff --git a/clitests/clitest.py b/clitests/clitest.py index 66a3998a1..e11c4e242 100644 --- a/clitests/clitest.py +++ b/clitests/clitest.py @@ -5,6 +5,7 @@ import argparse import os +import sys import subprocess import re import json @@ -71,13 +72,17 @@ def cmdArgs(self): cli_args, unknown_args = parser.parse_known_args() + # Use UTF-8 output + sys.stdout.reconfigure(encoding='utf-8') + + # Load JSON test case description and check basic contents if not os.path.isfile(cli_args.json_test_file): print(f"ERROR: Cannot find JSON test file '{cli_args.json_test_file}'") exit(1) - f = open(cli_args.json_test_file) + f = open(cli_args.json_test_file, encoding='utf-8') testcase = json.load(f) f.close() diff --git "a/clitests/golden/create/unicode/h\305\261t\305\221.ktx2" "b/clitests/golden/create/unicode/h\305\261t\305\221.ktx2" new file mode 100644 index 0000000000000000000000000000000000000000..233e108c8cd51ab31d4687da6a5e23894344f45e GIT binary patch literal 1288 zcmZA0zlt0;90zc%8Mwg^qW1FHC#P@%KiDXaP{PI!My%`xQhQjf91qu z{C)fJ?&dc9are*V!|lzxyPL~jKfQSQ;`;j6o8R93`RVTZ`jRi7KE9s|zP)n)alUl8 zr?C>l7-tfhBHP%hG}%FCU_irTjRi9p@uW{8Q)C-El_opr48o$%!b)89No0y_W2e$& z2c3bTjS~wian&c0DYA{7N|POQ1|hl)7FMDGoJnMgY-6X=WCxu&tZ>$6VI>;gnM9_@ zHg+macF>uF4oRPdm1yv15}6{~*r_zxL1+F*A?vfS60<&uOp$HuRGRFdGk@Sv%#VeY zSlkwgOp$HuRGRFdGYFeL3oCKcCy^<#jh#x99drg^*JoiR?)oG$MYge1X|jXPAXI%8 zR$|pBktwo`ol27(bOxcB9}6qdAN))rQ)C-El_opr%*_xEeHK=t&2c7?DYA{7N|POQ z=0*x#pM{m!^+{xkY-6X=WCxwO3BAs3G`GV1JC7(ilgJd=9Q7PmrO6IDo_>4*&8$Me literal 0 HcmV?d00001 diff --git "a/clitests/golden/create/unicode/\331\206\331\216\330\263\331\220\331\212\330\254.ktx2" "b/clitests/golden/create/unicode/\331\206\331\216\330\263\331\220\331\212\330\254.ktx2" new file mode 100644 index 0000000000000000000000000000000000000000..233e108c8cd51ab31d4687da6a5e23894344f45e GIT binary patch literal 1288 zcmZA0zlt0;90zc%8Mwg^qW1FHC#P@%KiDXaP{PI!My%`xQhQjf91qu z{C)fJ?&dc9are*V!|lzxyPL~jKfQSQ;`;j6o8R93`RVTZ`jRi7KE9s|zP)n)alUl8 zr?C>l7-tfhBHP%hG}%FCU_irTjRi9p@uW{8Q)C-El_opr48o$%!b)89No0y_W2e$& z2c3bTjS~wian&c0DYA{7N|POQ1|hl)7FMDGoJnMgY-6X=WCxu&tZ>$6VI>;gnM9_@ zHg+macF>uF4oRPdm1yv15}6{~*r_zxL1+F*A?vfS60<&uOp$HuRGRFdGk@Sv%#VeY zSlkwgOp$HuRGRFdGYFeL3oCKcCy^<#jh#x99drg^*JoiR?)oG$MYge1X|jXPAXI%8 zR$|pBktwo`ol27(bOxcB9}6qdAN))rQ)C-El_opr%*_xEeHK=t&2c7?DYA{7N|POQ z=0*x#pM{m!^+{xkY-6X=WCxwO3BAs3G`GV1JC7(ilgJd=9Q7PmrO6IDo_>4*&8$Me literal 0 HcmV?d00001 diff --git "a/clitests/golden/create/unicode/\343\203\206\343\202\257\343\202\271\343\203\201\343\203\243.ktx2" "b/clitests/golden/create/unicode/\343\203\206\343\202\257\343\202\271\343\203\201\343\203\243.ktx2" new file mode 100644 index 0000000000000000000000000000000000000000..233e108c8cd51ab31d4687da6a5e23894344f45e GIT binary patch literal 1288 zcmZA0zlt0;90zc%8Mwg^qW1FHC#P@%KiDXaP{PI!My%`xQhQjf91qu z{C)fJ?&dc9are*V!|lzxyPL~jKfQSQ;`;j6o8R93`RVTZ`jRi7KE9s|zP)n)alUl8 zr?C>l7-tfhBHP%hG}%FCU_irTjRi9p@uW{8Q)C-El_opr48o$%!b)89No0y_W2e$& z2c3bTjS~wian&c0DYA{7N|POQ1|hl)7FMDGoJnMgY-6X=WCxu&tZ>$6VI>;gnM9_@ zHg+macF>uF4oRPdm1yv15}6{~*r_zxL1+F*A?vfS60<&uOp$HuRGRFdGk@Sv%#VeY zSlkwgOp$HuRGRFdGYFeL3oCKcCy^<#jh#x99drg^*JoiR?)oG$MYge1X|jXPAXI%8 zR$|pBktwo`ol27(bOxcB9}6qdAN))rQ)C-El_opr%*_xEeHK=t&2c7?DYA{7N|POQ z=0*x#pM{m!^+{xkY-6X=WCxwO3BAs3G`GV1JC7(ilgJd=9Q7PmrO6IDo_>4*&8$Me literal 0 HcmV?d00001 diff --git "a/clitests/golden/create/unicode/\350\264\250\345\234\260.ktx2" "b/clitests/golden/create/unicode/\350\264\250\345\234\260.ktx2" new file mode 100644 index 0000000000000000000000000000000000000000..233e108c8cd51ab31d4687da6a5e23894344f45e GIT binary patch literal 1288 zcmZA0zlt0;90zc%8Mwg^qW1FHC#P@%KiDXaP{PI!My%`xQhQjf91qu z{C)fJ?&dc9are*V!|lzxyPL~jKfQSQ;`;j6o8R93`RVTZ`jRi7KE9s|zP)n)alUl8 zr?C>l7-tfhBHP%hG}%FCU_irTjRi9p@uW{8Q)C-El_opr48o$%!b)89No0y_W2e$& z2c3bTjS~wian&c0DYA{7N|POQ1|hl)7FMDGoJnMgY-6X=WCxu&tZ>$6VI>;gnM9_@ zHg+macF>uF4oRPdm1yv15}6{~*r_zxL1+F*A?vfS60<&uOp$HuRGRFdGk@Sv%#VeY zSlkwgOp$HuRGRFdGYFeL3oCKcCy^<#jh#x99drg^*JoiR?)oG$MYge1X|jXPAXI%8 zR$|pBktwo`ol27(bOxcB9}6qdAN))rQ)C-El_opr%*_xEeHK=t&2c7?DYA{7N|POQ z=0*x#pM{m!^+{xkY-6X=WCxwO3BAs3G`GV1JC7(ilgJd=9Q7PmrO6IDo_>4*&8$Me literal 0 HcmV?d00001 diff --git "a/clitests/golden/create/unicode/\354\241\260\354\247\201.ktx2" "b/clitests/golden/create/unicode/\354\241\260\354\247\201.ktx2" new file mode 100644 index 0000000000000000000000000000000000000000..233e108c8cd51ab31d4687da6a5e23894344f45e GIT binary patch literal 1288 zcmZA0zlt0;90zc%8Mwg^qW1FHC#P@%KiDXaP{PI!My%`xQhQjf91qu z{C)fJ?&dc9are*V!|lzxyPL~jKfQSQ;`;j6o8R93`RVTZ`jRi7KE9s|zP)n)alUl8 zr?C>l7-tfhBHP%hG}%FCU_irTjRi9p@uW{8Q)C-El_opr48o$%!b)89No0y_W2e$& z2c3bTjS~wian&c0DYA{7N|POQ1|hl)7FMDGoJnMgY-6X=WCxu&tZ>$6VI>;gnM9_@ zHg+macF>uF4oRPdm1yv15}6{~*r_zxL1+F*A?vfS60<&uOp$HuRGRFdGk@Sv%#VeY zSlkwgOp$HuRGRFdGYFeL3oCKcCy^<#jh#x99drg^*JoiR?)oG$MYge1X|jXPAXI%8 zR$|pBktwo`ol27(bOxcB9}6qdAN))rQ)C-El_opr%*_xEeHK=t&2c7?DYA{7N|POQ z=0*x#pM{m!^+{xkY-6X=WCxwO3BAs3G`GV1JC7(ilgJd=9Q7PmrO6IDo_>4*&8$Me literal 0 HcmV?d00001 diff --git "a/clitests/golden/encode/unicode/h\305\261t\305\221.ktx2" "b/clitests/golden/encode/unicode/h\305\261t\305\221.ktx2" new file mode 100644 index 0000000000000000000000000000000000000000..a901d6eabe61414334a630cefe0a5a9c675c8354 GIT binary patch literal 406 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 literal 0 HcmV?d00001 diff --git "a/clitests/input/unicode/h\305\261t\305\221_BLZE.ktx2" "b/clitests/input/unicode/h\305\261t\305\221_BLZE.ktx2" new file mode 100644 index 0000000000000000000000000000000000000000..c76fb4dd7b8fc400d587fba3bc5ca67b41d0930d GIT binary patch literal 374 zcmZ4O9TK5nWU!l;ONxsD2pEBw1ByX>5CDn6a0ZZV1H?;!SOPYx1n%)$~6 z6dZU!>Kp{NzIoipAj|}Ey@SA$2`mkqAaS5~zMtTI5vRqlCMfiOyI1I6_64gh0dWv( u0}wMDbb+Y)6u*{X27>~K(-`B^(8&n2&4FRfhF}&3VTcM21qLlXH3|fYKm6 zAi%^B!NAA}5oCb~0ZDc^>pzgi!N3mF%>d#HFt9Vh6oB{=4D9^Ke2}|=-Y751EJ-b5 z2+hk(NzE(COv_A7QAjK(P|#P%$xO;FsZfCFVPR!s=iubx=Hcbz7Z4N@77-N_mync_ zmXVc{S5Q<^R#8<`*U;3`*3s3|H!w6ZHZe6bx3ILbwz0LdcW`uac5!uc_we-c_VM-e z4+snj4hanlkBE$lj){$nPe@EkPDxEm&&bTm&dJToFDNW3E-5W5uc)l5uBol7Z)j|4 zZfR|6@96C6?&`Ah z<}F*dZQrqT*X})g_w7G$@X+BSM~@vpaq`sZGiT48zi{!=E8B_lV&hHFm2#%`Lt7i;RLojmc{W- e5C1poEMVRw#barB?)4m?sSKX3elF{r5}E+MVl2V{ literal 0 HcmV?d00001 diff --git "a/clitests/input/unicode/\331\206\331\216\330\263\331\220\331\212\330\254_BLZE.ktx2" "b/clitests/input/unicode/\331\206\331\216\330\263\331\220\331\212\330\254_BLZE.ktx2" new file mode 100644 index 0000000000000000000000000000000000000000..c76fb4dd7b8fc400d587fba3bc5ca67b41d0930d GIT binary patch literal 374 zcmZ4O9TK5nWU!l;ONxsD2pEBw1ByX>5CDn6a0ZZV1H?;!SOPYx1n%)$~6 z6dZU!>Kp{NzIoipAj|}Ey@SA$2`mkqAaS5~zMtTI5vRqlCMfiOyI1I6_64gh0dWv( u0}wMDbb+Y)6u*{X27>~K(-`B^(8&n2&4FRfhF}&3VTcM21qLlXH3|fYKm6 zAi%^B!NAA}5oCb~0ZDc^>pzgi!N3mF%>d#HFt9Vh6oB{=4D9^Ke2}|=-Y751EJ-b5 z2+hk(NzE(COv_A7QAjK(P|#P%$xO;FsZfCFVPR!s=iubx=Hcbz7Z4N@77-N_mync_ zmXVc{S5Q<^R#8<`*U;3`*3s3|H!w6ZHZe6bx3ILbwz0LdcW`uac5!uc_we-c_VM-e z4+snj4hanlkBE$lj){$nPe@EkPDxEm&&bTm&dJToFDNW3E-5W5uc)l5uBol7Z)j|4 zZfR|6@96C6?&`Ah z<}F*dZQrqT*X})g_w7G$@X+BSM~@vpaq`sZGiT48zi{!=E8B_lV&hHFm2#%`Lt7i;RLojmc{W- e5C1poEMVRw#barB?)4m?sSKX3elF{r5}E+MVl2V{ literal 0 HcmV?d00001 diff --git "a/clitests/input/unicode/\343\203\206\343\202\257\343\202\271\343\203\201\343\203\243_BLZE.ktx2" "b/clitests/input/unicode/\343\203\206\343\202\257\343\202\271\343\203\201\343\203\243_BLZE.ktx2" new file mode 100644 index 0000000000000000000000000000000000000000..c76fb4dd7b8fc400d587fba3bc5ca67b41d0930d GIT binary patch literal 374 zcmZ4O9TK5nWU!l;ONxsD2pEBw1ByX>5CDn6a0ZZV1H?;!SOPYx1n%)$~6 z6dZU!>Kp{NzIoipAj|}Ey@SA$2`mkqAaS5~zMtTI5vRqlCMfiOyI1I6_64gh0dWv( u0}wMDbb+Y)6u*{X27>~K(-`B^(8&n2&4FRfhF}&3VTcM21qLlXH3|fYKm6 zAi%^B!NAA}5oCb~0ZDc^>pzgi!N3mF%>d#HFt9Vh6oB{=4D9^Ke2}|=-Y751EJ-b5 z2+hk(NzE(COv_A7QAjK(P|#P%$xO;FsZfCFVPR!s=iubx=Hcbz7Z4N@77-N_mync_ zmXVc{S5Q<^R#8<`*U;3`*3s3|H!w6ZHZe6bx3ILbwz0LdcW`uac5!uc_we-c_VM-e z4+snj4hanlkBE$lj){$nPe@EkPDxEm&&bTm&dJToFDNW3E-5W5uc)l5uBol7Z)j|4 zZfR|6@96C6?&`Ah z<}F*dZQrqT*X})g_w7G$@X+BSM~@vpaq`sZGiT48zi{!=E8B_lV&hHFm2#%`Lt7i;RLojmc{W- e5C1poEMVRw#barB?)4m?sSKX3elF{r5}E+MVl2V{ literal 0 HcmV?d00001 diff --git "a/clitests/input/unicode/\350\264\250\345\234\260_BLZE.ktx2" "b/clitests/input/unicode/\350\264\250\345\234\260_BLZE.ktx2" new file mode 100644 index 0000000000000000000000000000000000000000..c76fb4dd7b8fc400d587fba3bc5ca67b41d0930d GIT binary patch literal 374 zcmZ4O9TK5nWU!l;ONxsD2pEBw1ByX>5CDn6a0ZZV1H?;!SOPYx1n%)$~6 z6dZU!>Kp{NzIoipAj|}Ey@SA$2`mkqAaS5~zMtTI5vRqlCMfiOyI1I6_64gh0dWv( u0}wMDbb+Y)6u*{X27>~K(-`B^(8&n2&4FRfhF}&3VTcM21qLlXH3|fYKm6 zAi%^B!NAA}5oCb~0ZDc^>pzgi!N3mF%>d#HFt9Vh6oB{=4D9^Ke2}|=-Y751EJ-b5 z2+hk(NzE(COv_A7QAjK(P|#P%$xO;FsZfCFVPR!s=iubx=Hcbz7Z4N@77-N_mync_ zmXVc{S5Q<^R#8<`*U;3`*3s3|H!w6ZHZe6bx3ILbwz0LdcW`uac5!uc_we-c_VM-e z4+snj4hanlkBE$lj){$nPe@EkPDxEm&&bTm&dJToFDNW3E-5W5uc)l5uBol7Z)j|4 zZfR|6@96C6?&`Ah z<}F*dZQrqT*X})g_w7G$@X+BSM~@vpaq`sZGiT48zi{!=E8B_lV&hHFm2#%`Lt7i;RLojmc{W- e5C1poEMVRw#barB?)4m?sSKX3elF{r5}E+MVl2V{ literal 0 HcmV?d00001 diff --git "a/clitests/input/unicode/\354\241\260\354\247\201_BLZE.ktx2" "b/clitests/input/unicode/\354\241\260\354\247\201_BLZE.ktx2" new file mode 100644 index 0000000000000000000000000000000000000000..c76fb4dd7b8fc400d587fba3bc5ca67b41d0930d GIT binary patch literal 374 zcmZ4O9TK5nWU!l;ONxsD2pEBw1ByX>5CDn6a0ZZV1H?;!SOPYx1n%)$~6 z6dZU!>Kp{NzIoipAj|}Ey@SA$2`mkqAaS5~zMtTI5vRqlCMfiOyI1I6_64gh0dWv( u0}wMDbb+Y)6u*{X27>~K(-`B^(8&n2&4FRfhF}&3VTcM21qLlXH3