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)
0000: ef bb bf 24 65 6e 67 69 6e 65 20 4a 53 63 72 69 ...$engine JScri
0010: 70 74 0d 0a 24 75 6e 61 6d 65 20 74 65 73 74 54 pt..$uname testT
0020: 65 78 74 57 69 6e 64 6f 77 5f 45 6d 70 74 79 44 extWindow_EmptyD
0030: 6f 63 0d 0a 24 64 6e 61 6d 65 20 d0 a2 d0 b5 d1 oc..$dname .....
0040: 81 d1 82 d1 8b 20 d0 b4 d0 bb d1 8f 20 d0 ba d0 ..... ...... ...
0050: bb d0 b0 d1 81 d1 81 d0 b0 20 54 65 78 74 57 69 ......... TextWi
0060: 6e 64 6f 77 0d 0a 24 61 64 64 69 6e 20 67 6c 6f ndow..$addin glo
0070: 62 61 6c 0d 0a 24 61 64 64 69 6e 20 73 74 64 63 bal..$addin stdc
0080: 6f 6d 6d 61 6e 64 73 0d 0a 24 61 64 64 69 6e 20 ommands..$addin
0090: 73 74 64 6c 69 62 0d 0a 0d 0a 2f 2a 20 d0 9e d1 stdlib..../* ...
00a0: 82 d0 bf d1 80 d0 b0 d0 b2 d0 bd d0 b0 d1 8f 20 ...............
00b0: d1 82 d0 be d1 87 d0 ba d0 b0 20 d1 82 d0 b5 d1 .......... .....
00c0: 81 d1 82 d0 be d0 b2 20 2d 20 d0 bf d1 83 d1 81 ....... - ......
00d0: d1 82 d0 be d0 b9 20 d1 82 d0 b5 d0 ba d1 81 d1 ...... .........
00e0: 82 d0 be d0 b2 d1 8b d0 b9 20 d0 b4 d0 be d0 ba ......... ......
00f0: d1 83 d0 bc d0 b5 d0 bd d1 82 2e 20 2a 2f 0d 0a ........... */..
0100: 0d 0a 73 74 64 6c 69 62 2e 72 65 71 75 69 72 65 ..stdlib.require
0110: 28 27 6a 73 55 6e 69 74 43 6f 72 65 2e 6a 73 27 ('jsUnitCore.js'
0120: 2c 20 53 65 6c 66 53 63 72 69 70 74 29 3b 0d 0a , SelfScript);..
0130: 0d 0a 76 61 72 20 54 57 57 20 3d 20 73 74 64 6c ..var TWW = stdl
0140: 69 62 2e 72 65 71 75 69 72 65 28 27 54 65 78 74 ib.require('Text
0150: 57 69 6e 64 6f 77 2e 6a 73 27 29 3b 0d 0a 0d 0a Window.js');....
0160: 76 61 72 20 74 65 78 74 44 6f 63 20 3d 20 6e 75 var textDoc = nu
0170: 6c 6c 3b 0d 0a 76 61 72 20 74 77 6e 64 20 3d 20 ll;..var twnd =
0180: 6e 75 6c 6c 3b 0d 0a 20 20 20 20 0d 0a 66 75 6e null;.. ..fun
0190: 63 74 69 6f 6e 20 73 65 74 55 70 28 29 0d 0a 7b ction setUp()..{
01a0: 0d 0a 20 20 20 20 74 65 78 74 44 6f 63 20 3d 20 .. textDoc =
01b0: 76 38 4e 65 77 28 22 54 65 78 74 44 6f 63 75 6d v8New("TextDocum
01c0: 65 6e 74 22 29 3b 0d 0a 0d 0a 20 20 20 20 74 65 ent");.... te
01d0: 78 74 44 6f 63 2e 53 68 6f 77 28 29 3b 0d 0a 20 xtDoc.Show();..
01e0: 20 20 20 0d 0a 20 20 20 20 74 77 6e 64 20 3d 20 .. twnd =
01f0: 54 57 57 2e 47 65 74 54 65 78 74 57 69 6e 64 6f TWW.GetTextWindo
0200: 77 28 29 3b 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 w();..}....funct
0210: 69 6f 6e 20 74 65 61 72 44 6f 77 6e 28 29 0d 0a ion tearDown()..
0220: 7b 0d 0a 20 20 20 20 69 66 20 28 74 77 6e 64 29 {.. if (twnd)
0230: 0d 0a 20 20 20 20 20 20 20 20 64 65 6c 65 74 65 .. delete
0240: 20 74 77 6e 64 3b 0d 0a 20 20 20 20 0d 0a 20 20 twnd;.. ..
0250: 20 20 2f 2f 20 d0 a7 d1 82 d0 be d0 b1 d1 8b 20 // ..........
0260: d0 bf d1 80 d0 b8 20 d0 b7 d0 b0 d0 ba d1 80 d1 ...... .........
0270: 8b d1 82 d0 b8 d0 b8 20 d0 bd d0 b5 20 d0 b2 d1 ....... .... ...
0280: 8b d0 b4 d0 b0 d0 b2 d0 b0 d0 bb d0 be d1 81 d1 ................
0290: 8c 20 d1 81 d0 be d0 be d0 b1 d1 89 d0 b5 d0 bd . ..............
02a0: d0 b8 d0 b5 20 22 d0 97 d0 b0 d0 bf d0 b8 d1 81 .... "..........
02b0: d0 b0 d1 82 d1 8c 3f 22 2c 20 d1 81 d0 be d1 85 ......?", ......
02c0: d1 80 d0 b0 d0 bd d0 b8 d0 bc 20 d0 b4 d0 be d0 .......... .....
02d0: ba d1 83 d0 bc d0 b5 d0 bd d1 82 20 d0 b2 d0 be ........... ....
02e0: 20 d0 b2 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d1 ...............
02f0: 8b d0 b9 20 d1 84 d0 b0 d0 b9 d0 bb 2e 0d 0a 20 ... ...........
0300: 20 20 20 76 61 72 20 74 65 6d 70 46 69 6c 65 20 var tempFile
0310: 3d 20 67 6c 6f 62 61 6c 43 6f 6e 74 65 78 74 28 = globalContext(
0320: 22 7b 34 41 39 39 33 41 42 37 2d 32 46 37 35 2d "{4A993AB7-2F75-
0330: 34 33 43 46 2d 42 33 34 41 2d 30 41 44 39 46 46 43CF-B34A-0AD9FF
0340: 41 45 45 37 45 33 7d 22 29 2e 47 65 74 54 65 6d AEE7E3}").GetTem
0350: 70 46 69 6c 65 4e 61 6d 65 28 29 3b 0d 0a 20 20 pFileName();..
0360: 20 20 74 65 78 74 44 6f 63 2e 57 72 69 74 65 28 textDoc.Write(
0370: 74 65 6d 70 46 69 6c 65 29 3b 0d 0a 20 20 20 20 tempFile);..
0380: 0d 0a 20 20 20 20 2f 2f 20 d0 97 d0 b0 d0 ba d1 .. // .......
0390: 80 d0 be d0 b5 d0 bc 20 d0 be d0 ba d0 bd d0 be ....... ........
03a0: 20 d1 82 d0 b5 d0 ba d1 81 d1 82 d0 be d0 b2 d0 ...............
03b0: be d0 b3 d0 be 20 d0 b4 d0 be d0 ba d1 83 d0 bc ..... ..........
03c0: d0 b5 d0 bd d1 82 d0 b0 2e 0d 0a 20 20 20 20 73 ........... s
03d0: 74 64 63 6f 6d 6d 61 6e 64 73 2e 46 72 61 6d 65 tdcommands.Frame
03e0: 2e 46 69 6c 65 43 6c 6f 73 65 2e 73 65 6e 64 28 .FileClose.send(
03f0: 29 3b 20 20 20 20 0d 0a 20 20 20 20 0d 0a 20 20 ); .. ..
0400: 20 20 2f 2f 20 d0 a3 d0 b4 d0 b0 d0 bb d0 b8 d0 // ...........
0410: bc 20 d0 b2 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd . ..............
0420: d1 8b d0 b9 20 d1 84 d0 b0 d0 b9 d0 bb 2e 0d 0a .... ...........
0430: 20 20 20 20 76 61 72 20 66 20 3d 20 76 38 4e 65 var f = v8Ne
0440: 77 28 22 46 69 6c 65 22 2c 20 74 65 6d 70 46 69 w("File", tempFi
0450: 6c 65 29 3b 0d 0a 20 20 20 20 67 6c 6f 62 61 6c le);.. global
0460: 43 6f 6e 74 65 78 74 28 22 7b 32 32 41 32 31 30 Context("{22A210
0470: 33 30 2d 45 31 44 36 2d 34 36 41 30 2d 39 34 36 30-E1D6-46A0-946
0480: 35 2d 46 30 41 35 34 32 37 42 45 30 31 31 7d 22 5-F0A5427BE011}"
0490: 29 2e 44 65 6c 65 74 65 46 69 6c 65 73 28 66 2e ).DeleteFiles(f.
04a0: 50 61 74 68 2c 20 66 2e 4e 61 6d 65 29 3b 0d 0a Path, f.Name);..
04b0: 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 6d 61 }....function ma
04c0: 63 72 6f 73 54 65 73 74 41 64 64 4c 69 6e 65 31 crosTestAddLine1
04d0: 28 29 0d 0a 7b 0d 0a 20 20 20 20 61 73 73 65 72 ()..{.. asser
04e0: 74 54 72 75 65 28 27 d0 9d d0 b5 d1 82 20 d0 b0 tTrue('...... ..
04f0: d0 ba d1 82 d0 b8 d0 b2 d0 bd d0 be d0 b3 d0 be ................
0500: 20 d1 82 d0 b5 d0 ba d1 81 d1 82 d0 be d0 b2 d0 ...............
0510: be d0 b3 d0 be 20 d0 be d0 ba d0 bd d0 b0 21 27 ..... ........!'
0520: 2c 20 74 77 6e 64 2e 49 73 41 63 74 69 76 65 28 , twnd.IsActive(
0530: 29 29 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 74 ));.. .. t
0540: 77 6e 64 2e 41 64 64 4c 69 6e 65 28 22 d0 a1 d1 wnd.AddLine("...
0550: 82 d1 80 d0 be d0 ba d0 b0 20 d1 82 d0 b5 d0 ba ......... ......
0560: d1 81 d1 82 d0 b0 22 29 3b 0d 0a 20 20 20 20 61 ......");.. a
0570: 73 73 65 72 74 45 71 75 61 6c 73 28 22 d0 a1 d1 ssertEquals("...
0580: 82 d1 80 d0 be d0 ba d0 b0 20 d1 82 d0 b5 d0 ba ......... ......
0590: d1 81 d1 82 d0 b0 22 2c 20 74 65 78 74 44 6f 63 ......", textDoc
05a0: 2e 47 65 74 54 65 78 74 28 29 29 3b 0d 0a 7d 0d .GetText());..}.
05b0: 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 6d 61 63 72 ...function macr
05c0: 6f 73 54 65 73 74 41 64 64 4c 69 6e 65 32 28 29 osTestAddLine2()
05d0: 0d 0a 7b 0d 0a 20 20 20 20 61 73 73 65 72 74 54 ..{.. assertT
05e0: 72 75 65 28 27 d0 9d d0 b5 d1 82 20 d0 b0 d0 ba rue('...... ....
05f0: d1 82 d0 b8 d0 b2 d0 bd d0 be d0 b3 d0 be 20 d1 .............. .
0600: 82 d0 b5 d0 ba d1 81 d1 82 d0 be d0 b2 d0 be d0 ................
0610: b3 d0 be 20 d0 be d0 ba d0 bd d0 b0 21 27 2c 20 ... ........!',
0620: 74 77 6e 64 2e 49 73 41 63 74 69 76 65 28 29 29 twnd.IsActive())
0630: 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 74 77 6e ;.. .. twn
0640: 64 2e 41 64 64 4c 69 6e 65 28 22 d0 a1 d1 82 d1 d.AddLine(".....
0650: 80 d0 be d0 ba d0 b0 20 d1 82 d0 b5 d0 ba d1 81 ....... ........
0660: d1 82 d0 b0 22 29 3b 0d 0a 20 20 20 20 74 77 6e ....");.. twn
0670: 64 2e 41 64 64 4c 69 6e 65 28 22 d0 95 d1 89 d0 d.AddLine(".....
0680: b5 20 d0 be d0 b4 d0 bd d0 b0 20 d1 81 d1 82 d1 . ........ .....
0690: 80 d0 be d0 ba d0 b0 22 29 3b 0d 0a 20 20 20 20 .......");..
06a0: 74 77 6e 64 2e 41 64 64 4c 69 6e 65 28 22 d0 a2 twnd.AddLine("..
06b0: d1 80 d0 b5 d1 82 d1 8c d1 8f 20 d1 81 d1 82 d1 .......... .....
06c0: 80 d0 be d1 87 d0 ba d0 b0 22 29 3b 0d 0a 20 20 .........");..
06d0: 20 20 0d 0a 20 20 20 20 61 73 73 65 72 74 45 71 .. assertEq
06e0: 75 61 6c 73 28 22 d0 a1 d1 82 d1 80 d0 be d0 ba uals("..........
06f0: d0 b0 20 d1 82 d0 b5 d0 ba d1 81 d1 82 d0 b0 5c .. ............\
0700: 6e d0 95 d1 89 d0 b5 20 d0 be d0 b4 d0 bd d0 b0 n...... ........
0710: 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 b0 5c 6e d0 ............\n.
0720: a2 d1 80 d0 b5 d1 82 d1 8c d1 8f 20 d1 81 d1 82 ........... ....
0730: d1 80 d0 be d1 87 d0 ba d0 b0 22 2c 20 74 65 78 ..........", tex
0740: 74 44 6f 63 2e 47 65 74 54 65 78 74 28 29 29 3b tDoc.GetText());
0750: 0d 0a 7d 0d 0a ..}..