core/tsrc/fshell-unicode-test.script
author Tom Sutcliffe <thomas.sutcliffe@accenture.com>
Sun, 18 Jul 2010 18:57:41 +0100
changeset 36 99de8c43cede
parent 0 7f656887cf89
permissions -rw-r--r--
First cut of thread pools in fshell. Not fully working yet. Removed 4 overloads of CCommandBase::RunCommand[L] that are no longer used at all, and changed one more to not be exported as it's only used internally to iocli.dll. Added a thread pool (CThreadPool) to fshell so that thread commands no longer have to spawn a new thread every time they run. As part of this, CCommandWrapperBase now derives from CActive so that CThreadCommand can use its CActive-ness. CThreadCommand rejigged quite a bit to use CThreadPool (via MTaskRunner interface).

#!fshell
# fshell-unicode-test.script
# 
# Copyright (c) 2010 Accenture. All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the "Eclipse Public License v1.0"
# which accompanies this distribution, and is available
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
# 
# Initial Contributors:
# Accenture - Initial contribution
#

# Note this file is UTF-8!

# Assume fshell-basic-test is working and this Error definition doesn't need testing
var KEEP_GOING not-defined && export Error 'fshell -e "echo ^"Test failed, env is:^" && env && error"'
var KEEP_GOING defined && export Error 'error -39 "Test failure in $SCRIPT_NAME at line $SCRIPT_LINE"'

export TEST_STRING "EAcute:^u00E9 Beta:^u03b2 Smiley:^u263a"
echo -n EAcute:é Beta:β Smiley:☺ | export -s RESULT

# Check symmetric properties - I don't imagine these will ever fail unless variable expansion is really broken
var TEST_STRING == "$TEST_STRING" || $Error
var RESULT == "$RESULT" || $Error

var RESULT == "$TEST_STRING" || $Error
# And vice-versa
var TEST_STRING == "$RESULT" || $Error

echo "$TEST_STRING" > unicodetest.txt # This will output in UTF-8

cat --encoding ltk-utf-8 unicodetest.txt | export -s CATRESULT
var CATRESULT == "$TEST_STRING^r^n" || $Error

export -s REDIRRESULT < unicodetest.txt
var REDIRRESULT == "$TEST_STRING^r^n" || $Error

rm unicodetest.txt