Artifact 98298c746d8b21a00171ecad64689bef71eb517a:
- File Tests/Automated/TextWindow/testStringUtils.js — part of check-in [1b6d89f447] at 2011-12-09 19:57:18 on branch trunk — Добавлена функция StringUtils.addSlashes - экранирует служебные символы в строке при помощи слешей (\\), например, для использования строки в регулярном выражении. (user: kuntashov size: 4537) [more...]
$engine JScript $uname testStringUtils $dname Тесты для класса StringUtils $addin global $addin stdcommands $addin stdlib stdlib.require('jsUnitCore.js', SelfScript); stdlib.require('TextWindow.js', SelfScript); //{ getIndent() function macrosTest_getIndent1_NotIndented() { var s = ""; assertEquals("", StringUtils.getIndent(s)); s = "first string\n second string with big indent"; assertEquals("", StringUtils.getIndent(s)); } function macrosTest_getIndent2() { var s; s = " first line\n \nsecond line"; assertEquals(" ", StringUtils.getIndent(s)); } function macrosTest_getIndent3() { var s = " first line\n second line"; assertEquals(" ", StringUtils.getIndent(s)); } function macrosTest_getIndent4() { var s = " first line\nsecond line"; assertEquals(" ", StringUtils.getIndent(s)); } function macrosTest_getIndent5_EmptyLines() { var s = " \n \n first line\nsecond line"; assertEquals(" ", StringUtils.getIndent(s)); } //} //{ shiftRight() function macrosTest_shiftRight1() { var s = "first line\nsecond line\nthird line"; assertEquals(" first line\n second line\n third line", StringUtils.shiftRight(s, " ")); } function macrosTest_shiftRight2() { var s = " first line\n second line\n third line"; assertEquals(" first line\n second line\n third line", StringUtils.shiftRight(s, " ")); } function macrosTest_shiftRight3() { var s = " the only line"; assertEquals(" the only line", StringUtils.shiftRight(s, " ")); } //} //{ shiftLeft() function macrosTest_shiftLeft1() { var s = " first line\n second line\n third line"; assertEquals("first line\nsecond line\nthird line", StringUtils.shiftLeft(s, " ")); } function macrosTest_shiftLeft2() { var s = " first line\n second line\n third line"; assertEquals(" first line\n second line\n third line", StringUtils.shiftLeft(s, " ")); } function macrosTest_shiftLeft3() { var s = " the only line"; assertEquals(" the only line", StringUtils.shiftLeft(s, " ")); } //} //{ endsWith() function macrosTest_endsWith1() { assertTrue(StringUtils.endsWith("","")); } function macrosTest_endsWith2() { assertTrue(StringUtils.endsWith("a","a")); } function macrosTest_endsWith3() { assertFalse(StringUtils.endsWith("a","ab")); } function macrosTest_endsWith4() { assertTrue(StringUtils.endsWith("first string\nsecond string", "ing")); } function macrosTest_endsWith5() { assertFalse(StringUtils.endsWith("first string\nsecond string\n", "ing")); } function macrosTest_endsWith6() { assertTrue(StringUtils.endsWith("first string\nsecond string\n", "ing\n")); } function macrosTest_endsWith7() { assertTrue(StringUtils.endsWith("first string\nsecond string", "second string")); } //} //{ toLines() function macrosTest_toLines1() { assertArrayEquals([""], StringUtils.toLines("")); } function macrosTest_toLines2() { assertArrayEquals(["the only string"], StringUtils.toLines("the only string")); } function macrosTest_toLines3() { assertArrayEquals(["first line", "second line"], StringUtils.toLines("first line\nsecond line")); } function macrosTest_toLines4() { assertArrayEquals(["first line", "", "second line",""], StringUtils.toLines("first line\n\nsecond line\n")); } //} //{ fromLines() function macrosTest_fromLines1() { assertEquals("", StringUtils.fromLines([""])); } function macrosTest_fromLines2() { assertEquals("the only string", StringUtils.fromLines(["the only string"])); } function macrosTest_fromLines3() { assertEquals("first line\nsecond line", StringUtils.fromLines(["first line", "second line"])); } function macrosTest_fromLines4() { assertEquals("first line\n\nsecond line\n", StringUtils.fromLines(["first line", "", "second line",""])); } //} //{ addSlashes() function macrosTest_addSlashes1() { assertEquals('\\%\\$2\\$\\>\\<\\>\\\\', StringUtils.addSlashes('%$2$><>\\')); } function macrosTest_addSlashes2() { assertEquals('\\<\\?Конфигурация\\.Имя\\>', StringUtils.addSlashes('<?Конфигурация.Имя>')); } //} /* function macros() { } */