Artifact
1000ce983325f98d48fba6c2c6a8f3037fb34001:
- File
Tests/Automated/TextWindow/testTextWindow_EmptyDoc.js
— part of check-in
[c98f0947e6]
at
2011-11-17 10:29:42
on branch trunk
— Библиотека-декоратор ITextWindow, реализующая удобный интерфейс для манипуляций с текстом в текстовом окне, избавляет разработчиков от манипуляций с выделением текста "вручную". Пример использования в скрипте textEditorExt.js Василия Фролова (aka palych).
(user:
kuntashov
size: 1877)
$engine JScript
$uname testTextWindow_EmptyDoc
$dname Тесты для класса TextWindow
$addin global
$addin stdcommands
$addin stdlib
/* Отправная точка тестов - пустой текстовый документ. */
stdlib.require('jsUnitCore.js', SelfScript);
var TWW = stdlib.require('TextWindow.js');
var textDoc = null;
var twnd = null;
function setUp()
{
textDoc = v8New("TextDocument");
textDoc.Show();
twnd = TWW.GetTextWindow();
}
function tearDown()
{
if (twnd)
delete twnd;
// Чтобы при закрытии не выдавалось сообщение "Записать?", сохраним документ во временный файл.
var tempFile = globalContext("{4A993AB7-2F75-43CF-B34A-0AD9FFAEE7E3}").GetTempFileName();
textDoc.Write(tempFile);
// Закроем окно текстового документа.
stdcommands.Frame.FileClose.send();
// Удалим временный файл.
var f = v8New("File", tempFile);
globalContext("{22A21030-E1D6-46A0-9465-F0A5427BE011}").DeleteFiles(f.Path, f.Name);
}
function macrosTestAddLine1()
{
assertTrue('Нет активного текстового окна!', twnd.IsActive());
twnd.AddLine("Строка текста");
assertEquals("Строка текста", textDoc.GetText());
}
function macrosTestAddLine2()
{
assertTrue('Нет активного текстового окна!', twnd.IsActive());
twnd.AddLine("Строка текста");
twnd.AddLine("Еще одна строка");
twnd.AddLine("Третья строчка");
assertEquals("Строка текста\nЕще одна строка\nТретья строчка", textDoc.GetText());
}