Changeset 106 for trunk/NewView/unittests/StringUtilsUnitTests.pas
- Timestamp:
- Apr 11, 2007, 8:41:25 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NewView/unittests/StringUtilsUnitTests.pas
r105 r106 1418 1418 1419 1419 // ---------------------------------------------------------- 1420 1421 1422 PROCEDURE testStrExtractStringsQuoted_Empty; 1423 VAR 1424 tmpResult : TStringList; 1425 tmpString : String; 1426 BEGIN 1427 tmpResult := TStringList.Create; 1428 tmpString := ''; 1429 1430 StrExtractStringsQuoted(tmpResult, tmpString); 1431 assertEqualsInt('testStrExtractStringsQuoted_Empty', 0, tmpResult.count); 1432 1433 tmpResult.Destroy; 1434 END; 1435 1436 1437 PROCEDURE testStrExtractStringsQuoted_OnlyWhitespace; 1438 VAR 1439 tmpResult : TStringList; 1440 tmpString : String; 1441 BEGIN 1442 tmpResult := TStringList.Create; 1443 tmpString := ' ' + StrTAB + ' '; 1444 1445 StrExtractStringsQuoted(tmpResult, tmpString); 1446 assertEqualsInt('testStrExtractStringsQuoted_OnlyWhitespace', 0, tmpResult.count); 1447 1448 tmpResult.Destroy; 1449 END; 1450 1451 1452 PROCEDURE testStrExtractStringsQuoted_OnlyText; 1453 VAR 1454 tmpResult : TStringList; 1455 tmpString : String; 1456 BEGIN 1457 tmpResult := TStringList.Create; 1458 tmpString := 'TeXt'; 1459 1460 StrExtractStringsQuoted(tmpResult, tmpString); 1461 assertEqualsInt('testStrExtractStringsQuoted_OnlyText', 1, tmpResult.count); 1462 assertEqualsString('testStrExtractStringsQuoted_OnlyText', 'TeXt', tmpResult[0]); 1463 1464 tmpResult.Destroy; 1465 END; 1466 1467 1468 PROCEDURE testStrExtractStringsQuoted_OnlyText2Parts; 1469 VAR 1470 tmpResult : TStringList; 1471 tmpString : String; 1472 BEGIN 1473 tmpResult := TStringList.Create; 1474 tmpString := 'TeXt sample'; 1475 1476 StrExtractStringsQuoted(tmpResult, tmpString); 1477 assertEqualsInt('testStrExtractStringsQuoted_OnlyText2Parts', 2, tmpResult.count); 1478 assertEqualsString('testStrExtractStringsQuoted_OnlyText2Parts', 'TeXt', tmpResult[0]); 1479 assertEqualsString('testStrExtractStringsQuoted_OnlyText2Parts', 'sample', tmpResult[1]); 1480 1481 tmpResult.Destroy; 1482 END; 1483 1484 1485 PROCEDURE testStrExtractStringsQuoted_TextAndWhitespace2Parts; 1486 VAR 1487 tmpResult : TStringList; 1488 tmpString : String; 1489 BEGIN 1490 tmpResult := TStringList.Create; 1491 tmpString := ' TeXt ' + StrTAB + StrTAB + ' sample ' + StrTAB; 1492 1493 StrExtractStringsQuoted(tmpResult, tmpString); 1494 assertEqualsInt('testStrExtractStringsQuoted_TextAndWhitespace2Parts', 2, tmpResult.count); 1495 assertEqualsString('testStrExtractStringsQuoted_TextAndWhitespace2Parts', 'TeXt', tmpResult[0]); 1496 assertEqualsString('testStrExtractStringsQuoted_TextAndWhitespace2Parts', 'sample', tmpResult[1]); 1497 1498 tmpResult.Destroy; 1499 END; 1500 1501 1502 PROCEDURE testStrExtractStringsQuoted_QuotedText1Part; 1503 VAR 1504 tmpResult : TStringList; 1505 tmpString : String; 1506 BEGIN 1507 tmpResult := TStringList.Create; 1508 tmpString := '"TeXt"'; 1509 1510 StrExtractStringsQuoted(tmpResult, tmpString); 1511 assertEqualsInt('testStrExtractStringsQuoted_QuotedText1Part', 1, tmpResult.count); 1512 assertEqualsString('testStrExtractStringsQuoted_QuotedText1Part', 'TeXt', tmpResult[0]); 1513 1514 tmpResult.Destroy; 1515 END; 1516 1517 1518 PROCEDURE testStrExtractStringsQuoted_QuotedText1PartNoClosingQuotes; 1519 VAR 1520 tmpResult : TStringList; 1521 tmpString : String; 1522 BEGIN 1523 tmpResult := TStringList.Create; 1524 tmpString := '"TeXt'; 1525 1526 StrExtractStringsQuoted(tmpResult, tmpString); 1527 assertEqualsInt('testStrExtractStringsQuoted_QuotedText1PartNoClosingQuotes', 1, tmpResult.count); 1528 assertEqualsString('testStrExtractStringsQuoted_QuotedText1PartNoClosingQuotes', 'TeXt', tmpResult[0]); 1529 1530 tmpResult.Destroy; 1531 END; 1532 1533 1534 PROCEDURE testStrExtractStringsQuoted_QuotedText1PartNoClosingQuotesWhitewspace; 1535 VAR 1536 tmpResult : TStringList; 1537 tmpString : String; 1538 BEGIN 1539 tmpResult := TStringList.Create; 1540 tmpString := '"TeX t '; 1541 1542 StrExtractStringsQuoted(tmpResult, tmpString); 1543 assertEqualsInt('testStrExtractStringsQuoted_QuotedText1PartNoClosingQuotesWhitewspace', 1, tmpResult.count); 1544 assertEqualsString('testStrExtractStringsQuoted_QuotedText1PartNoClosingQuotesWhitewspace', 'TeX t ', tmpResult[0]); 1545 1546 tmpResult.Destroy; 1547 END; 1548 1549 1550 1551 1552 PROCEDURE testStrExtractStringsQuoted_QuotedText1PartQuoteInside; 1553 VAR 1554 tmpResult : TStringList; 1555 tmpString : String; 1556 BEGIN 1557 tmpResult := TStringList.Create; 1558 tmpString := '"TeX"t'; 1559 1560 StrExtractStringsQuoted(tmpResult, tmpString); 1561 assertEqualsInt('testStrExtractStringsQuoted_QuotedText1PartQuoteInside', 2, tmpResult.count); 1562 assertEqualsString('testStrExtractStringsQuoted_QuotedText1PartQuoteInside', 'TeX', tmpResult[0]); 1563 assertEqualsString('testStrExtractStringsQuoted_QuotedText1PartQuoteInside', 't', tmpResult[1]); 1564 1565 tmpResult.Destroy; 1566 END; 1567 1568 1569 PROCEDURE testStrExtractStringsQuoted_QuotedText1Part2QuotesInside; 1570 VAR 1571 tmpResult : TStringList; 1572 tmpString : String; 1573 BEGIN 1574 tmpResult := TStringList.Create; 1575 tmpString := '"TeX""t"'; 1576 1577 StrExtractStringsQuoted(tmpResult, tmpString); 1578 assertEqualsInt('testStrExtractStringsQuoted_QuotedText1Part2QuotesInside', 1, tmpResult.count); 1579 assertEqualsString('testStrExtractStringsQuoted_QuotedText1Part2QuotesInside', 'TeX"t', tmpResult[0]); 1580 1581 tmpResult.Destroy; 1582 END; 1583 1584 1585 PROCEDURE testStrExtractStringsQuoted_QuotedText1Part2Quotes; 1586 VAR 1587 tmpResult : TStringList; 1588 tmpString : String; 1589 BEGIN 1590 tmpResult := TStringList.Create; 1591 tmpString := '"""Te X""t"""'; 1592 1593 StrExtractStringsQuoted(tmpResult, tmpString); 1594 assertEqualsInt('testStrExtractStringsQuoted_QuotedText1Part2Quotes', 1, tmpResult.count); 1595 assertEqualsString('testStrExtractStringsQuoted_QuotedText1Part2Quotes', '"Te X"t"', tmpResult[0]); 1596 1597 tmpResult.Destroy; 1598 END; 1599 1600 1601 PROCEDURE testStrExtractStringsQuoted_Only1Quote; 1602 VAR 1603 tmpResult : TStringList; 1604 tmpString : String; 1605 BEGIN 1606 tmpResult := TStringList.Create; 1607 tmpString := '"'; 1608 1609 StrExtractStringsQuoted(tmpResult, tmpString); 1610 assertEqualsInt('testStrExtractStringsQuoted_Only1Quote', 0, tmpResult.count); 1611 1612 tmpResult.Destroy; 1613 END; 1614 1615 1616 PROCEDURE testStrExtractStringsQuoted_Only1QuoteAndWhitespace; 1617 VAR 1618 tmpResult : TStringList; 1619 tmpString : String; 1620 BEGIN 1621 tmpResult := TStringList.Create; 1622 tmpString := ' " '; 1623 1624 StrExtractStringsQuoted(tmpResult, tmpString); 1625 assertEqualsInt('testStrExtractStringsQuoted_Only1QuoteAndWhitespace', 1, tmpResult.count); 1626 assertEqualsString('testStrExtractStringsQuoted_Only1QuoteAndWhitespace', ' ', tmpResult[0]); 1627 1628 tmpResult.Destroy; 1629 END; 1630 1631 1632 PROCEDURE testStrExtractStringsQuoted_QuoteStartsNewPart; 1633 VAR 1634 tmpResult : TStringList; 1635 tmpString : String; 1636 BEGIN 1637 tmpResult := TStringList.Create; 1638 tmpString := 'ab"c"'; 1639 1640 StrExtractStringsQuoted(tmpResult, tmpString); 1641 assertEqualsInt('testStrExtractStringsQuoted_QuoteStartsNewPart', 2, tmpResult.count); 1642 assertEqualsString('testStrExtractStringsQuoted_QuoteStartsNewPart', 'ab', tmpResult[0]); 1643 assertEqualsString('testStrExtractStringsQuoted_QuoteStartsNewPart', 'c', tmpResult[1]); 1644 1645 // note this is not compatible with the old behavior but more consistent 1646 // tmpIndex := 1; 1647 // GetNextQuotedValue(tmpString, tmpIndex, s, '"'); 1648 // assertEqualsString('testGetNextQuotedValue', 'ab"c"', s); 1649 1650 tmpResult.Destroy; 1651 END; 1652 1653 1654 PROCEDURE testStrExtractStringsQuoted_ManyParts; 1655 VAR 1656 tmpResult : TStringList; 1657 tmpString : String; 1658 BEGIN 1659 tmpResult := TStringList.Create; 1660 tmpString := 'ab "c" """d" xy z ""'; 1661 1662 StrExtractStringsQuoted(tmpResult, tmpString); 1663 assertEqualsInt('testStrExtractStringsQuoted_ManyParts', 6, tmpResult.count); 1664 assertEqualsString('testStrExtractStringsQuoted_ManyParts', 'ab', tmpResult[0]); 1665 assertEqualsString('testStrExtractStringsQuoted_ManyParts', 'c', tmpResult[1]); 1666 assertEqualsString('testStrExtractStringsQuoted_ManyParts', '"d', tmpResult[2]); 1667 assertEqualsString('testStrExtractStringsQuoted_ManyParts', 'xy', tmpResult[3]); 1668 assertEqualsString('testStrExtractStringsQuoted_ManyParts', 'z', tmpResult[4]); 1669 assertEqualsString('testStrExtractStringsQuoted_ManyParts', '', tmpResult[5]); 1670 1671 tmpResult.Destroy; 1672 END; 1673 1674 1675 // ---------------------------------------------------------- 1676 1420 1677 1421 1678 … … 1562 1819 result.add(@testStrInDoubleQuotes_Empty); 1563 1820 result.add(@testStrInDoubleQuotes); 1821 1822 result.add(@testStrExtractStringsQuoted_Empty); 1823 result.add(@testStrExtractStringsQuoted_OnlyWhitespace); 1824 result.add(@testStrExtractStringsQuoted_OnlyText); 1825 result.add(@testStrExtractStringsQuoted_OnlyText2Parts); 1826 result.add(@testStrExtractStringsQuoted_TextAndWhitespace2Parts); 1827 result.add(@testStrExtractStringsQuoted_QuotedText1Part); 1828 result.add(@testStrExtractStringsQuoted_QuotedText1PartNoClosingQuotes); 1829 result.add(@testStrExtractStringsQuoted_QuotedText1PartNoClosingQuotesWhitewspace); 1830 result.add(@testStrExtractStringsQuoted_QuotedText1PartQuoteInside); 1831 result.add(@testStrExtractStringsQuoted_QuotedText1Part2QuotesInside); 1832 result.add(@testStrExtractStringsQuoted_QuotedText1Part2Quotes); 1833 result.add(@testStrExtractStringsQuoted_Only1Quote); 1834 result.add(@testStrExtractStringsQuoted_Only1QuoteAndWhitespace); 1835 result.add(@testStrExtractStringsQuoted_QuoteStartsNewPart); 1836 result.add(@testStrExtractStringsQuoted_ManyParts); 1837 1564 1838 END; 1565 1839
Note:
See TracChangeset
for help on using the changeset viewer.