Ignore:
Timestamp:
Apr 30, 2016, 7:49:57 PM (9 years ago)
Author:
RBRi
Message:

more string utils (merged from old 2.20)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/unittests/StringUtilsUnitTests.pas

    r384 r390  
    11Unit StringUtilsUnitTests;
     2
     3// NewView - a new OS/2 Help Viewer
     4// Copyright 2006-2009 Ronald Brill (rbri at rbri dot de)
     5// This software is released under the GNU Public License - see readme.txt
     6
     7// UnitTests for StringUtilsUnit
    28
    39Interface
     
    15741580
    15751581
     1582  PROCEDURE testHexStrToLongInt_Empty;
     1583  VAR
     1584    tmpResult : LongInt;
     1585  BEGIN
     1586    tmpResult := -1;
     1587    try
     1588      tmpResult := HexStrToLongInt('');
     1589    except
     1590      on e:EConvertError do
     1591      begin
     1592        assertEqualsString('testHexStrToLongInt_Empty', 'No chars in hex string', e.message);
     1593      end;
     1594    end;
     1595
     1596
     1597    assertEqualsInt('testHexStrToLongInt_Empty', -1, tmpResult);
     1598  END;
     1599
     1600
     1601  PROCEDURE testHexStrToLongInt_IllegalChar;
     1602  VAR
     1603    tmpResult : LongInt;
     1604  BEGIN
     1605    tmpResult := -1;
     1606    try
     1607      tmpResult := HexStrToLongInt('abG');
     1608    except
     1609      on e:EConvertError do
     1610      begin
     1611        assertEqualsString('testHexStrToLongInt_IllegalChar', 'Invalid hex char: ''G'' in hex string ''abG''.', e.message);
     1612      end;
     1613    end;
     1614
     1615
     1616    assertEqualsInt('testHexStrToLongInt_IllegalChar', -1, tmpResult);
     1617  END;
     1618
     1619
     1620  PROCEDURE testHexStrToLongInt_IllegalCharMinus;
     1621  VAR
     1622    tmpResult : LongInt;
     1623  BEGIN
     1624    tmpResult := -1;
     1625    try
     1626      tmpResult := HexStrToLongInt('-F3');
     1627    except
     1628      on e:EConvertError do
     1629      begin
     1630        assertEqualsString('testHexStrToLongInt_IllegalCharMinus', 'Invalid hex char: ''-'' in hex string ''-F3''.', e.message);
     1631      end;
     1632    end;
     1633
     1634
     1635    assertEqualsInt('testHexStrToLongInt_IllegalCharMinus', -1, tmpResult);
     1636  END;
     1637
     1638
     1639  PROCEDURE testHexStrToLongInt_Zero;
     1640  VAR
     1641    tmpResult : LongInt;
     1642  BEGIN
     1643    tmpResult := HexStrToLongInt('000');
     1644
     1645    assertEqualsInt('testHexStrToLongInt_Zero', 0, tmpResult);
     1646  END;
     1647
     1648
     1649  PROCEDURE testHexStrToLongInt_Ten;
     1650  VAR
     1651    tmpResult : LongInt;
     1652  BEGIN
     1653    tmpResult := HexStrToLongInt('A');
     1654
     1655    assertEqualsInt('testHexStrToLongInt_Ten', 10, tmpResult);
     1656  END;
     1657
     1658
     1659  PROCEDURE testHexStrToLongInt_Big;
     1660  VAR
     1661    tmpResult : LongInt;
     1662  BEGIN
     1663    tmpResult := HexStrToLongInt('7fffFFFF');
     1664
     1665    assertEqualsLongWord('testHexStrToLongInt_Big', 2147483647, tmpResult);
     1666  END;
     1667
     1668
     1669  // ----------------------------------------------------------
     1670
     1671
    15761672  PROCEDURE testStrInSingleQuotes_Empty;
    15771673  VAR
     
    19752071
    19762072
    1977 
    19782073  // -------------------------------------------------------------------
    19792074
     
    20662161
    20672162    assertEqualsInt('testLastPosOfChar_ManyHits', 7, tmpResult);
     2163  END;
     2164
     2165
     2166  // -------------------------------------------------------------------
     2167
     2168
     2169  PROCEDURE testSubstituteAllOccurencesOfChar_Empty;
     2170  VAR
     2171    tmpResult : String;
     2172  BEGIN
     2173    tmpResult := '';
     2174    SubstituteAllOccurencesOfChar(tmpResult, 'x', 'y');
     2175
     2176    assertEqualsString('testSubstituteAllOccurencesOfChar_Empty', '', tmpResult);
     2177  END;
     2178
     2179
     2180  PROCEDURE testSubstituteAllOccurencesOfChar_NotFound;
     2181  VAR
     2182    tmpResult : String;
     2183  BEGIN
     2184    tmpResult := 'abc';
     2185    SubstituteAllOccurencesOfChar(tmpResult, 'x', 'y');
     2186
     2187    assertEqualsString('testSubstituteAllOccurencesOfChar_NotFound', 'abc', tmpResult);
     2188  END;
     2189
     2190
     2191  PROCEDURE testSubstituteAllOccurencesOfChar_OneCharReplace;
     2192  VAR
     2193    tmpResult : String;
     2194  BEGIN
     2195    tmpResult := 'x';
     2196    SubstituteAllOccurencesOfChar(tmpResult, 'x', 'y');
     2197
     2198    assertEqualsString('testSubstituteAllOccurencesOfChar_OneCharReplace', 'y', tmpResult);
     2199  END;
     2200
     2201
     2202  PROCEDURE testSubstituteAllOccurencesOfChar_ReplaceAll;
     2203  VAR
     2204    tmpResult : String;
     2205  BEGIN
     2206    tmpResult := 'xxxx';
     2207    SubstituteAllOccurencesOfChar(tmpResult, 'x', 'y');
     2208
     2209    assertEqualsString('testSubstituteAllOccurencesOfChar_ReplaceAll', 'yyyy', tmpResult);
     2210  END;
     2211
     2212
     2213  PROCEDURE testSubstituteAllOccurencesOfChar_Some;
     2214  VAR
     2215    tmpResult : String;
     2216  BEGIN
     2217    tmpResult := 'xabxcxddx';
     2218    SubstituteAllOccurencesOfChar(tmpResult, 'x', 'y');
     2219
     2220    assertEqualsString('testSubstituteAllOccurencesOfChar_Some', 'yabycyddy', tmpResult);
    20682221  END;
    20692222
     
    25752728    result.add(@testStrInSingleQuotes_Empty);
    25762729    result.add(@testStrInSingleQuotes);
     2730
     2731    result.add(@testHexStrToLongInt_Empty);
     2732    result.add(@testHexStrToLongInt_IllegalChar);
     2733    result.add(@testHexStrToLongInt_IllegalCharMinus);
     2734    result.add(@testHexStrToLongInt_Zero);
     2735    result.add(@testHexStrToLongInt_Ten);
     2736    result.add(@testHexStrToLongInt_Big);
    25772737
    25782738    result.add(@testStrInDoubleQuotes_Empty);
     
    26142774    result.add(@testLastPosOfChar_ManyHits);
    26152775
     2776    result.add(@testSubstituteAllOccurencesOfChar_Empty);
     2777    result.add(@testSubstituteAllOccurencesOfChar_NotFound);
     2778    result.add(@testSubstituteAllOccurencesOfChar_OneCharReplace);
     2779    result.add(@testSubstituteAllOccurencesOfChar_ReplaceAll);
     2780    result.add(@testSubstituteAllOccurencesOfChar_Some);
    26162781
    26172782  // --------------------
Note: See TracChangeset for help on using the changeset viewer.