Files
harbour-core/harbour/tests/strings3.prg
1999-10-25 11:25:54 +00:00

99 lines
1.8 KiB
Plaintext

//
// $Id$
//
#include "set.ch"
function main
local cStr := " " + CHR (0) + "ABC" + CHR (0) + " "
local cTest, nI, nJ, crlf := CHR(13)+CHR(10)
// Test string copying.
cTest := cStr
OUTSTD (crlf)
OUTSTD (cStr)
OUTSTD (crlf)
OUTSTD (cTest)
OUTSTD (crlf)
OUTSTD (crlf)
// Test string concatenation.
cTest += cStr
OUTSTD (crlf)
OUTSTD (cStr)
OUTSTD (crlf)
OUTSTD (cTest)
OUTSTD (crlf)
OUTSTD (crlf)
// Test the string comparison operators in the HVM.
// Note: SET (_SET_EXACT) defaults to .F.
TestStr ()
OUTSTD (crlf)
OUTSTD (crlf)
SET (_SET_EXACT, .T.)
TestStr ()
OUTSTD (crlf)
return nil
function TestStr ()
OUTSTD ("EXACT ")
IF SET (_SET_EXACT)
OUTSTD ("ON")
ELSE
OUTSTD ("OFF")
ENDIF
StrTest ("ABC", "")
StrTest ("ABC", " ")
StrTest ("ABC", "ABC")
StrTest ("ABC", "ABCD")
StrTest ("ABC", "ABC ")
StrTest ("ABC", "DEF")
StrTest ("ABC", "DEFG")
StrTest ("ABCD", "DEF")
return nil
function StrTest (Str1, Str2)
OUTSTD (CHR(13)+CHR(10)+CHR(10))
OUTSTD ("'")
OUTSTD (Str1)
OUTSTD ("', '")
OUTSTD (Str2)
OUTSTD ("' == ")
OUTSTD (Str1 == Str2)
OUTSTD (" = ")
OUTSTD (Str1 = Str2)
OUTSTD (", != ")
OUTSTD (Str1 != Str2)
OUTSTD (", < ")
OUTSTD (Str1 < Str2)
OUTSTD (", <= ")
OUTSTD (Str1 <= Str2)
OUTSTD (", > ")
OUTSTD (Str1 > Str2)
OUTSTD (", >= ")
OUTSTD (Str1 >= Str2)
OUTSTD (CHR(13)+CHR(10))
OUTSTD ("'")
OUTSTD (Str2)
OUTSTD ("', '")
OUTSTD (Str1)
OUTSTD ("' == ")
OUTSTD (Str2 == Str1)
OUTSTD (" = ")
OUTSTD (Str2 = Str1)
OUTSTD (", != ")
OUTSTD (Str2 != Str1)
OUTSTD (", < ")
OUTSTD (Str2 < Str1)
OUTSTD (", <= ")
OUTSTD (Str2 <= Str1)
OUTSTD (", > ")
OUTSTD (Str2 > Str1)
OUTSTD (", >= ")
OUTSTD (Str2 >= Str1)
return nil