xref: /aosp_15_r20/external/toybox/tests/iconv.test (revision cf5a6c84e2b8763fc1a7db14496fd4742913b199)
1*cf5a6c84SAndroid Build Coastguard Worker#!/bin/bash
2*cf5a6c84SAndroid Build Coastguard Worker
3*cf5a6c84SAndroid Build Coastguard Worker[ -f testing.sh ] && . testing.sh
4*cf5a6c84SAndroid Build Coastguard Worker
5*cf5a6c84SAndroid Build Coastguard Worker# Example characters from https://en.wikipedia.org/wiki/UTF-16:
6*cf5a6c84SAndroid Build Coastguard Worker# $:U+0024  €:U+20ac  ��:U+10437[==U+d801,U+dc37]
7*cf5a6c84SAndroid Build Coastguard Worker# We can't simply use echo because bash 3.2 on the Mac mangles it, but toysh
8*cf5a6c84SAndroid Build Coastguard Worker# should let us go back to just this when it's available...
9*cf5a6c84SAndroid Build Coastguard Worker#   echo -n "$€��" > chars
10*cf5a6c84SAndroid Build Coastguard Workerecho -ne "\x24\xe2\x82\xac\xf0\x90\x90\xb7" > chars
11*cf5a6c84SAndroid Build Coastguard Worker
12*cf5a6c84SAndroid Build Coastguard Worker#testing "name" "command" "result" "infile" "stdin"
13*cf5a6c84SAndroid Build Coastguard Worker
14*cf5a6c84SAndroid Build Coastguard Workertesting "" "iconv chars | xxd -p" "24e282acf09090b7\n" "" ""
15*cf5a6c84SAndroid Build Coastguard Workertesting "-t UTF-16BE" "iconv -t UTF-16BE chars | xxd -p" "002420acd801dc37\n" "" ""
16*cf5a6c84SAndroid Build Coastguard Workertesting "-t UTF-16LE" "iconv -t UTF-16LE chars | xxd -p" "2400ac2001d837dc\n" "" ""
17*cf5a6c84SAndroid Build Coastguard Workertesting "-t UTF-32BE" "iconv -t UTF-32BE chars | xxd -p" "00000024000020ac00010437\n" "" ""
18*cf5a6c84SAndroid Build Coastguard Workertesting "-t UTF-32LE" "iconv -t UTF-32LE chars | xxd -p" "24000000ac20000037040100\n" "" ""
19