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 54 65 73 74 52 pt..$uname TestR
0020: 75 6e 6e 65 72 0d 0a 24 64 6e 61 6d 65 20 d0 9c unner..$dname ..
0030: d0 b5 d0 bd d0 b5 d0 b4 d0 b6 d0 b5 d1 80 20 d1 .............. .
0040: 8e d0 bd d0 b8 d1 82 2d d1 82 d0 b5 d1 81 d1 82 .......-........
0050: d0 be d0 b2 20 d1 81 d0 ba d1 80 d0 b8 d0 bf d1 .... ...........
0060: 82 d0 be d0 b2 0d 0a 24 61 64 64 69 6e 20 53 6e .......$addin Sn
0070: 65 67 6f 70 61 74 4d 61 69 6e 53 63 72 69 70 74 egopatMainScript
0080: 0d 0a 24 61 64 64 69 6e 20 67 6c 6f 62 61 6c 0d ..$addin global.
0090: 0a 24 61 64 64 69 6e 20 73 74 64 6c 69 62 0d 0a .$addin stdlib..
00a0: 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ..//////////////
00b0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
00c0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
00d0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
00e0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
00f0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 2f 2f 2f 2f //////////..////
0100: 7b 20 43 d0 ba d1 80 d0 b8 d0 bf d1 82 20 22 d0 { C.......... ".
0110: 9c d0 b5 d0 bd d0 b5 d0 b4 d0 b6 d0 b5 d1 80 20 ...............
0120: d1 8e d0 bd d0 b8 d1 82 2d d1 82 d0 b5 d1 81 d1 ........-.......
0130: 82 d0 be d0 b2 20 d1 81 d0 ba d1 80 d0 b8 d0 bf ..... ..........
0140: d1 82 d0 be d0 b2 22 20 28 74 65 73 74 72 75 6e ......" (testrun
0150: 6e 65 72 2e 6a 73 29 20 d0 b4 d0 bb d1 8f 20 d0 ner.js) ...... .
0160: bf d1 80 d0 be d0 b5 d0 ba d1 82 d0 b0 20 22 d0 ............. ".
0170: a1 d0 bd d0 b5 d0 b3 d0 be d0 bf d0 b0 d1 82 22 ..............."
0180: 0d 0a 2f 2f 2f 2f 0d 0a 2f 2f 2f 2f 20 d0 9e d0 ..////..//// ...
0190: bf d0 b8 d1 81 d0 b0 d0 bd d0 b8 d0 b5 3a 20 d0 .............: .
01a0: a0 d0 b5 d0 b0 d0 bb d0 b8 d0 b7 d1 83 d0 b5 d1 ................
01b0: 82 20 d0 b0 d0 b2 d1 82 d0 be d0 bc d0 b0 d1 82 . ..............
01c0: d0 b8 d1 87 d0 b5 d1 81 d0 ba d0 b8 d0 b9 20 d0 .............. .
01d0: b7 d0 b0 d0 bf d1 83 d1 81 d0 ba 20 d1 8e d0 bd ........... ....
01e0: d0 b8 d1 82 2d d1 82 d0 b5 d1 81 d1 82 d0 be d0 ....-...........
01f0: b2 20 d0 b4 d0 bb d1 8f 20 d1 81 d1 80 d0 b8 d0 . ...... .......
0200: bf d1 82 d0 be d0 b2 20 d0 bf d1 80 d0 be d0 b5 ....... ........
0210: d0 ba d1 82 d0 b0 20 22 d0 a1 d0 bd d0 b5 d0 b3 ...... "........
0220: d0 be d0 bf d0 b0 d1 82 22 2e 0d 0a 2f 2f 2f 2f ........"...////
0230: 20 d0 90 d0 b2 d1 82 d0 be d1 80 3a 20 d0 90 d0 ..........: ...
0240: bb d0 b5 d0 ba d1 81 d0 b0 d0 bd d0 b4 d1 80 20 ...............
0250: d0 9a d1 83 d0 bd d1 82 d0 b0 d1 88 d0 be d0 b2 ................
0260: 20 3c 6b 75 6e 74 61 73 68 6f 76 40 67 6d 61 69 <kuntashov@gmai
0270: 6c 2e 63 6f 6d 3e 2c 20 68 74 74 70 3a 2f 2f 63 l.com>, http://c
0280: 6f 6d 70 61 75 64 2e 72 75 2f 62 6c 6f 67 0d 0a ompaud.ru/blog..
0290: 2f 2f 2f 2f 7d 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f ////}../////////
02a0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
02b0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
02c0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
02d0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
02e0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d ///////////////.
02f0: 0a 0d 0a 67 6c 6f 62 61 6c 2e 63 6f 6e 6e 65 63 ...global.connec
0300: 74 47 6c 6f 62 61 6c 73 28 53 65 6c 66 53 63 72 tGlobals(SelfScr
0310: 69 70 74 29 0d 0a 0d 0a 73 74 64 6c 69 62 2e 72 ipt)....stdlib.r
0320: 65 71 75 69 72 65 28 22 53 65 74 74 69 6e 67 73 equire("Settings
0330: 4d 61 6e 61 67 65 6d 65 6e 74 2e 6a 73 22 2c 20 Management.js",
0340: 53 65 6c 66 53 63 72 69 70 74 29 3b 0d 0a 0d 0a SelfScript);....
0350: 76 61 72 20 6a 73 55 6e 69 74 43 6f 72 65 20 3d var jsUnitCore =
0360: 20 73 74 64 6c 69 62 2e 72 65 71 75 69 72 65 28 stdlib.require(
0370: 22 6a 73 55 6e 69 74 43 6f 72 65 2e 6a 73 22 29 "jsUnitCore.js")
0380: 3b 0d 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ;....///////////
0390: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
03a0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
03b0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
03c0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
03d0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 2f /////////////../
03e0: 2f 2f 2f 7b 20 d0 9c d0 b0 d0 ba d1 80 d0 be d1 ///{ ...........
03f0: 81 d1 8b 0d 0a 2f 2f 2f 2f 0d 0a 0d 0a 66 75 6e .....////....fun
0400: 63 74 69 6f 6e 20 6d 61 63 72 6f 73 d0 9f d0 be ction macros....
0410: d0 ba d0 b0 d0 b7 d0 b0 d1 82 d1 8c 28 29 0d 0a ............()..
0420: 7b 0d 0a 20 20 20 20 47 65 74 54 65 73 74 52 75 {.. GetTestRu
0430: 6e 6e 65 72 28 29 2e 53 68 6f 77 28 29 3b 0d 0a nner().Show();..
0440: 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 6d 61 }....function ma
0450: 63 72 6f 73 d0 a1 d0 ba d1 80 d1 8b d1 82 d1 8c cros............
0460: 28 29 0d 0a 7b 0d 0a 20 20 20 20 47 65 74 54 65 ()..{.. GetTe
0470: 73 74 52 75 6e 6e 65 72 28 29 2e 43 6c 6f 73 65 stRunner().Close
0480: 28 29 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 d0 92 d0 ();..}..../* ...
0490: be d0 b7 d0 b2 d1 80 d0 b0 d1 89 d0 b0 d0 b5 d1 ................
04a0: 82 20 d0 bd d0 b0 d0 b7 d0 b2 d0 b0 d0 bd d0 b8 . ..............
04b0: d0 b5 20 d0 bc d0 b0 d0 ba d1 80 d0 be d1 81 d0 .. .............
04c0: b0 20 d0 bf d0 be 20 d1 83 d0 bc d0 be d0 bb d1 . .... .........
04d0: 87 d0 b0 d0 bd d0 b8 d1 8e 20 2d 20 d0 b2 d1 8b ......... - ....
04e0: d0 b7 d1 8b d0 b2 d0 b0 d0 b5 d1 82 d1 81 d1 8f ................
04f0: 2c 20 d0 ba d0 be d0 b3 d0 b4 d0 b0 20 d0 bf d0 , .......... ...
0500: be d0 bb d1 8c d0 b7 d0 be d0 b2 d0 b0 d1 82 d0 ................
0510: b5 d0 bb d1 8c 20 0d 0a d0 b4 d0 b2 d0 b0 d0 b6 ..... ..........
0520: d0 b4 d1 8b 20 d1 89 d0 b5 d0 bb d0 ba d0 b0 d0 .... ...........
0530: b5 d1 82 20 d0 bc d1 8b d1 88 d1 8c d1 8e 20 d0 ... .......... .
0540: bf d0 be 20 d0 bd d0 b0 d0 b7 d0 b2 d0 b0 d0 bd ... ............
0550: d0 b8 d1 8e 20 d1 81 d0 ba d1 80 d0 b8 d0 bf d1 .... ...........
0560: 82 d0 b0 20 d0 b2 20 d0 be d0 ba d0 bd d0 b5 20 ... .. ........
0570: d0 a1 d0 bd d0 b5 d0 b3 d0 be d0 bf d0 b0 d1 82 ................
0580: d0 b0 2e 20 2a 2f 0d 0a 66 75 6e 63 74 69 6f 6e ... */..function
0590: 20 67 65 74 44 65 66 61 75 6c 74 4d 61 63 72 6f getDefaultMacro
05a0: 73 28 29 20 7b 0d 0a 20 20 20 20 72 65 74 75 72 s() {.. retur
05b0: 6e 20 27 d0 9f d0 be d0 ba d0 b0 d0 b7 d0 b0 d1 n '.............
05c0: 82 d1 8c 27 3b 0d 0a 7d 0d 0a 0d 0a 2f 2f 7d 0d ...';..}....//}.
05d0: 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f .../////////////
05e0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
05f0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0600: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0610: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0620: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 2f 2f 2f ///////////..///
0630: 2f 7b 20 54 65 73 74 52 75 6e 6e 65 72 0d 0a 2f /{ TestRunner../
0640: 2f 2f 2f 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 ///....function
0650: 54 65 73 74 52 75 6e 6e 65 72 28 29 0d 0a 7b 0d TestRunner()..{.
0660: 0a 20 20 20 20 54 65 73 74 52 75 6e 6e 65 72 2e . TestRunner.
0670: 5f 69 6e 73 74 61 6e 63 65 20 3d 20 74 68 69 73 _instance = this
0680: 3b 0d 0a 0d 0a 20 20 20 20 74 68 69 73 2e 65 72 ;.... this.er
0690: 72 6f 72 43 6f 75 6e 74 20 3d 20 30 3b 0d 0a 20 rorCount = 0;..
06a0: 20 20 20 74 68 69 73 2e 73 75 63 63 65 73 73 43 this.successC
06b0: 6f 75 6e 74 20 3d 20 30 3b 0d 0a 20 20 20 20 74 ount = 0;.. t
06c0: 68 69 73 2e 66 61 69 6c 75 72 65 43 6f 75 6e 74 his.failureCount
06d0: 20 3d 20 30 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 = 0;.. ..
06e0: 20 74 68 69 73 2e 66 6f 72 6d 20 3d 20 6c 6f 61 this.form = loa
06f0: 64 53 63 72 69 70 74 46 6f 72 6d 28 22 73 63 72 dScriptForm("scr
0700: 69 70 74 73 5c 5c 44 65 76 54 6f 6f 6c 73 5c 5c ipts\\DevTools\\
0710: 74 65 73 74 72 75 6e 6e 65 72 2e 73 73 66 22 2c testrunner.ssf",
0720: 20 74 68 69 73 29 0d 0a 20 20 20 20 20 20 20 20 this)..
0730: 0d 0a 20 20 20 20 74 68 69 73 2e 61 6c 6c 54 65 .. this.allTe
0740: 73 74 73 20 3d 20 74 68 69 73 2e 66 6f 72 6d 2e sts = this.form.
0750: d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82 d1 8b ................
0760: d0 a4 d0 be d1 80 d0 bc d1 8b 2e d1 82 d0 bf d0 ................
0770: 94 d0 b5 d1 80 d0 b5 d0 b2 d0 be d0 a2 d0 b5 d1 ................
0780: 81 d1 82 d0 be d0 b2 2e d0 97 d0 bd d0 b0 d1 87 ................
0790: d0 b5 d0 bd d0 b8 d0 b5 3b 20 20 20 20 20 20 20 ........;
07a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a ..
07b0: 20 20 20 20 74 68 69 73 2e 61 6c 6c 54 65 73 74 this.allTest
07c0: 73 2e d0 9a d0 be d0 bb d0 be d0 bd d0 ba d0 b8 s...............
07d0: 2e d0 94 d0 be d0 b1 d0 b0 d0 b2 d0 b8 d1 82 d1 ................
07e0: 8c 28 22 6f 62 6a 65 63 74 22 29 3b 0d 0a 20 20 .("object");..
07f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0800: 20 20 20 0d 0a 20 20 20 20 74 68 69 73 2e 6c 6f .. this.lo
0810: 61 64 65 64 54 65 73 74 41 64 64 69 6e 73 20 3d adedTestAddins =
0820: 20 5b 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 [];..
0830: 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 ..
0840: 20 2f 2f 20 d0 92 d0 b0 d1 80 d0 b8 d0 b0 d0 bd // ............
0850: d1 82 d1 8b 20 d1 81 d0 be d1 81 d1 82 d0 be d1 .... ...........
0860: 8f d0 bd d0 b8 d0 b9 20 d0 b2 d1 8b d0 bf d0 be ....... ........
0870: d0 bb d0 bd d0 b5 d0 bd d0 b8 d1 8f 20 d1 82 d0 ............ ...
0880: b5 d1 81 d1 82 d0 be d0 b2 0d 0a 20 20 20 20 74 ........... t
0890: 68 69 73 2e 53 54 41 54 45 5f 4e 4f 54 5f 52 55 his.STATE_NOT_RU
08a0: 4e 20 3d 20 30 3b 0d 0a 20 20 20 20 74 68 69 73 N = 0;.. this
08b0: 2e 53 54 41 54 45 5f 53 55 43 43 45 53 53 20 3d .STATE_SUCCESS =
08c0: 20 31 3b 0d 0a 20 20 20 20 74 68 69 73 2e 53 54 1;.. this.ST
08d0: 41 54 45 5f 49 47 4e 4f 52 45 20 20 3d 20 32 3b ATE_IGNORE = 2;
08e0: 20 20 20 20 0d 0a 20 20 20 20 74 68 69 73 2e 53 .. this.S
08f0: 54 41 54 45 5f 46 41 49 4c 55 52 45 20 3d 20 33 TATE_FAILURE = 3
0900: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 0d ;.. .
0910: 0a 20 20 20 20 2f 2f 20 d0 98 d0 ba d0 be d0 bd . // ........
0920: d0 ba d0 b8 20 d1 81 d0 be d1 81 d1 82 d0 be d1 .... ...........
0930: 8f d0 bd d0 b8 d0 b9 2e 0d 0a 20 20 20 20 74 68 .......... th
0940: 69 73 2e 53 74 61 74 65 49 63 6f 6e 73 20 3d 20 is.StateIcons =
0950: 7b 20 20 0d 0a 20 20 20 20 20 20 20 20 47 72 61 { .. Gra
0960: 79 20 3a 20 74 68 69 73 2e 66 6f 72 6d 2e d0 ad y : this.form...
0970: d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82 d1 8b d0 a4 ................
0980: d0 be d1 80 d0 bc d1 8b 2e d0 9f d0 be d0 bb d0 ................
0990: b5 d0 9a d0 b0 d1 80 d1 82 d0 b8 d0 bd d0 ba d0 ................
09a0: b8 d0 a1 d0 b5 d1 80 d1 8b d0 b9 2e d0 9a d0 b0 ................
09b0: d1 80 d1 82 d0 b8 d0 bd d0 ba d0 b0 2c 0d 0a 20 ............,..
09c0: 20 20 20 20 20 20 20 47 72 65 65 6e 3a 20 74 68 Green: th
09d0: 69 73 2e 66 6f 72 6d 2e d0 ad d0 bb d0 b5 d0 bc is.form.........
09e0: d0 b5 d0 bd d1 82 d1 8b d0 a4 d0 be d1 80 d0 bc ................
09f0: d1 8b 2e d0 9f d0 be d0 bb d0 b5 d0 9a d0 b0 d1 ................
0a00: 80 d1 82 d0 b8 d0 bd d0 ba d0 b8 d0 97 d0 b5 d0 ................
0a10: bb d0 b5 d0 bd d1 8b d0 b9 2e d0 9a d0 b0 d1 80 ................
0a20: d1 82 d0 b8 d0 bd d0 ba d0 b0 2c 0d 0a 20 20 20 ..........,..
0a30: 20 20 20 20 20 59 65 6c 6c 6f 77 3a 20 74 68 69 Yellow: thi
0a40: 73 2e 66 6f 72 6d 2e d0 ad d0 bb d0 b5 d0 bc d0 s.form..........
0a50: b5 d0 bd d1 82 d1 8b d0 a4 d0 be d1 80 d0 bc d1 ................
0a60: 8b 2e d0 9f d0 be d0 bb d0 b5 d0 9a d0 b0 d1 80 ................
0a70: d1 82 d0 b8 d0 bd d0 ba d0 b8 d0 96 d0 b5 d0 bb ................
0a80: d1 82 d1 8b d0 b9 2e d0 9a d0 b0 d1 80 d1 82 d0 ................
0a90: b8 d0 bd d0 ba d0 b0 2c 0d 0a 20 20 20 20 20 20 .......,..
0aa0: 20 20 52 65 64 3a 20 74 68 69 73 2e 66 6f 72 6d Red: this.form
0ab0: 2e d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82 d1 ................
0ac0: 8b d0 a4 d0 be d1 80 d0 bc d1 8b 2e d0 9f d0 be ................
0ad0: d0 bb d0 b5 d0 9a d0 b0 d1 80 d1 82 d0 b8 d0 bd ................
0ae0: d0 ba d0 b8 d0 9a d1 80 d0 b0 d1 81 d0 bd d1 8b ................
0af0: d0 b9 2e d0 9a d0 b0 d1 80 d1 82 d0 b8 d0 bd d0 ................
0b00: ba d0 b0 0d 0a 20 20 20 20 7d 20 20 20 20 20 20 ..... }
0b10: 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 ..
0b20: 0d 0a 20 20 20 20 2f 2f 20 d0 a4 d0 bb d0 b0 d0 .. // .......
0b30: b3 2c 20 d1 81 d0 b8 d0 b3 d0 bd d0 b0 d0 bb d0 ., .............
0b40: b8 d0 b7 d0 b8 d1 80 d1 83 d1 8e d1 89 d0 b8 d0 ................
0b50: b9 2c 20 d1 87 d1 82 d0 be 20 d1 82 d0 b5 d1 81 ., ...... ......
0b60: d1 82 d1 8b 20 d0 b7 d0 b0 d0 bf d1 83 d1 81 d0 .... ...........
0b70: ba d0 b0 d0 bb d0 b8 d1 81 d1 8c 2e 0d 0a 20 20 ..............
0b80: 20 20 74 68 69 73 2e 74 65 73 74 69 6e 67 44 6f this.testingDo
0b90: 6e 65 20 3d 20 66 61 6c 73 65 3b 0d 0a 0d 0a 20 ne = false;....
0ba0: 20 20 20 74 68 69 73 2e 64 65 66 61 75 6c 74 53 this.defaultS
0bb0: 65 74 74 69 6e 67 73 20 3d 20 7b 0d 0a 20 20 20 ettings = {..
0bc0: 20 20 20 20 20 52 65 6c 6f 61 64 42 65 66 6f 72 ReloadBefor
0bd0: 65 52 75 6e 41 6c 6c 20 3a 20 66 61 6c 73 65 2c eRunAll : false,
0be0: 0d 0a 20 20 20 20 20 20 20 20 4c 6f 67 4f 6e 53 .. LogOnS
0bf0: 75 63 63 65 73 73 20 3a 20 66 61 6c 73 65 0d 0a uccess : false..
0c00: 20 20 20 20 7d 3b 0d 0a 20 20 20 20 0d 0a 20 20 };.. ..
0c10: 20 20 74 68 69 73 2e 73 65 74 74 69 6e 67 73 20 this.settings
0c20: 3d 20 53 65 74 74 69 6e 67 73 4d 61 6e 61 67 65 = SettingsManage
0c30: 6d 65 6e 74 2e 43 72 65 61 74 65 4d 61 6e 61 67 ment.CreateManag
0c40: 65 72 28 53 65 6c 66 53 63 72 69 70 74 2e 75 6e er(SelfScript.un
0c50: 69 71 75 65 4e 61 6d 65 2c 20 74 68 69 73 2e 64 iqueName, this.d
0c60: 65 66 61 75 6c 74 53 65 74 74 69 6e 67 73 29 3b efaultSettings);
0c70: 0d 0a 20 20 20 20 74 68 69 73 2e 73 65 74 74 69 .. this.setti
0c80: 6e 67 73 2e 4c 6f 61 64 53 65 74 74 69 6e 67 73 ngs.LoadSettings
0c90: 28 29 3b 0d 0a 20 20 20 20 74 68 69 73 2e 73 65 ();.. this.se
0ca0: 74 74 69 6e 67 73 2e 41 70 70 6c 79 54 6f 46 6f ttings.ApplyToFo
0cb0: 72 6d 28 74 68 69 73 2e 66 6f 72 6d 29 3b 20 20 rm(this.form);
0cc0: 20 20 0d 0a 7d 0d 0a 0d 0a 54 65 73 74 52 75 6e ..}....TestRun
0cd0: 6e 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e 53 68 ner.prototype.Sh
0ce0: 6f 77 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 29 ow = function ()
0cf0: 0d 0a 7b 0d 0a 20 20 20 20 74 68 69 73 2e 66 6f ..{.. this.fo
0d00: 72 6d 2e 4f 70 65 6e 28 29 3b 0d 0a 7d 0d 0a 0d rm.Open();..}...
0d10: 0a 54 65 73 74 52 75 6e 6e 65 72 2e 70 72 6f 74 .TestRunner.prot
0d20: 6f 74 79 70 65 2e 43 6c 6f 73 65 20 3d 20 66 75 otype.Close = fu
0d30: 6e 63 74 69 6f 6e 20 28 29 0d 0a 7b 0d 0a 20 20 nction ()..{..
0d40: 20 20 69 66 20 28 74 68 69 73 2e 66 6f 72 6d 2e if (this.form.
0d50: 49 73 4f 70 65 6e 28 29 29 0d 0a 20 20 20 20 20 IsOpen())..
0d60: 20 20 20 74 68 69 73 2e 66 6f 72 6d 2e 43 6c 6f this.form.Clo
0d70: 73 65 28 29 3b 0d 0a 7d 0d 0a 0d 0a 54 65 73 74 se();..}....Test
0d80: 52 75 6e 6e 65 72 2e 70 72 6f 74 6f 74 79 70 65 Runner.prototype
0d90: 2e 72 65 73 65 74 43 6f 75 6e 74 65 72 73 20 3d .resetCounters =
0da0: 20 66 75 6e 63 74 69 6f 6e 28 29 0d 0a 7b 0d 0a function()..{..
0db0: 20 20 20 20 74 68 69 73 2e 65 72 72 6f 72 43 6f this.errorCo
0dc0: 75 6e 74 20 3d 20 30 3b 0d 0a 20 20 20 20 74 68 unt = 0;.. th
0dd0: 69 73 2e 73 75 63 63 65 73 73 43 6f 75 6e 74 20 is.successCount
0de0: 3d 20 30 3b 0d 0a 20 20 20 20 74 68 69 73 2e 66 = 0;.. this.f
0df0: 61 69 6c 75 72 65 43 6f 75 6e 74 20 3d 20 30 3b ailureCount = 0;
0e00: 0d 0a 20 20 20 20 0d 0a 20 20 20 20 74 68 69 73 .. .. this
0e10: 2e 75 70 64 61 74 65 54 6f 74 61 6c 73 28 29 3b .updateTotals();
0e20: 0d 0a 7d 0d 0a 0d 0a 54 65 73 74 52 75 6e 6e 65 ..}....TestRunne
0e30: 72 2e 70 72 6f 74 6f 74 79 70 65 2e 75 70 64 61 r.prototype.upda
0e40: 74 65 54 6f 74 61 6c 73 20 3d 20 66 75 6e 63 74 teTotals = funct
0e50: 69 6f 6e 20 28 29 0d 0a 7b 0d 0a 20 20 20 20 74 ion ()..{.. t
0e60: 68 69 73 2e 66 6f 72 6d 2e d0 ad d0 bb d0 b5 d0 his.form........
0e70: bc d0 b5 d0 bd d1 82 d1 8b d0 a4 d0 be d1 80 d0 ................
0e80: bc d1 8b 2e d0 9a d0 be d0 bb d0 b8 d1 87 d0 b5 ................
0e90: d1 81 d1 82 d0 b2 d0 be d0 a2 d0 b5 d1 81 d1 82 ................
0ea0: d0 be d0 b2 d0 92 d1 81 d0 b5 d0 b3 d0 be 2e d0 ................
0eb0: 97 d0 bd d0 b0 d1 87 d0 b5 d0 bd d0 b8 d0 b5 20 ...............
0ec0: 3d 20 74 68 69 73 2e 74 65 73 74 73 43 6f 75 6e = this.testsCoun
0ed0: 74 3b 0d 0a 20 20 20 20 74 68 69 73 2e 66 6f 72 t;.. this.for
0ee0: 6d 2e d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82 m...............
0ef0: d1 8b d0 a4 d0 be d1 80 d0 bc d1 8b 2e d0 9a d0 ................
0f00: be d0 bb d0 b8 d1 87 d0 b5 d1 81 d1 82 d0 b2 d0 ................
0f10: be d0 a3 d1 81 d0 bf d0 b5 d1 88 d0 bd d1 8b d1 ................
0f20: 85 d0 a2 d0 b5 d1 81 d1 82 d0 be d0 b2 2e d0 97 ................
0f30: d0 bd d0 b0 d1 87 d0 b5 d0 bd d0 b8 d0 b5 20 3d .............. =
0f40: 20 74 68 69 73 2e 73 75 63 63 65 73 73 43 6f 75 this.successCou
0f50: 6e 74 3b 0d 0a 20 20 20 20 74 68 69 73 2e 66 6f nt;.. this.fo
0f60: 72 6d 2e d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 rm..............
0f70: 82 d1 8b d0 a4 d0 be d1 80 d0 bc d1 8b 2e d0 9a ................
0f80: d0 be d0 bb d0 b8 d1 87 d0 b5 d1 81 d1 82 d0 b2 ................
0f90: d0 be d0 9f d1 80 d0 be d0 b2 d0 b0 d0 bb d0 b5 ................
0fa0: d0 bd d0 bd d1 8b d1 85 d0 a2 d0 b5 d1 81 d1 82 ................
0fb0: d0 be d0 b2 2e d0 97 d0 bd d0 b0 d1 87 d0 b5 d0 ................
0fc0: bd d0 b8 d0 b5 20 3d 20 74 68 69 73 2e 66 61 69 ..... = this.fai
0fd0: 6c 75 72 65 43 6f 75 6e 74 3b 0d 0a 7d 0d 0a 0d lureCount;..}...
0fe0: 0a 54 65 73 74 52 75 6e 6e 65 72 2e 70 72 6f 74 .TestRunner.prot
0ff0: 6f 74 79 70 65 2e 69 6e 69 74 50 72 6f 67 72 65 otype.initProgre
1000: 73 73 42 61 72 20 3d 20 66 75 6e 63 74 69 6f 6e ssBar = function
1010: 20 28 29 0d 0a 7b 0d 0a 20 20 20 20 74 68 69 73 ()..{.. this
1020: 2e 73 77 69 74 63 68 50 72 6f 67 72 65 73 73 42 .switchProgressB
1030: 61 72 28 74 72 75 65 29 3b 0d 0a 20 20 20 20 74 ar(true);.. t
1040: 68 69 73 2e 66 6f 72 6d 2e d0 ad d0 bb d0 b5 d0 his.form........
1050: bc d0 b5 d0 bd d1 82 d1 8b d0 a4 d0 be d1 80 d0 ................
1060: bc d1 8b 2e d0 98 d0 bd d0 b4 d0 b8 d0 ba d0 b0 ................
1070: d1 82 d0 be d1 80 d0 92 d1 8b d0 bf d0 be d0 bb ................
1080: d0 bd d0 b5 d0 bd d0 b8 d1 8f 2e d0 9c d0 b8 d0 ................
1090: bd d0 b8 d0 bc d0 b0 d0 bb d1 8c d0 bd d0 be d0 ................
10a0: b5 d0 97 d0 bd d0 b0 d1 87 d0 b5 d0 bd d0 b8 d0 ................
10b0: b5 20 3d 20 30 3b 0d 0a 20 20 20 20 74 68 69 73 . = 0;.. this
10c0: 2e 66 6f 72 6d 2e d0 ad d0 bb d0 b5 d0 bc d0 b5 .form...........
10d0: d0 bd d1 82 d1 8b d0 a4 d0 be d1 80 d0 bc d1 8b ................
10e0: 2e d0 98 d0 bd d0 b4 d0 b8 d0 ba d0 b0 d1 82 d0 ................
10f0: be d1 80 d0 92 d1 8b d0 bf d0 be d0 bb d0 bd d0 ................
1100: b5 d0 bd d0 b8 d1 8f 2e d0 9c d0 b0 d0 ba d1 81 ................
1110: d0 b8 d0 bc d0 b0 d0 bb d1 8c d0 bd d0 be d0 b5 ................
1120: d0 97 d0 bd d0 b0 d1 87 d0 b5 d0 bd d0 b8 d0 b5 ................
1130: 20 3d 20 74 68 69 73 2e 74 65 73 74 73 43 6f 75 = this.testsCou
1140: 6e 74 3b 0d 0a 20 20 20 20 74 68 69 73 2e 66 6f nt;.. this.fo
1150: 72 6d 2e d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 rm..............
1160: 82 d1 8b d0 a4 d0 be d1 80 d0 bc d1 8b 2e d0 98 ................
1170: d0 bd d0 b4 d0 b8 d0 ba d0 b0 d1 82 d0 be d1 80 ................
1180: d0 92 d1 8b d0 bf d0 be d0 bb d0 bd d0 b5 d0 bd ................
1190: d0 b8 d1 8f 2e d0 a8 d0 b0 d0 b3 20 3d 20 31 3b ........... = 1;
11a0: 0d 0a 20 20 20 20 74 68 69 73 2e 66 6f 72 6d 2e .. this.form.
11b0: d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82 d1 8b ................
11c0: d0 a4 d0 be d1 80 d0 bc d1 8b 2e d0 98 d0 bd d0 ................
11d0: b4 d0 b8 d0 ba d0 b0 d1 82 d0 be d1 80 d0 92 d1 ................
11e0: 8b d0 bf d0 be d0 bb d0 bd d0 b5 d0 bd d0 b8 d1 ................
11f0: 8f 2e d0 97 d0 bd d0 b0 d1 87 d0 b5 d0 bd d0 b8 ................
1200: d0 b5 20 3d 20 30 3b 20 20 20 20 0d 0a 7d 0d 0a .. = 0; ..}..
1210: 0d 0a 54 65 73 74 52 75 6e 6e 65 72 2e 70 72 6f ..TestRunner.pro
1220: 74 6f 74 79 70 65 2e 70 72 6f 67 72 65 73 73 42 totype.progressB
1230: 61 72 44 6f 53 74 65 70 20 3d 20 66 75 6e 63 74 arDoStep = funct
1240: 69 6f 6e 20 28 29 0d 0a 7b 0d 0a 20 20 20 20 74 ion ()..{.. t
1250: 68 69 73 2e 66 6f 72 6d 2e d0 ad d0 bb d0 b5 d0 his.form........
1260: bc d0 b5 d0 bd d1 82 d1 8b d0 a4 d0 be d1 80 d0 ................
1270: bc d1 8b 2e d0 98 d0 bd d0 b4 d0 b8 d0 ba d0 b0 ................
1280: d1 82 d0 be d1 80 d0 92 d1 8b d0 bf d0 be d0 bb ................
1290: d0 bd d0 b5 d0 bd d0 b8 d1 8f 2e d0 97 d0 bd d0 ................
12a0: b0 d1 87 d0 b5 d0 bd d0 b8 d0 b5 20 3d 20 74 68 ........... = th
12b0: 69 73 2e 66 6f 72 6d 2e d0 ad d0 bb d0 b5 d0 bc is.form.........
12c0: d0 b5 d0 bd d1 82 d1 8b d0 a4 d0 be d1 80 d0 bc ................
12d0: d1 8b 2e d0 98 d0 bd d0 b4 d0 b8 d0 ba d0 b0 d1 ................
12e0: 82 d0 be d1 80 d0 92 d1 8b d0 bf d0 be d0 bb d0 ................
12f0: bd d0 b5 d0 bd d0 b8 d1 8f 2e d0 97 d0 bd d0 b0 ................
1300: d1 87 d0 b5 d0 bd d0 b8 d0 b5 20 2b 20 31 3b 0d .......... + 1;.
1310: 0a 7d 0d 0a 0d 0a 54 65 73 74 52 75 6e 6e 65 72 .}....TestRunner
1320: 2e 70 72 6f 74 6f 74 79 70 65 2e 73 77 69 74 63 .prototype.switc
1330: 68 50 72 6f 67 72 65 73 73 42 61 72 20 3d 20 66 hProgressBar = f
1340: 75 6e 63 74 69 6f 6e 20 28 70 72 6f 67 72 65 73 unction (progres
1350: 73 42 61 72 56 69 73 69 62 6c 65 29 0d 0a 7b 0d sBarVisible)..{.
1360: 0a 20 20 20 20 74 68 69 73 2e 66 6f 72 6d 2e d0 . this.form..
1370: ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82 d1 8b d0 ................
1380: a4 d0 be d1 80 d0 bc d1 8b 2e d0 9d d0 b0 d0 b4 ................
1390: d0 bf d0 b8 d1 81 d1 8c d0 92 d1 81 d0 b5 d0 b3 ................
13a0: d0 be 2e d0 92 d0 b8 d0 b4 d0 b8 d0 bc d0 be d1 ................
13b0: 81 d1 82 d1 8c 20 3d 20 21 70 72 6f 67 72 65 73 ..... = !progres
13c0: 73 42 61 72 56 69 73 69 62 6c 65 3b 0d 0a 20 20 sBarVisible;..
13d0: 20 20 74 68 69 73 2e 66 6f 72 6d 2e d0 ad d0 bb this.form.....
13e0: d0 b5 d0 bc d0 b5 d0 bd d1 82 d1 8b d0 a4 d0 be ................
13f0: d1 80 d0 bc d1 8b 2e d0 9a d0 be d0 bb d0 b8 d1 ................
1400: 87 d0 b5 d1 81 d1 82 d0 b2 d0 be d0 a2 d0 b5 d1 ................
1410: 81 d1 82 d0 be d0 b2 d0 92 d1 81 d0 b5 d0 b3 d0 ................
1420: be 2e d0 92 d0 b8 d0 b4 d0 b8 d0 bc d0 be d1 81 ................
1430: d1 82 d1 8c 20 3d 20 21 70 72 6f 67 72 65 73 73 .... = !progress
1440: 42 61 72 56 69 73 69 62 6c 65 3b 0d 0a 20 20 20 BarVisible;..
1450: 20 74 68 69 73 2e 66 6f 72 6d 2e d0 ad d0 bb d0 this.form......
1460: b5 d0 bc d0 b5 d0 bd d1 82 d1 8b d0 a4 d0 be d1 ................
1470: 80 d0 bc d1 8b 2e d0 9d d0 b0 d0 b4 d0 bf d0 b8 ................
1480: d1 81 d1 8c d0 a3 d1 81 d0 bf d0 b5 d1 88 d0 bd ................
1490: d0 be 2e d0 92 d0 b8 d0 b4 d0 b8 d0 bc d0 be d1 ................
14a0: 81 d1 82 d1 8c 20 3d 20 21 70 72 6f 67 72 65 73 ..... = !progres
14b0: 73 42 61 72 56 69 73 69 62 6c 65 3b 0d 0a 20 20 sBarVisible;..
14c0: 20 20 74 68 69 73 2e 66 6f 72 6d 2e d0 ad d0 bb this.form.....
14d0: d0 b5 d0 bc d0 b5 d0 bd d1 82 d1 8b d0 a4 d0 be ................
14e0: d1 80 d0 bc d1 8b 2e d0 9a d0 be d0 bb d0 b8 d1 ................
14f0: 87 d0 b5 d1 81 d1 82 d0 b2 d0 be d0 a3 d1 81 d0 ................
1500: bf d0 b5 d1 88 d0 bd d1 8b d1 85 d0 a2 d0 b5 d1 ................
1510: 81 d1 82 d0 be d0 b2 2e d0 92 d0 b8 d0 b4 d0 b8 ................
1520: d0 bc d0 be d1 81 d1 82 d1 8c 20 3d 20 21 70 72 .......... = !pr
1530: 6f 67 72 65 73 73 42 61 72 56 69 73 69 62 6c 65 ogressBarVisible
1540: 3b 0d 0a 20 20 20 20 74 68 69 73 2e 66 6f 72 6d ;.. this.form
1550: 2e d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82 d1 ................
1560: 8b d0 a4 d0 be d1 80 d0 bc d1 8b 2e d0 9d d0 b0 ................
1570: d0 b4 d0 bf d0 b8 d1 81 d1 8c d0 9f d1 80 d0 be ................
1580: d0 b2 d0 b0 d0 bb d0 b5 d0 bd d0 be 2e d0 92 d0 ................
1590: b8 d0 b4 d0 b8 d0 bc d0 be d1 81 d1 82 d1 8c 20 ...............
15a0: 3d 20 21 70 72 6f 67 72 65 73 73 42 61 72 56 69 = !progressBarVi
15b0: 73 69 62 6c 65 3b 0d 0a 20 20 20 20 74 68 69 73 sible;.. this
15c0: 2e 66 6f 72 6d 2e d0 ad d0 bb d0 b5 d0 bc d0 b5 .form...........
15d0: d0 bd d1 82 d1 8b d0 a4 d0 be d1 80 d0 bc d1 8b ................
15e0: 2e d0 9a d0 be d0 bb d0 b8 d1 87 d0 b5 d1 81 d1 ................
15f0: 82 d0 b2 d0 be d0 9f d1 80 d0 be d0 b2 d0 b0 d0 ................
1600: bb d0 b5 d0 bd d0 bd d1 8b d1 85 d0 a2 d0 b5 d1 ................
1610: 81 d1 82 d0 be d0 b2 2e d0 92 d0 b8 d0 b4 d0 b8 ................
1620: d0 bc d0 be d1 81 d1 82 d1 8c 20 3d 20 21 70 72 .......... = !pr
1630: 6f 67 72 65 73 73 42 61 72 56 69 73 69 62 6c 65 ogressBarVisible
1640: 3b 0d 0a 20 20 20 20 74 68 69 73 2e 66 6f 72 6d ;.. this.form
1650: 2e d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82 d1 ................
1660: 8b d0 a4 d0 be d1 80 d0 bc d1 8b 2e d0 98 d0 bd ................
1670: d0 b4 d0 b8 d0 ba d0 b0 d1 82 d0 be d1 80 d0 92 ................
1680: d1 8b d0 bf d0 be d0 bb d0 bd d0 b5 d0 bd d0 b8 ................
1690: d1 8f 2e d0 92 d0 b8 d0 b4 d0 b8 d0 bc d0 be d1 ................
16a0: 81 d1 82 d1 8c 20 3d 20 21 21 70 72 6f 67 72 65 ..... = !!progre
16b0: 73 73 42 61 72 56 69 73 69 62 6c 65 3b 0d 0a 7d ssBarVisible;..}
16c0: 0d 0a 0d 0a 54 65 73 74 52 75 6e 6e 65 72 2e 70 ....TestRunner.p
16d0: 72 6f 74 6f 74 79 70 65 2e 75 6e 6c 6f 61 64 41 rototype.unloadA
16e0: 6c 6c 54 65 73 74 73 20 3d 20 66 75 6e 63 74 69 llTests = functi
16f0: 6f 6e 20 28 29 0d 0a 7b 0d 0a 20 20 20 20 74 68 on ()..{.. th
1700: 69 73 2e 61 6c 6c 54 65 73 74 73 2e d0 a1 d1 82 is.allTests.....
1710: d1 80 d0 be d0 ba d0 b8 2e d0 9e d1 87 d0 b8 d1 ................
1720: 81 d1 82 d0 b8 d1 82 d1 8c 28 29 3b 0d 0a 0d 0a .........();....
1730: 20 20 20 20 66 6f 72 20 28 76 61 72 20 69 3d 30 for (var i=0
1740: 3b 20 69 3c 74 68 69 73 2e 6c 6f 61 64 65 64 54 ; i<this.loadedT
1750: 65 73 74 41 64 64 69 6e 73 2e 6c 65 6e 67 74 68 estAddins.length
1760: 3b 20 69 2b 2b 29 0d 0a 20 20 20 20 7b 0d 0a 20 ; i++).. {..
1770: 20 20 20 20 20 20 20 69 66 20 28 74 68 69 73 2e if (this.
1780: 6c 6f 61 64 65 64 54 65 73 74 41 64 64 69 6e 73 loadedTestAddins
1790: 5b 69 5d 2e 75 6e 69 71 75 65 4e 61 6d 65 29 0d [i].uniqueName).
17a0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 64 64 . add
17b0: 69 6e 73 2e 75 6e 6c 6f 61 64 41 64 64 69 6e 28 ins.unloadAddin(
17c0: 74 68 69 73 2e 6c 6f 61 64 65 64 54 65 73 74 41 this.loadedTestA
17d0: 64 64 69 6e 73 5b 69 5d 29 3b 0d 0a 20 20 20 20 ddins[i]);..
17e0: 7d 0d 0a 20 20 20 20 0d 0a 20 20 20 20 74 68 69 }.. .. thi
17f0: 73 2e 6c 6f 61 64 65 64 54 65 73 74 41 64 64 69 s.loadedTestAddi
1800: 6e 73 20 3d 20 5b 5d 3b 0d 0a 20 20 20 20 74 68 ns = [];.. th
1810: 69 73 2e 74 65 73 74 69 6e 67 44 6f 6e 65 20 3d is.testingDone =
1820: 20 66 61 6c 73 65 3b 0d 0a 7d 0d 0a 0d 0a 54 65 false;..}....Te
1830: 73 74 52 75 6e 6e 65 72 2e 70 72 6f 74 6f 74 79 stRunner.prototy
1840: 70 65 2e 6c 6f 61 64 54 65 73 74 73 20 3d 20 66 pe.loadTests = f
1850: 75 6e 63 74 69 6f 6e 28 70 61 74 68 29 0d 0a 7b unction(path)..{
1860: 20 20 20 20 0d 0a 20 20 20 20 74 68 69 73 2e 75 .. this.u
1870: 6e 6c 6f 61 64 41 6c 6c 54 65 73 74 73 28 29 3b nloadAllTests();
1880: 0d 0a 0d 0a 20 20 20 20 74 68 69 73 2e 74 65 73 .... this.tes
1890: 74 73 43 6f 75 6e 74 20 3d 20 30 3b 0d 0a 20 20 tsCount = 0;..
18a0: 20 20 0d 0a 20 20 20 20 74 68 69 73 2e 77 61 6c .. this.wal
18b0: 6b 46 69 6c 65 73 41 6e 64 4c 6f 61 64 28 70 61 kFilesAndLoad(pa
18c0: 74 68 2c 20 74 68 69 73 2e 61 6c 6c 54 65 73 74 th, this.allTest
18d0: 73 29 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 69 s);.. .. i
18e0: 66 20 28 74 68 69 73 2e 61 6c 6c 54 65 73 74 73 f (this.allTests
18f0: 2e d0 a1 d1 82 d1 80 d0 be d0 ba d0 b8 2e d0 9a ................
1900: d0 be d0 bb d0 b8 d1 87 d0 b5 d1 81 d1 82 d0 b2 ................
1910: d0 be 28 29 20 3d 3d 20 30 29 0d 0a 20 20 20 20 ..() == 0)..
1920: 7b 0d 0a 20 20 20 20 20 20 20 20 4d 65 73 73 61 {.. Messa
1930: 67 65 28 22 d0 92 20 d0 ba d0 b0 d1 82 d0 b0 d0 ge(".. .........
1940: bb d0 be d0 b3 d0 b5 20 22 20 2b 20 70 61 74 68 ....... " + path
1950: 20 2b 20 22 20 d1 82 d0 b5 d1 81 d1 82 2d d0 ba + " ........-..
1960: d0 b5 d0 b9 d1 81 d0 be d0 b2 20 d0 bd d0 b5 20 .......... ....
1970: d0 bd d0 b0 d0 b9 d0 b4 d0 b5 d0 bd d0 be 21 22 ..............!"
1980: 29 3b 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 );.. retu
1990: 72 6e 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 rn;.. }..
19a0: 20 20 20 20 0d 0a 20 20 20 20 2f 2f 20 d0 a0 d0 .. // ...
19b0: b0 d0 b7 d0 b2 d0 b5 d1 80 d0 bd d0 b5 d0 bc 20 ...............
19c0: d0 b2 d1 81 d0 b5 20 d1 83 d1 80 d0 be d0 b2 d0 ...... .........
19d0: bd d0 b8 20 d0 b4 d0 b5 d1 80 d0 b5 d0 b2 d0 b0 ... ............
19e0: 2e 0d 0a 20 20 20 20 66 6f 72 28 76 61 72 20 69 ... for(var i
19f0: 3d 30 3b 20 69 3c 74 68 69 73 2e 61 6c 6c 54 65 =0; i<this.allTe
1a00: 73 74 73 2e d0 a1 d1 82 d1 80 d0 be d0 ba d0 b8 sts.............
1a10: 2e d0 9a d0 be d0 bb d0 b8 d1 87 d0 b5 d1 81 d1 ................
1a20: 82 d0 b2 d0 be 28 29 3b 20 69 2b 2b 29 0d 0a 20 .....(); i++)..
1a30: 20 20 20 20 20 20 20 74 68 69 73 2e 66 6f 72 6d this.form
1a40: 2e d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82 d1 ................
1a50: 8b d0 a4 d0 be d1 80 d0 bc d1 8b 2e d1 82 d0 bf ................
1a60: d0 94 d0 b5 d1 80 d0 b5 d0 b2 d0 be d0 a2 d0 b5 ................
1a70: d1 81 d1 82 d0 be d0 b2 2e d0 a0 d0 b0 d0 b7 d0 ................
1a80: b2 d0 b5 d1 80 d0 bd d1 83 d1 82 d1 8c 28 74 68 .............(th
1a90: 69 73 2e 61 6c 6c 54 65 73 74 73 2e d0 a1 d1 82 is.allTests.....
1aa0: d1 80 d0 be d0 ba d0 b8 2e d0 9f d0 be d0 bb d1 ................
1ab0: 83 d1 87 d0 b8 d1 82 d1 8c 28 69 29 2c 20 74 72 .........(i), tr
1ac0: 75 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a ue);.. ..
1ad0: 20 20 20 20 74 68 69 73 2e 75 70 64 61 74 65 54 this.updateT
1ae0: 6f 74 61 6c 73 28 29 3b 0d 0a 20 20 20 20 74 68 otals();.. th
1af0: 69 73 2e 74 65 73 74 69 6e 67 44 6f 6e 65 20 3d is.testingDone =
1b00: 20 66 61 6c 73 65 3b 0d 0a 7d 0d 0a 0d 0a 54 65 false;..}....Te
1b10: 73 74 52 75 6e 6e 65 72 2e 70 72 6f 74 6f 74 79 stRunner.prototy
1b20: 70 65 2e 69 73 54 65 73 74 41 64 64 69 6e 46 69 pe.isTestAddinFi
1b30: 6c 65 20 3d 20 66 75 6e 63 74 69 6f 6e 28 66 69 le = function(fi
1b40: 6c 65 29 0d 0a 7b 0d 0a 20 20 20 20 2f 2f 20 d0 le)..{.. // .
1b50: 98 d0 bc d1 8f 20 d1 82 d0 b5 d1 81 d1 82 d0 be ..... ..........
1b60: d0 b2 d0 be d0 b3 d0 be 20 d1 81 d0 ba d1 80 d0 ........ .......
1b70: b8 d0 bf d1 82 d0 b0 20 d0 b4 d0 be d0 bb d0 b6 ....... ........
1b80: d0 bd d0 be 20 d0 bd d0 b0 d1 87 d0 b8 d0 bd d0 .... ...........
1b90: b0 d1 82 d1 8c d1 81 d1 8f 20 d1 81 20 d0 bf d1 ......... .. ...
1ba0: 80 d0 b5 d1 84 d0 b8 d0 ba d1 81 d0 b0 20 22 74 ............. "t
1bb0: 65 73 74 22 0d 0a 20 20 20 20 69 66 20 28 21 66 est".. if (!f
1bc0: 69 6c 65 2e 4e 61 6d 65 2e 6d 61 74 63 68 28 2f ile.Name.match(/
1bd0: 5e 74 65 73 74 2f 69 29 29 0d 0a 20 20 20 20 20 ^test/i))..
1be0: 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b return false;
1bf0: 0d 0a 20 20 20 20 0d 0a 20 20 20 20 2f 2f 20 d0 .. .. // .
1c00: 9f d0 be d0 b4 d0 b4 d0 b5 d1 80 d0 b6 d0 b8 d0 ................
1c10: b2 d0 b0 d1 8e d1 82 d1 81 d1 8f 20 d0 bf d0 be ........... ....
1c20: d0 ba d0 b0 20 d1 82 d0 be d0 bb d1 8c d0 ba d0 .... ...........
1c30: be 20 d1 81 d0 ba d1 80 d0 b8 d0 bf d1 82 d1 8b . ..............
1c40: 2e 0d 0a 20 20 20 20 69 66 20 28 21 66 69 6c 65 ... if (!file
1c50: 2e 45 78 74 65 6e 73 69 6f 6e 2e 6d 61 74 63 68 .Extension.match
1c60: 28 2f 6a 73 7c 76 62 73 2f 69 29 29 0d 0a 20 20 (/js|vbs/i))..
1c70: 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c return fal
1c80: 73 65 3b 0d 0a 0d 0a 20 20 20 20 72 65 74 75 72 se;.... retur
1c90: 6e 20 74 72 75 65 3b 0d 0a 7d 0d 0a 0d 0a 54 65 n true;..}....Te
1ca0: 73 74 52 75 6e 6e 65 72 2e 70 72 6f 74 6f 74 79 stRunner.prototy
1cb0: 70 65 2e 77 61 6c 6b 46 69 6c 65 73 41 6e 64 4c pe.walkFilesAndL
1cc0: 6f 61 64 20 3d 20 66 75 6e 63 74 69 6f 6e 28 70 oad = function(p
1cd0: 61 74 68 2c 20 70 61 72 65 6e 74 4e 6f 64 65 29 ath, parentNode)
1ce0: 0d 0a 7b 0d 0a 20 20 20 20 76 61 72 20 66 20 3d ..{.. var f =
1cf0: 20 76 38 4e 65 77 28 22 46 69 6c 65 22 2c 20 70 v8New("File", p
1d00: 61 74 68 29 3b 0d 0a 0d 0a 20 20 20 20 76 61 72 ath);.... var
1d10: 20 66 69 6c 65 73 20 3d 20 66 2e 49 73 46 69 6c files = f.IsFil
1d20: 65 28 29 20 3f 20 5b 20 66 20 5d 20 3a 20 46 69 e() ? [ f ] : Fi
1d30: 6e 64 46 69 6c 65 73 28 70 61 74 68 2c 20 22 2a ndFiles(path, "*
1d40: 22 2c 20 66 61 6c 73 65 29 3b 0d 0a 20 20 20 20 ", false);..
1d50: 0d 0a 20 20 20 20 66 6f 72 20 28 76 61 72 20 69 .. for (var i
1d60: 3d 30 3b 20 69 3c 66 69 6c 65 73 2e 6c 65 6e 67 =0; i<files.leng
1d70: 74 68 3b 20 69 2b 2b 29 0d 0a 20 20 20 20 7b 0d th; i++).. {.
1d80: 0a 20 20 20 20 20 20 20 20 76 61 72 20 d0 a4 d0 . var ...
1d90: b0 d0 b9 d0 bb 20 3d 20 66 69 6c 65 73 5b 69 5d ..... = files[i]
1da0: 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 ;.. ..
1db0: 20 20 20 20 20 69 66 20 28 d0 a4 d0 b0 d0 b9 d0 if (.......
1dc0: bb 2e d0 ad d1 82 d0 be d0 9a d0 b0 d1 82 d0 b0 ................
1dd0: d0 bb d0 be d0 b3 28 29 29 0d 0a 20 20 20 20 20 ......())..
1de0: 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 {..
1df0: 20 20 76 61 72 20 6e 65 77 4e 6f 64 65 20 3d 20 var newNode =
1e00: 74 68 69 73 2e 61 64 64 54 65 73 74 47 72 6f 75 this.addTestGrou
1e10: 70 28 70 61 72 65 6e 74 4e 6f 64 65 2c 20 d0 a4 p(parentNode, ..
1e20: d0 b0 d0 b9 d0 bb 29 3b 0d 0a 20 20 20 20 20 20 ......);..
1e30: 20 20 20 20 20 20 74 68 69 73 2e 77 61 6c 6b 46 this.walkF
1e40: 69 6c 65 73 41 6e 64 4c 6f 61 64 28 d0 a4 d0 b0 ilesAndLoad(....
1e50: d0 b9 d0 bb 2e d0 9f d0 be d0 bb d0 bd d0 be d0 ................
1e60: b5 d0 98 d0 bc d1 8f 2c 20 6e 65 77 4e 6f 64 65 ......., newNode
1e70: 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 );..
1e80: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f .. //
1e90: 20 d0 9f d1 83 d1 81 d1 82 d1 8b d0 b5 20 d0 ba ............ ..
1ea0: d0 b0 d1 82 d0 b0 d0 bb d0 be d0 b3 d0 b8 20 d0 .............. .
1eb0: bd d0 b5 20 d0 bf d0 be d0 ba d0 b0 d0 b7 d1 8b ... ............
1ec0: d0 b2 d0 b0 d0 b5 d0 bc 20 d0 b2 20 d0 b4 d0 b5 ........ .. ....
1ed0: d1 80 d0 b5 d0 b2 d0 b5 20 d1 82 d0 b5 d1 81 d1 ........ .......
1ee0: 82 d0 be d0 b2 2e 0d 0a 20 20 20 20 20 20 20 20 ........
1ef0: 20 20 20 20 69 66 20 28 6e 65 77 4e 6f 64 65 2e if (newNode.
1f00: 52 6f 77 73 2e 43 6f 75 6e 74 28 29 20 3d 3d 20 Rows.Count() ==
1f10: 30 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 0)..
1f20: 20 20 20 20 70 61 72 65 6e 74 4e 6f 64 65 2e 52 parentNode.R
1f30: 6f 77 73 2e 44 65 6c 65 74 65 28 6e 65 77 4e 6f ows.Delete(newNo
1f40: 64 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d de);.. }.
1f50: 0a 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 . else if
1f60: 20 28 74 68 69 73 2e 69 73 54 65 73 74 41 64 64 (this.isTestAdd
1f70: 69 6e 46 69 6c 65 28 d0 a4 d0 b0 d0 b9 d0 bb 29 inFile(........)
1f80: 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 ).. {..
1f90: 20 20 20 20 20 20 20 20 20 20 74 72 79 0d 0a 20 try..
1fa0: 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 {..
1fb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 va
1fc0: 72 20 74 65 73 74 41 64 64 69 6e 20 3d 20 74 68 r testAddin = th
1fd0: 69 73 2e 6c 6f 61 64 54 65 73 74 41 64 64 69 6e is.loadTestAddin
1fe0: 28 d0 a4 d0 b0 d0 b9 d0 bb 2e d0 9f d0 be d0 bb (...............
1ff0: d0 bd d0 be d0 b5 d0 98 d0 bc d1 8f 29 3b 0d 0a ............);..
2000: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2010: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
2020: 20 20 69 66 20 28 74 65 73 74 41 64 64 69 6e 29 if (testAddin)
2030: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
2040: 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 {..
2050: 20 20 20 20 20 20 20 20 20 76 61 72 20 6e 65 77 var new
2060: 4e 6f 64 65 20 3d 20 74 68 69 73 2e 61 64 64 54 Node = this.addT
2070: 65 73 74 43 61 73 65 28 70 61 72 65 6e 74 4e 6f estCase(parentNo
2080: 64 65 2c 20 74 65 73 74 41 64 64 69 6e 29 3b 0d de, testAddin);.
2090: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
20a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20e0: 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
20f0: 20 20 20 20 20 20 20 69 66 20 28 6e 65 77 4e 6f if (newNo
2100: 64 65 2e 52 6f 77 73 2e 43 6f 75 6e 74 28 29 20 de.Rows.Count()
2110: 3d 3d 20 30 29 0d 0a 20 20 20 20 20 20 20 20 20 == 0)..
2120: 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 {..
2130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2140: 20 20 20 20 20 20 6a 73 55 6e 69 74 43 6f 72 65 jsUnitCore
2150: 2e 77 61 72 6e 28 22 d0 a1 d0 ba d1 80 d0 b8 d0 .warn(".........
2160: bf d1 82 20 d0 bd d0 b5 20 d1 81 d0 be d0 b4 d0 ... .... .......
2170: b5 d1 80 d0 b6 d0 b8 d1 82 20 d0 bc d0 b0 d0 ba ......... ......
2180: d1 80 d0 be d1 81 d0 be d0 b2 20 d0 b8 20 d0 bd .......... .. ..
2190: d0 b5 20 d0 b1 d1 83 d0 b4 d0 b5 d1 82 20 d0 b7 .. .......... ..
21a0: d0 b0 d0 b3 d1 80 d1 83 d0 b6 d0 b5 d0 bd 3a 20 ..............:
21b0: 22 20 2b 20 74 65 73 74 41 64 64 69 6e 2e 66 75 " + testAddin.fu
21c0: 6c 6c 50 61 74 68 29 3b 0d 0a 20 20 20 20 20 20 llPath);..
21d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
21e0: 20 20 70 61 72 65 6e 74 4e 6f 64 65 2e 52 6f 77 parentNode.Row
21f0: 73 2e 44 65 6c 65 74 65 28 6e 65 77 4e 6f 64 65 s.Delete(newNode
2200: 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 );..
2210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2220: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
2230: 20 20 20 20 20 20 20 20 20 20 61 64 64 69 6e 73 addins
2240: 2e 75 6e 6c 6f 61 64 41 64 64 69 6e 28 74 65 73 .unloadAddin(tes
2250: 74 41 64 64 69 6e 29 3b 0d 0a 20 20 20 20 20 20 tAddin);..
2260: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2270: 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 ..
2280: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2290: 69 66 28 21 74 65 73 74 41 64 64 69 6e 2e 75 6e if(!testAddin.un
22a0: 69 71 75 65 4e 61 6d 65 2e 6c 65 6e 67 74 68 29 iqueName.length)
22b0: 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
22c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 d
22d0: 65 6c 65 74 65 20 74 65 73 74 41 64 64 69 6e 3b elete testAddin;
22e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
22f0: 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 ..
2300: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2310: 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 }..
2320: 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 0d 0a else ..
2330: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2340: 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 {..
2350: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 t
2360: 68 69 73 2e 6c 6f 61 64 65 64 54 65 73 74 41 64 his.loadedTestAd
2370: 64 69 6e 73 2e 70 75 73 68 28 74 65 73 74 41 64 dins.push(testAd
2380: 64 69 6e 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 din);..
2390: 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 }..
23a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d }.
23b0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a . }..
23c0: 20 20 20 20 20 20 20 20 20 20 20 20 63 61 74 63 catc
23d0: 68 20 28 65 29 0d 0a 20 20 20 20 20 20 20 20 20 h (e)..
23e0: 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 {..
23f0: 20 20 20 20 20 20 6a 73 55 6e 69 74 43 6f 72 65 jsUnitCore
2400: 2e 77 61 72 6e 28 22 d0 9e d1 88 d0 b8 d0 b1 d0 .warn(".........
2410: ba d0 b0 20 d0 b7 d0 b0 d0 b3 d1 80 d1 83 d0 b7 ... ............
2420: d0 ba d0 b8 20 d1 81 d0 ba d1 80 d0 b8 d0 bf d1 .... ...........
2430: 82 d0 b0 3a 20 22 20 2b 20 d0 a4 d0 b0 d0 b9 d0 ...: " + .......
2440: bb 2e d0 9f d0 be d0 bb d0 bd d0 be d0 b5 d0 98 ................
2450: d0 bc d1 8f 29 3b 0d 0a 20 20 20 20 20 20 20 20 ....);..
2460: 20 20 20 20 20 20 20 20 2f 2f 20 54 4f 44 4f 3a // TODO:
2470: 20 d0 b2 d1 8b d0 b2 d0 be d0 b4 d0 b8 d1 82 d1 ...............
2480: 8c 20 d0 b8 d0 bd d1 84 d0 be d1 80 d0 bc d0 b0 . ..............
2490: d1 86 d0 b8 d1 8e 20 d0 be d0 b1 20 d0 be d1 88 ...... .... ....
24a0: d0 b8 d0 b1 d0 ba d0 b5 20 d0 bf d0 be d0 b4 d1 ........ .......
24b0: 80 d0 be d0 b1 d0 bd d0 b5 d0 b5 2e 0d 0a 20 20 ..............
24c0: 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 }..
24d0: 20 20 20 20 20 7d 20 20 20 20 20 20 20 20 20 20 }
24e0: 20 20 0d 0a 20 20 20 20 7d 20 20 20 20 20 20 20 .. }
24f0: 20 0d 0a 7d 0d 0a 0d 0a 54 65 73 74 52 75 6e 6e ..}....TestRunn
2500: 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e 6c 6f 61 er.prototype.loa
2510: 64 54 65 73 74 41 64 64 69 6e 20 3d 20 66 75 6e dTestAddin = fun
2520: 63 74 69 6f 6e 28 70 61 74 68 29 0d 0a 7b 0d 0a ction(path)..{..
2530: 20 20 20 20 76 61 72 20 66 75 6c 6c 4c 6f 61 64 var fullLoad
2540: 53 74 72 69 6e 67 20 3d 20 22 73 63 72 69 70 74 String = "script
2550: 3a 22 20 2b 20 70 61 74 68 3b 0d 0a 20 20 20 20 :" + path;..
2560: 0d 0a 20 20 20 20 76 61 72 20 74 65 73 74 41 64 .. var testAd
2570: 64 69 6e 20 3d 20 61 64 64 69 6e 73 2e 62 79 46 din = addins.byF
2580: 75 6c 6c 50 61 74 68 28 66 75 6c 6c 4c 6f 61 64 ullPath(fullLoad
2590: 53 74 72 69 6e 67 29 3b 0d 0a 20 20 20 20 0d 0a String);.. ..
25a0: 20 20 20 20 69 66 20 28 21 74 65 73 74 41 64 64 if (!testAdd
25b0: 69 6e 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 in).. {..
25c0: 20 20 20 20 2f 2f 20 d0 a2 d0 b5 d1 81 d1 82 2d // ........-
25d0: d0 b0 d0 b4 d0 b4 d0 b8 d0 bd d1 8b 20 d0 b1 d1 ............ ...
25e0: 83 d0 b4 d0 b5 d0 bc 20 d0 bf d0 be d0 b4 d0 b3 ....... ........
25f0: d1 80 d1 83 d0 b6 d0 b0 d1 82 d1 8c 20 d0 b2 20 ............ ..
2600: d0 b3 d1 80 d1 83 d0 bf d0 bf d1 83 20 22 d0 9f ............ "..
2610: d0 be d0 b4 d0 b3 d1 80 d1 83 d0 b6 d0 b0 d0 b5 ................
2620: d0 bc d1 8b d0 b5 20 d0 b1 d0 b8 d0 b1 d0 bb d0 ...... .........
2630: b8 d0 be d1 82 d0 b5 d0 ba d0 b8 22 2e 20 20 20 ...........".
2640: 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 6c .. l
2650: 69 62 47 72 6f 75 70 20 3d 20 53 6e 65 67 6f 70 ibGroup = Snegop
2660: 61 74 4d 61 69 6e 53 63 72 69 70 74 2e 41 64 64 atMainScript.Add
2670: 69 6e 73 54 72 65 65 47 72 6f 75 70 73 2e 4c 6f insTreeGroups.Lo
2680: 61 64 65 64 4c 69 62 73 3b 0d 0a 20 20 20 20 20 adedLibs;..
2690: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 ..
26a0: 20 2f 2f 20 d0 97 d0 b0 d0 b3 d1 80 d1 83 d0 b6 // ............
26b0: d0 b0 d0 b5 d0 bc 20 d1 82 d0 b5 d1 81 d1 82 d0 ...... .........
26c0: be d0 b2 d1 8b d0 b9 20 d0 b0 d0 b4 d0 b4 d0 b8 ....... ........
26d0: d0 bd 2e 0d 0a 20 20 20 20 20 20 20 20 74 72 79 ..... try
26e0: 20 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 .. {..
26f0: 20 20 20 20 20 20 20 20 20 74 65 73 74 41 64 64 testAdd
2700: 69 6e 20 3d 20 61 64 64 69 6e 73 2e 6c 6f 61 64 in = addins.load
2710: 41 64 64 69 6e 28 66 75 6c 6c 4c 6f 61 64 53 74 Addin(fullLoadSt
2720: 72 69 6e 67 2c 20 6c 69 62 47 72 6f 75 70 29 3b ring, libGroup);
2730: 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 .. }..
2740: 20 20 20 20 20 63 61 74 63 68 28 65 29 0d 0a 20 catch(e)..
2750: 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 {..
2760: 20 20 20 20 20 20 6a 73 55 6e 69 74 43 6f 72 65 jsUnitCore
2770: 28 22 54 65 73 74 52 75 6e 6e 65 72 3a 3a 6c 6f ("TestRunner::lo
2780: 61 64 54 65 73 74 41 64 64 69 6e 3a 20 d0 a2 d0 adTestAddin: ...
2790: b5 d1 81 d1 82 d0 be d0 b2 d1 8b d0 b9 20 d1 81 ............. ..
27a0: d0 ba d1 80 d0 b8 d0 bf d1 82 20 d0 bd d0 b5 20 .......... ....
27b0: d0 b7 d0 b0 d0 b3 d1 80 d1 83 d0 b6 d0 b5 d0 bd ................
27c0: 3a 20 22 20 2b 20 70 61 74 68 29 3b 0d 0a 20 20 : " + path);..
27d0: 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e return
27e0: 20 6e 75 6c 6c 3b 0d 0a 20 20 20 20 20 20 20 20 null;..
27f0: 7d 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 0d 0a }.. }.. ..
2800: 20 20 20 20 72 65 74 75 72 6e 20 74 65 73 74 41 return testA
2810: 64 64 69 6e 3b 0d 0a 7d 0d 0a 0d 0a 54 65 73 74 ddin;..}....Test
2820: 52 75 6e 6e 65 72 2e 70 72 6f 74 6f 74 79 70 65 Runner.prototype
2830: 2e 61 64 64 54 65 73 74 47 72 6f 75 70 20 3d 20 .addTestGroup =
2840: 66 75 6e 63 74 69 6f 6e 28 70 61 72 65 6e 74 4e function(parentN
2850: 6f 64 65 2c 20 d0 a4 d0 b0 d0 b9 d0 bb 29 0d 0a ode, ........)..
2860: 7b 0d 0a 20 20 20 20 76 61 72 20 6e 65 77 4e 6f {.. var newNo
2870: 64 65 20 3d 20 70 61 72 65 6e 74 4e 6f 64 65 2e de = parentNode.
2880: d0 a1 d1 82 d1 80 d0 be d0 ba d0 b8 2e d0 94 d0 ................
2890: be d0 b1 d0 b0 d0 b2 d0 b8 d1 82 d1 8c 28 29 3b .............();
28a0: 0d 0a 20 20 20 20 6e 65 77 4e 6f 64 65 2e d0 9d .. newNode...
28b0: d0 b0 d0 b7 d0 b2 d0 b0 d0 bd d0 b8 d0 b5 d0 a2 ................
28c0: d0 b5 d1 81 d1 82 d0 b0 20 3d 20 d0 a4 d0 b0 d0 ........ = .....
28d0: b9 d0 bb 2e d0 98 d0 bc d1 8f 3b 0d 0a 20 20 20 ..........;..
28e0: 20 6e 65 77 4e 6f 64 65 2e d0 92 d1 80 d0 b5 d0 newNode........
28f0: bc d1 8f d0 92 d1 8b d0 bf d0 be d0 bb d0 bd d0 ................
2900: b5 d0 bd d0 b8 d1 8f 20 3d 20 30 3b 0d 0a 20 20 ....... = 0;..
2910: 20 20 6e 65 77 4e 6f 64 65 2e d0 9f d0 be d0 bb newNode.......
2920: d0 bd d1 8b d0 b9 d0 9f d1 83 d1 82 d1 8c 20 3d .............. =
2930: 20 d0 a4 d0 b0 d0 b9 d0 bb 2e d0 9f d0 be d0 bb ...............
2940: d0 bd d0 be d0 b5 d0 98 d0 bc d1 8f 3b 0d 0a 20 ............;..
2950: 20 20 20 6e 65 77 4e 6f 64 65 2e d0 a1 d0 be d1 newNode......
2960: 81 d1 82 d0 be d1 8f d0 bd d0 b8 d0 b5 20 3d 20 ............. =
2970: 74 68 69 73 2e 53 54 41 54 45 5f 4e 4f 54 5f 52 this.STATE_NOT_R
2980: 55 4e 3b 0d 0a 20 20 20 20 6e 65 77 4e 6f 64 65 UN;.. newNode
2990: 2e 6f 62 6a 65 63 74 20 3d 20 6e 75 6c 6c 3b 0d .object = null;.
29a0: 0a 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 4e . return newN
29b0: 6f 64 65 3b 0d 0a 7d 0d 0a 0d 0a 54 65 73 74 52 ode;..}....TestR
29c0: 75 6e 6e 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e unner.prototype.
29d0: 61 64 64 54 65 73 74 43 61 73 65 20 3d 20 66 75 addTestCase = fu
29e0: 6e 63 74 69 6f 6e 28 70 61 72 65 6e 74 4e 6f 64 nction(parentNod
29f0: 65 2c 20 74 65 73 74 41 64 64 69 6e 29 0d 0a 7b e, testAddin)..{
2a00: 0d 0a 20 20 20 20 76 61 72 20 6e 65 77 4e 6f 64 .. var newNod
2a10: 65 20 3d 20 70 61 72 65 6e 74 4e 6f 64 65 2e 52 e = parentNode.R
2a20: 6f 77 73 2e 41 64 64 28 29 3b 0d 0a 20 20 20 20 ows.Add();..
2a30: 6e 65 77 4e 6f 64 65 2e d0 9d d0 b0 d0 b7 d0 b2 newNode.........
2a40: d0 b0 d0 bd d0 b8 d0 b5 d0 a2 d0 b5 d1 81 d1 82 ................
2a50: d0 b0 20 3d 20 74 65 73 74 41 64 64 69 6e 2e 75 .. = testAddin.u
2a60: 6e 69 71 75 65 4e 61 6d 65 3b 0d 0a 20 20 20 20 niqueName;..
2a70: 6e 65 77 4e 6f 64 65 2e d0 92 d1 80 d0 b5 d0 bc newNode.........
2a80: d1 8f d0 92 d1 8b d0 bf d0 be d0 bb d0 bd d0 b5 ................
2a90: d0 bd d0 b8 d1 8f 20 3d 20 30 3b 0d 0a 20 20 20 ...... = 0;..
2aa0: 20 6e 65 77 4e 6f 64 65 2e d0 9f d0 be d0 bb d0 newNode........
2ab0: bd d1 8b d0 b9 d0 9f d1 83 d1 82 d1 8c 20 3d 20 ............. =
2ac0: 74 65 73 74 41 64 64 69 6e 2e 66 75 6c 6c 50 61 testAddin.fullPa
2ad0: 74 68 3b 0d 0a 20 20 20 20 6e 65 77 4e 6f 64 65 th;.. newNode
2ae0: 2e d0 a1 d0 be d1 81 d1 82 d0 be d1 8f d0 bd d0 ................
2af0: b8 d0 b5 20 3d 20 74 68 69 73 2e 53 54 41 54 45 ... = this.STATE
2b00: 5f 4e 4f 54 5f 52 55 4e 3b 0d 0a 20 20 20 20 6e _NOT_RUN;.. n
2b10: 65 77 4e 6f 64 65 2e 6f 62 6a 65 63 74 20 3d 20 ewNode.object =
2b20: 74 65 73 74 41 64 64 69 6e 3b 0d 0a 0d 0a 20 20 testAddin;....
2b30: 20 20 2f 2f 20 d0 94 d0 be d0 b1 d0 b0 d0 b2 d0 // ...........
2b40: b8 d0 bc 20 d1 82 d0 b5 d1 81 d1 82 2d d0 bc d0 ... ........-...
2b50: b5 d1 82 d0 be d0 b4 d1 8b 2e 20 d0 a2 d0 b5 d1 .......... .....
2b60: 81 d1 82 2d d0 bc d0 b5 d1 82 d0 be d0 b4 20 2d ...-.......... -
2b70: 20 d1 8d d1 82 d0 be 20 d0 bc d0 b0 d0 ba d1 80 ...... ........
2b80: d0 be d1 81 d1 8b 20 d1 81 20 d0 b8 d0 bc d0 b5 ...... .. ......
2b90: d0 bd d0 b0 d0 bc d0 b8 20 d0 b2 d0 b8 d0 b4 d0 ........ .......
2ba0: b0 20 6d 61 63 72 6f 73 54 65 73 74 d0 98 d0 bc . macrosTest....
2bb0: d1 8f d0 a2 d0 b5 d1 81 d1 82 d0 b0 2e 0d 0a 20 ...............
2bc0: 20 20 20 76 61 72 20 6d 61 63 72 6f 73 65 73 20 var macroses
2bd0: 3d 20 6e 65 77 20 56 42 41 72 72 61 79 28 74 65 = new VBArray(te
2be0: 73 74 41 64 64 69 6e 2e 6d 61 63 72 6f 73 65 73 stAddin.macroses
2bf0: 28 29 29 2e 74 6f 41 72 72 61 79 28 29 3b 0d 0a ()).toArray();..
2c00: 20 20 20 20 66 6f 72 28 76 61 72 20 6d 20 69 6e for(var m in
2c10: 20 6d 61 63 72 6f 73 65 73 29 0d 0a 20 20 20 20 macroses)..
2c20: 20 20 20 20 69 66 20 28 6d 61 63 72 6f 73 65 73 if (macroses
2c30: 5b 6d 5d 2e 6d 61 74 63 68 28 2f 5e 54 65 73 74 [m].match(/^Test
2c40: 2f 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 /))..
2c50: 20 74 68 69 73 2e 61 64 64 54 65 73 74 28 6e 65 this.addTest(ne
2c60: 77 4e 6f 64 65 2c 20 6d 61 63 72 6f 73 65 73 5b wNode, macroses[
2c70: 6d 5d 2c 20 74 65 73 74 41 64 64 69 6e 29 3b 0d m], testAddin);.
2c80: 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 72 . .. r
2c90: 65 74 75 72 6e 20 6e 65 77 4e 6f 64 65 3b 0d 0a eturn newNode;..
2ca0: 7d 0d 0a 0d 0a 54 65 73 74 52 75 6e 6e 65 72 2e }....TestRunner.
2cb0: 70 72 6f 74 6f 74 79 70 65 2e 61 64 64 54 65 73 prototype.addTes
2cc0: 74 20 3d 20 66 75 6e 63 74 69 6f 6e 28 70 61 72 t = function(par
2cd0: 65 6e 74 4e 6f 64 65 2c 20 74 65 73 74 4e 61 6d entNode, testNam
2ce0: 65 2c 20 74 65 73 74 41 64 64 69 6e 29 0d 0a 7b e, testAddin)..{
2cf0: 0d 0a 20 20 20 20 76 61 72 20 6e 65 77 4e 6f 64 .. var newNod
2d00: 65 20 3d 20 70 61 72 65 6e 74 4e 6f 64 65 2e d0 e = parentNode..
2d10: a1 d1 82 d1 80 d0 be d0 ba d0 b8 2e d0 94 d0 be ................
2d20: d0 b1 d0 b0 d0 b2 d0 b8 d1 82 d1 8c 28 29 3b 0d ............();.
2d30: 0a 20 20 20 20 6e 65 77 4e 6f 64 65 2e d0 9d d0 . newNode....
2d40: b0 d0 b7 d0 b2 d0 b0 d0 bd d0 b8 d0 b5 d0 a2 d0 ................
2d50: b5 d1 81 d1 82 d0 b0 20 3d 20 74 65 73 74 4e 61 ....... = testNa
2d60: 6d 65 3b 0d 0a 20 20 20 20 6e 65 77 4e 6f 64 65 me;.. newNode
2d70: 2e d0 92 d1 80 d0 b5 d0 bc d1 8f d0 92 d1 8b d0 ................
2d80: bf d0 be d0 bb d0 bd d0 b5 d0 bd d0 b8 d1 8f 20 ...............
2d90: 3d 20 30 3b 0d 0a 20 20 20 20 6e 65 77 4e 6f 64 = 0;.. newNod
2da0: 65 2e d0 9f d0 be d0 bb d0 bd d1 8b d0 b9 d0 9f e...............
2db0: d1 83 d1 82 d1 8c 20 3d 20 74 65 73 74 41 64 64 ...... = testAdd
2dc0: 69 6e 2e 66 75 6c 6c 50 61 74 68 3b 0d 0a 20 20 in.fullPath;..
2dd0: 20 20 6e 65 77 4e 6f 64 65 2e d0 a1 d0 be d1 81 newNode.......
2de0: d1 82 d0 be d1 8f d0 bd d0 b8 d0 b5 20 3d 20 74 ............ = t
2df0: 68 69 73 2e 53 54 41 54 45 5f 4e 4f 54 5f 52 55 his.STATE_NOT_RU
2e00: 4e 3b 0d 0a 20 20 20 20 6e 65 77 4e 6f 64 65 2e N;.. newNode.
2e10: 6f 62 6a 65 63 74 20 3d 20 6e 65 77 20 54 65 73 object = new Tes
2e20: 74 28 74 65 73 74 41 64 64 69 6e 2c 20 74 65 73 t(testAddin, tes
2e30: 74 4e 61 6d 65 29 3b 20 20 20 20 0d 0a 20 20 20 tName); ..
2e40: 20 0d 0a 20 20 20 20 74 68 69 73 2e 74 65 73 74 .. this.test
2e50: 73 43 6f 75 6e 74 2b 2b 3b 0d 0a 20 20 20 20 0d sCount++;.. .
2e60: 0a 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 4e . return newN
2e70: 6f 64 65 3b 0d 0a 7d 0d 0a 0d 0a 54 65 73 74 52 ode;..}....TestR
2e80: 75 6e 6e 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e unner.prototype.
2e90: 72 75 6e 41 6c 6c 54 65 73 74 73 20 3d 20 66 75 runAllTests = fu
2ea0: 6e 63 74 69 6f 6e 28 29 0d 0a 7b 20 20 20 20 0d nction()..{ .
2eb0: 0a 20 20 20 20 6a 73 55 6e 69 74 43 6f 72 65 2e . jsUnitCore.
2ec0: 53 65 74 45 72 72 6f 72 48 61 6e 64 6c 65 72 28 SetErrorHandler(
2ed0: 66 75 6e 63 74 69 6f 6e 20 28 65 78 63 65 70 74 function (except
2ee0: 69 6f 6e 29 20 7b 20 74 68 72 6f 77 20 65 78 63 ion) { throw exc
2ef0: 65 70 74 69 6f 6e 3b 20 7d 29 3b 0d 0a 0d 0a 20 eption; });....
2f00: 20 20 20 2f 2a 20 d0 a3 d1 81 d1 82 d0 b0 d0 bd /* ..........
2f10: d0 b0 d0 b2 d0 bb d0 b8 d0 b2 d0 b0 d0 b5 d0 bc ................
2f20: 20 d0 b7 d0 b0 d1 80 d0 b0 d0 bd d0 b5 d0 b5 2c ..............,
2f30: 20 d1 87 d1 82 d0 be d0 b1 d1 8b 20 d1 84 d0 bb .......... ....
2f40: d0 b0 d0 b3 20 d0 b1 d1 8b d0 bb 20 d0 b2 d0 b7 .... ...... ....
2f50: d0 b2 d0 b5 d0 b4 d0 b5 d0 bd 20 d0 b4 d0 b0 d0 .......... .....
2f60: b6 d0 b5 20 d0 b5 d1 81 d0 bb d0 b8 20 0d 0a 20 ... ........ ..
2f70: 20 20 20 d0 bd d0 b0 d1 81 20 d0 be d1 81 d1 82 ...... ......
2f80: d0 b0 d0 bd d0 be d0 b2 d0 b8 d1 82 20 d0 ba d0 ............ ...
2f90: b0 d0 ba d0 be d0 b9 2d d0 bd d0 b8 d0 b1 d1 83 .......-........
2fa0: d0 b4 d1 8c 20 d1 8d d0 ba d1 81 d0 b5 d0 bf d1 .... ...........
2fb0: 88 d0 b5 d0 bd 2e 20 2a 2f 0d 0a 20 20 20 20 74 ...... */.. t
2fc0: 68 69 73 2e 74 65 73 74 69 6e 67 44 6f 6e 65 20 his.testingDone
2fd0: 3d 20 74 72 75 65 3b 0d 0a 0d 0a 20 20 20 20 66 = true;.... f
2fe0: 6f 72 20 28 76 61 72 20 69 20 3d 20 30 3b 20 69 or (var i = 0; i
2ff0: 20 3c 20 74 68 69 73 2e 61 6c 6c 54 65 73 74 73 < this.allTests
3000: 2e d0 a1 d1 82 d1 80 d0 be d0 ba d0 b8 2e d0 9a ................
3010: d0 be d0 bb d0 b8 d1 87 d0 b5 d1 81 d1 82 d0 b2 ................
3020: d0 be 28 29 3b 20 69 2b 2b 29 0d 0a 20 20 20 20 ..(); i++)..
3030: 7b 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 d0 {.. var .
3040: a2 d0 b5 d0 ba d1 83 d1 89 d0 b0 d1 8f d0 a1 d1 ................
3050: 82 d1 80 d0 be d0 ba d0 b0 20 3d 20 74 68 69 73 ......... = this
3060: 2e 61 6c 6c 54 65 73 74 73 2e d0 a1 d1 82 d1 80 .allTests.......
3070: d0 be d0 ba d0 b8 2e d0 9f d0 be d0 bb d1 83 d1 ................
3080: 87 d0 b8 d1 82 d1 8c 28 69 29 3b 0d 0a 0d 0a 20 .......(i);....
3090: 20 20 20 20 20 20 20 76 61 72 20 62 65 67 69 6e var begin
30a0: 54 69 6d 65 20 3d 20 6e 65 77 20 44 61 74 65 28 Time = new Date(
30b0: 29 3b 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 ); ..
30c0: 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 d0 a2 .. ..
30d0: d0 b5 d0 ba d1 83 d1 89 d0 b0 d1 8f d0 a1 d1 82 ................
30e0: d1 80 d0 be d0 ba d0 b0 2e d0 a1 d0 be d1 81 d1 ................
30f0: 82 d0 be d1 8f d0 bd d0 b8 d0 b5 20 3d 20 74 68 ........... = th
3100: 69 73 2e 72 75 6e 54 65 73 74 28 d0 a2 d0 b5 d0 is.runTest(.....
3110: ba d1 83 d1 89 d0 b0 d1 8f d0 a1 d1 82 d1 80 d0 ................
3120: be d0 ba d0 b0 29 3b 0d 0a 20 20 20 20 20 20 20 .....);..
3130: 20 0d 0a 20 20 20 20 20 20 20 20 d0 a2 d0 b5 d0 .. .....
3140: ba d1 83 d1 89 d0 b0 d1 8f d0 a1 d1 82 d1 80 d0 ................
3150: be d0 ba d0 b0 2e d0 92 d1 80 d0 b5 d0 bc d1 8f ................
3160: d0 92 d1 8b d0 bf d0 be d0 bb d0 bd d0 b5 d0 bd ................
3170: d0 b8 d1 8f 20 3d 20 28 6e 65 77 20 44 61 74 65 .... = (new Date
3180: 28 29 20 2d 20 62 65 67 69 6e 54 69 6d 65 29 20 () - beginTime)
3190: 2f 20 31 30 30 30 3b 20 20 20 20 20 20 20 20 0d / 1000; .
31a0: 0a 20 20 20 20 7d 20 20 0d 0a 20 20 20 20 0d 0a . } .. ..
31b0: 20 20 20 20 6a 73 55 6e 69 74 43 6f 72 65 2e 52 jsUnitCore.R
31c0: 65 73 65 74 45 72 72 6f 72 48 61 6e 64 6c 65 72 esetErrorHandler
31d0: 28 29 3b 0d 0a 7d 0d 0a 0d 0a 54 65 73 74 52 75 ();..}....TestRu
31e0: 6e 6e 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e 72 nner.prototype.r
31f0: 75 6e 54 65 73 74 20 3d 20 66 75 6e 63 74 69 6f unTest = functio
3200: 6e 20 28 d0 a1 d1 82 d1 80 d0 be d0 ba d0 b0 d0 n (.............
3210: a2 d0 b5 d1 81 d1 82 d0 be d0 b2 29 0d 0a 7b 20 ...........)..{
3220: 20 20 0d 0a 20 20 20 20 76 61 72 20 d0 a1 d0 be .. var ....
3230: d1 81 d1 82 d0 be d1 8f d0 bd d0 b8 d0 b5 20 3d .............. =
3240: 20 74 68 69 73 2e 53 54 41 54 45 5f 53 55 43 43 this.STATE_SUCC
3250: 45 53 53 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 ESS;.. ..
3260: 69 66 20 28 d0 a1 d1 82 d1 80 d0 be d0 ba d0 b0 if (............
3270: d0 a2 d0 b5 d1 81 d1 82 d0 be d0 b2 2e 6f 62 6a .............obj
3280: 65 63 74 20 26 26 20 6a 73 55 6e 69 74 43 6f 72 ect && jsUnitCor
3290: 65 2e 4a 73 55 6e 69 74 2e 5f 74 72 75 65 54 79 e.JsUnit._trueTy
32a0: 70 65 4f 66 28 d0 a1 d1 82 d1 80 d0 be d0 ba d0 peOf(...........
32b0: b0 d0 a2 d0 b5 d1 81 d1 82 d0 be d0 b2 2e 6f 62 ..............ob
32c0: 6a 65 63 74 29 20 3d 3d 20 27 54 65 73 74 27 29 ject) == 'Test')
32d0: 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 .. {..
32e0: 20 d0 a1 d0 be d1 81 d1 82 d0 be d1 8f d0 bd d0 ...............
32f0: b8 d0 b5 20 3d 20 74 68 69 73 2e 65 78 65 63 75 ... = this.execu
3300: 74 65 54 65 73 74 46 75 6e 63 74 69 6f 6e 28 d0 teTestFunction(.
3310: a1 d1 82 d1 80 d0 be d0 ba d0 b0 d0 a2 d0 b5 d1 ................
3320: 81 d1 82 d0 be d0 b2 29 3b 0d 0a 20 20 20 20 20 .......);..
3330: 20 20 20 74 68 69 73 2e 70 72 6f 67 72 65 73 73 this.progress
3340: 42 61 72 44 6f 53 74 65 70 28 29 3b 0d 0a 20 20 BarDoStep();..
3350: 20 20 7d 0d 0a 20 20 20 20 65 6c 73 65 0d 0a 20 }.. else..
3360: 20 20 20 7b 20 20 20 0d 0a 20 20 20 20 20 20 20 { ..
3370: 20 69 66 20 28 d0 a1 d1 82 d1 80 d0 be d0 ba d0 if (...........
3380: b0 d0 a2 d0 b5 d1 81 d1 82 d0 be d0 b2 2e d0 a1 ................
3390: d1 82 d1 80 d0 be d0 ba d0 b8 2e d0 9a d0 be d0 ................
33a0: bb d0 b8 d1 87 d0 b5 d1 81 d1 82 d0 b2 d0 be 28 ...............(
33b0: 29 20 3d 3d 20 30 29 0d 0a 20 20 20 20 20 20 20 ) == 0)..
33c0: 20 20 20 20 20 72 65 74 75 72 6e 20 74 68 69 73 return this
33d0: 2e 53 54 41 54 45 5f 49 47 4e 4f 52 45 3b 0d 0a .STATE_IGNORE;..
33e0: 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 66 6f .. fo
33f0: 72 20 28 76 61 72 20 69 20 3d 20 30 3b 20 69 20 r (var i = 0; i
3400: 3c 20 d0 a1 d1 82 d1 80 d0 be d0 ba d0 b0 d0 a2 < ..............
3410: d0 b5 d1 81 d1 82 d0 be d0 b2 2e d0 a1 d1 82 d1 ................
3420: 80 d0 be d0 ba d0 b8 2e d0 9a d0 be d0 bb d0 b8 ................
3430: d1 87 d0 b5 d1 81 d1 82 d0 b2 d0 be 28 29 3b 20 ............();
3440: 69 2b 2b 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d i++).. {.
3450: 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 . var
3460: 20 d0 a2 d0 b5 d0 ba d1 83 d1 89 d0 b0 d1 8f d0 ...............
3470: a1 d1 82 d1 80 d0 be d0 ba d0 b0 20 3d 20 d0 a1 ........... = ..
3480: d1 82 d1 80 d0 be d0 ba d0 b0 d0 a2 d0 b5 d1 81 ................
3490: d1 82 d0 be d0 b2 2e d0 a1 d1 82 d1 80 d0 be d0 ................
34a0: ba d0 b8 2e d0 9f d0 be d0 bb d1 83 d1 87 d0 b8 ................
34b0: d1 82 d1 8c 28 69 29 3b 0d 0a 0d 0a 20 20 20 20 ....(i);....
34c0: 20 20 20 20 20 20 20 20 76 61 72 20 62 65 67 69 var begi
34d0: 6e 54 69 6d 65 20 3d 20 6e 65 77 20 44 61 74 65 nTime = new Date
34e0: 28 29 3b 20 20 20 20 20 20 20 20 0d 0a 20 20 20 (); ..
34f0: 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 ..
3500: 20 20 20 20 20 20 20 d0 a2 d0 b5 d0 ba d1 83 d1 .........
3510: 89 d0 b0 d1 8f d0 a1 d1 82 d1 80 d0 be d0 ba d0 ................
3520: b0 2e d0 a1 d0 be d1 81 d1 82 d0 be d1 8f d0 bd ................
3530: d0 b8 d0 b5 20 3d 20 74 68 69 73 2e 72 75 6e 54 .... = this.runT
3540: 65 73 74 28 d0 a2 d0 b5 d0 ba d1 83 d1 89 d0 b0 est(............
3550: d1 8f d0 a1 d1 82 d1 80 d0 be d0 ba d0 b0 29 3b ..............);
3560: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a .. ..
3570: 20 20 20 20 20 20 20 20 20 20 20 20 d0 a2 d0 b5 ....
3580: d0 ba d1 83 d1 89 d0 b0 d1 8f d0 a1 d1 82 d1 80 ................
3590: d0 be d0 ba d0 b0 2e d0 92 d1 80 d0 b5 d0 bc d1 ................
35a0: 8f d0 92 d1 8b d0 bf d0 be d0 bb d0 bd d0 b5 d0 ................
35b0: bd d0 b8 d1 8f 20 3d 20 28 6e 65 77 20 44 61 74 ..... = (new Dat
35c0: 65 28 29 20 2d 20 62 65 67 69 6e 54 69 6d 65 29 e() - beginTime)
35d0: 20 2f 20 31 30 30 30 3b 20 20 20 20 20 20 20 20 / 1000;
35e0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a .. ..
35f0: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 if (
3600: d0 a2 d0 b5 d0 ba d1 83 d1 89 d0 b0 d1 8f d0 a1 ................
3610: d1 82 d1 80 d0 be d0 ba d0 b0 2e d0 a1 d0 be d1 ................
3620: 81 d1 82 d0 be d1 8f d0 bd d0 b8 d0 b5 20 21 3d ............. !=
3630: 20 74 68 69 73 2e 53 54 41 54 45 5f 53 55 43 43 this.STATE_SUCC
3640: 45 53 53 29 0d 0a 20 20 20 20 20 20 20 20 20 20 ESS)..
3650: 20 20 20 20 20 20 d0 a1 d0 be d1 81 d1 82 d0 be ..........
3660: d1 8f d0 bd d0 b8 d0 b5 20 3d 20 74 68 69 73 2e ........ = this.
3670: 53 54 41 54 45 5f 46 41 49 4c 55 52 45 3b 20 20 STATE_FAILURE;
3680: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3690: 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 ..
36a0: 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 ..
36b0: 20 20 20 7d 20 20 20 20 0d 0a 20 20 20 20 20 20 } ..
36c0: 20 20 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 0d .. }.. .
36d0: 0a 20 20 20 20 72 65 74 75 72 6e 20 d0 a1 d0 be . return ....
36e0: d1 81 d1 82 d0 be d1 8f d0 bd d0 b8 d0 b5 3b 0d ..............;.
36f0: 0a 7d 0d 0a 0d 0a 54 65 73 74 52 75 6e 6e 65 72 .}....TestRunner
3700: 2e 70 72 6f 74 6f 74 79 70 65 2e 73 65 74 54 65 .prototype.setTe
3710: 73 74 53 74 61 74 75 73 20 3d 20 66 75 6e 63 74 stStatus = funct
3720: 69 6f 6e 28 74 65 73 74 2c 20 65 78 63 65 70 29 ion(test, excep)
3730: 0d 0a 7b 0d 0a 20 20 20 20 76 61 72 20 6d 65 73 ..{.. var mes
3740: 73 61 67 65 20 3d 20 27 d0 a2 d0 b5 d1 81 d1 82 sage = '........
3750: 20 27 20 2b 20 74 65 73 74 2e 66 75 6c 6c 54 65 ' + test.fullTe
3760: 73 74 4e 61 6d 65 20 2b 20 27 20 27 3b 0d 0a 0d stName + ' ';...
3770: 0a 20 20 20 20 69 66 20 28 65 78 63 65 70 20 3d . if (excep =
3780: 3d 20 6e 75 6c 6c 29 20 0d 0a 20 20 20 20 7b 0d = null) .. {.
3790: 0a 20 20 20 20 20 20 20 20 74 65 73 74 2e 73 74 . test.st
37a0: 61 74 75 73 20 3d 20 74 68 69 73 2e 53 54 41 54 atus = this.STAT
37b0: 45 5f 53 55 43 43 45 53 53 3b 0d 0a 20 20 20 20 E_SUCCESS;..
37c0: 20 20 20 20 74 68 69 73 2e 73 75 63 63 65 73 73 this.success
37d0: 43 6f 75 6e 74 2b 2b 3b 0d 0a 20 20 20 20 20 20 Count++;..
37e0: 20 20 6d 65 73 73 61 67 65 20 2b 3d 20 27 d0 b2 message += '..
37f0: d1 8b d0 bf d0 be d0 bb d0 bd d0 b5 d0 bd 20 d1 .............. .
3800: 83 d1 81 d0 bf d0 b5 d1 88 d0 bd d0 be 27 3b 0d .............';.
3810: 0a 20 20 20 20 7d 20 0d 0a 20 20 20 20 65 6c 73 . } .. els
3820: 65 20 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 e .. {..
3830: 20 20 20 74 65 73 74 2e 65 78 63 65 70 74 69 6f test.exceptio
3840: 6e 20 3d 20 65 78 63 65 70 3b 0d 0a 0d 0a 20 20 n = excep;....
3850: 20 20 20 20 20 20 69 66 20 28 21 65 78 63 65 70 if (!excep
3860: 2e 69 73 4a 73 55 6e 69 74 46 61 69 6c 75 72 65 .isJsUnitFailure
3870: 29 20 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 ) .. {..
3880: 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73 2e this.
3890: 65 72 72 6f 72 43 6f 75 6e 74 2b 2b 3b 0d 0a 20 errorCount++;..
38a0: 20 20 20 20 20 20 20 20 20 20 20 74 65 73 74 2e test.
38b0: 73 74 61 74 75 73 20 3d 20 74 68 69 73 2e 53 54 status = this.ST
38c0: 41 54 45 5f 46 41 49 4c 55 52 45 3b 0d 0a 20 20 ATE_FAILURE;..
38d0: 20 20 20 20 20 20 20 20 20 20 6d 65 73 73 61 67 messag
38e0: 65 20 2b 3d 20 27 20 d0 be d1 81 d1 82 d0 b0 d0 e += ' .........
38f0: bd d0 be d0 b2 d0 bb d0 b5 d0 bd 20 d0 b8 d0 b7 ........... ....
3900: 2d d0 b7 d0 b0 20 d0 be d1 88 d0 b8 d0 b1 d0 ba -.... ..........
3910: d0 b8 20 d0 b2 20 d0 bd d0 b5 d0 bc 20 28 65 78 .. .. ...... (ex
3920: 63 65 70 74 69 6f 6e 20 6f 72 20 65 72 72 6f 72 ception or error
3930: 29 27 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a )';.. }..
3940: 20 20 20 20 20 20 20 20 65 6c 73 65 20 0d 0a 20 else ..
3950: 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 {..
3960: 20 20 20 20 20 20 2f 2f 64 65 62 75 67 67 65 72 //debugger
3970: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 ;.. t
3980: 68 69 73 2e 66 61 69 6c 75 72 65 43 6f 75 6e 74 his.failureCount
3990: 2b 2b 3b 20 20 20 20 20 20 20 20 20 20 20 20 0d ++; .
39a0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 65 73 . tes
39b0: 74 2e 73 74 61 74 75 73 20 3d 20 74 68 69 73 2e t.status = this.
39c0: 53 54 41 54 45 5f 46 41 49 4c 55 52 45 3b 0d 0a STATE_FAILURE;..
39d0: 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 73 73 mess
39e0: 61 67 65 20 2b 3d 20 22 20 d0 bf d1 80 d0 be d0 age += " .......
39f0: b2 d0 b0 d0 bb d0 b8 d0 bb d1 81 d1 8f 20 28 61 ............. (a
3a00: 73 73 65 72 74 69 6f 6e 20 66 61 69 6c 65 64 29 ssertion failed)
3a10: 22 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 " ..
3a20: 20 20 20 20 2b 20 28 65 78 63 65 70 2e 63 6f 6d + (excep.com
3a30: 6d 65 6e 74 20 3f 20 22 5c 6e 5c 74 22 20 2b 20 ment ? "\n\t" +
3a40: 65 78 63 65 70 2e 63 6f 6d 6d 65 6e 74 20 3a 20 excep.comment :
3a50: 22 22 29 20 0d 0a 20 20 20 20 20 20 20 20 20 20 "") ..
3a60: 20 20 20 20 20 20 2b 20 28 65 78 63 65 70 2e 6a + (excep.j
3a70: 73 55 6e 69 74 4d 65 73 73 61 67 65 20 3f 20 22 sUnitMessage ? "
3a80: 5c 6e 5c 74 22 20 2b 20 65 78 63 65 70 2e 6a 73 \n\t" + excep.js
3a90: 55 6e 69 74 4d 65 73 73 61 67 65 20 3a 20 22 22 UnitMessage : ""
3aa0: 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 20 20 20 );.. }
3ab0: 20 20 20 20 20 0d 0a 20 20 20 20 7d 0d 0a 0d 0a .. }....
3ac0: 20 20 20 20 74 65 73 74 2e 6d 65 73 73 61 67 65 test.message
3ad0: 20 3d 20 6d 65 73 73 61 67 65 3b 0d 0a 20 20 20 = message;..
3ae0: 20 0d 0a 20 20 20 20 69 66 20 28 74 65 73 74 2e .. if (test.
3af0: 73 74 61 74 75 73 20 21 3d 20 74 68 69 73 2e 53 status != this.S
3b00: 54 41 54 45 5f 53 55 43 43 45 53 53 20 7c 7c 20 TATE_SUCCESS ||
3b10: 74 68 69 73 2e 73 65 74 74 69 6e 67 73 2e 63 75 this.settings.cu
3b20: 72 72 65 6e 74 2e 4c 6f 67 4f 6e 53 75 63 63 65 rrent.LogOnSucce
3b30: 73 73 29 0d 0a 20 20 20 20 20 20 20 20 4d 65 73 ss).. Mes
3b40: 73 61 67 65 28 6d 65 73 73 61 67 65 29 3b 20 20 sage(message);
3b50: 20 20 0d 0a 20 20 20 20 0d 0a 20 20 20 20 72 65 .. .. re
3b60: 74 75 72 6e 20 74 65 73 74 2e 73 74 61 74 75 73 turn test.status
3b70: 3b 0d 0a 7d 0d 0a 0d 0a 54 65 73 74 52 75 6e 6e ;..}....TestRunn
3b80: 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e 65 78 65 er.prototype.exe
3b90: 63 75 74 65 54 65 73 74 46 75 6e 63 74 69 6f 6e cuteTestFunction
3ba0: 20 3d 20 66 75 6e 63 74 69 6f 6e 28 d0 a1 d1 82 = function(....
3bb0: d1 80 d0 be d0 ba d0 b0 d0 a2 d0 b5 d1 81 d1 82 ................
3bc0: d0 b0 29 0d 0a 7b 0d 0a 20 20 20 20 76 61 72 20 ..)..{.. var
3bd0: 74 68 65 54 65 73 74 20 3d 20 d0 a1 d1 82 d1 80 theTest = ......
3be0: d0 be d0 ba d0 b0 d0 a2 d0 b5 d1 81 d1 82 d0 b0 ................
3bf0: 2e 6f 62 6a 65 63 74 3b 0d 0a 20 20 20 20 76 61 .object;.. va
3c00: 72 20 74 65 73 74 41 64 64 69 6e 20 3d 20 74 68 r testAddin = th
3c10: 65 54 65 73 74 2e 61 64 64 69 6e 3b 0d 0a 20 20 eTest.addin;..
3c20: 20 20 76 61 72 20 74 65 73 74 46 75 6e 63 74 69 var testFuncti
3c30: 6f 6e 4e 61 6d 65 20 3d 20 27 6d 61 63 72 6f 73 onName = 'macros
3c40: 27 20 2b 20 74 68 65 54 65 73 74 2e 74 65 73 74 ' + theTest.test
3c50: 4e 61 6d 65 3b 0d 0a 20 20 20 20 20 0d 0a 20 20 Name;.. ..
3c60: 20 20 76 61 72 20 65 78 63 65 70 74 69 6f 6e 20 var exception
3c70: 3d 20 6e 75 6c 6c 3b 0d 0a 20 20 20 20 76 61 72 = null;.. var
3c80: 20 74 69 6d 65 42 65 66 6f 72 65 20 3d 20 6e 65 timeBefore = ne
3c90: 77 20 44 61 74 65 28 29 3b 0d 0a 20 20 20 20 0d w Date();.. .
3ca0: 0a 20 20 20 20 74 72 79 20 0d 0a 20 20 20 20 7b . try .. {
3cb0: 0d 0a 20 20 20 20 20 20 20 69 66 20 28 74 65 73 .. if (tes
3cc0: 74 41 64 64 69 6e 2e 6f 62 6a 65 63 74 2e 73 65 tAddin.object.se
3cd0: 74 55 70 20 21 3d 3d 20 6a 73 55 6e 69 74 43 6f tUp !== jsUnitCo
3ce0: 72 65 2e 4a 53 55 4e 49 54 5f 55 4e 44 45 46 49 re.JSUNIT_UNDEFI
3cf0: 4e 45 44 5f 56 41 4c 55 45 29 0d 0a 20 20 20 20 NED_VALUE)..
3d00: 20 20 20 20 20 20 20 20 74 65 73 74 41 64 64 69 testAddi
3d10: 6e 2e 6f 62 6a 65 63 74 2e 73 65 74 55 70 28 29 n.object.setUp()
3d20: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 0d ;.. .
3d30: 0a 20 20 20 20 20 20 20 74 65 73 74 41 64 64 69 . testAddi
3d40: 6e 2e 6f 62 6a 65 63 74 5b 74 65 73 74 46 75 6e n.object[testFun
3d50: 63 74 69 6f 6e 4e 61 6d 65 5d 2e 63 61 6c 6c 28 ctionName].call(
3d60: 6e 75 6c 6c 29 3b 0d 0a 20 20 20 20 7d 0d 0a 20 null);.. }..
3d70: 20 20 20 63 61 74 63 68 20 28 65 31 29 20 0d 0a catch (e1) ..
3d80: 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 65 {.. e
3d90: 78 63 65 70 74 69 6f 6e 20 3d 20 65 31 3b 0d 0a xception = e1;..
3da0: 20 20 20 20 7d 0d 0a 20 20 20 20 66 69 6e 61 6c }.. final
3db0: 6c 79 20 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 ly .. {..
3dc0: 20 20 20 20 74 72 79 20 0d 0a 20 20 20 20 20 20 try ..
3dd0: 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 {..
3de0: 20 69 66 20 28 74 65 73 74 41 64 64 69 6e 2e 6f if (testAddin.o
3df0: 62 6a 65 63 74 2e 74 65 61 72 44 6f 77 6e 20 21 bject.tearDown !
3e00: 3d 3d 20 6a 73 55 6e 69 74 43 6f 72 65 2e 4a 53 == jsUnitCore.JS
3e10: 55 4e 49 54 5f 55 4e 44 45 46 49 4e 45 44 5f 56 UNIT_UNDEFINED_V
3e20: 41 4c 55 45 29 0d 0a 20 20 20 20 20 20 20 20 20 ALUE)..
3e30: 20 20 20 20 20 20 20 74 65 73 74 41 64 64 69 6e testAddin
3e40: 2e 6f 62 6a 65 63 74 2e 74 65 61 72 44 6f 77 6e .object.tearDown
3e50: 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a ();.. }..
3e60: 20 20 20 20 20 20 20 20 63 61 74 63 68 20 28 65 catch (e
3e70: 32 29 20 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 2) .. {..
3e80: 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 55 6e //Un
3e90: 6c 69 6b 65 20 4a 55 6e 69 74 2c 20 6f 6e 6c 79 like JUnit, only
3ea0: 20 61 73 73 69 67 6e 20 61 20 74 65 61 72 44 6f assign a tearDo
3eb0: 77 6e 20 65 78 63 65 70 74 69 6f 6e 20 74 6f 20 wn exception to
3ec0: 65 78 63 65 70 20 69 66 20 74 68 65 72 65 20 69 excep if there i
3ed0: 73 20 6e 6f 74 20 61 6c 72 65 61 64 79 20 61 6e s not already an
3ee0: 20 65 78 63 65 70 74 69 6f 6e 20 66 72 6f 6d 20 exception from
3ef0: 74 68 65 20 74 65 73 74 20 62 6f 64 79 0d 0a 20 the test body..
3f00: 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 65 if (e
3f10: 78 63 65 70 74 69 6f 6e 20 3d 3d 20 6e 75 6c 6c xception == null
3f20: 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 )..
3f30: 20 20 20 65 78 63 65 70 74 69 6f 6e 20 3d 20 65 exception = e
3f40: 32 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 2;.. }..
3f50: 20 20 20 7d 0d 0a 20 20 20 20 0d 0a 20 20 20 20 }.. ..
3f60: d0 a1 d1 82 d1 80 d0 be d0 ba d0 b0 d0 a2 d0 b5 ................
3f70: d1 81 d1 82 d0 b0 2e d0 92 d1 80 d0 b5 d0 bc d1 ................
3f80: 8f d0 92 d1 8b d0 bf d0 be d0 bb d0 bd d0 b5 d0 ................
3f90: bd d0 b8 d1 8f 20 3d 20 28 6e 65 77 20 44 61 74 ..... = (new Dat
3fa0: 65 28 29 20 2d 20 74 69 6d 65 42 65 66 6f 72 65 e() - timeBefore
3fb0: 29 20 2f 20 31 30 30 30 3b 0d 0a 0d 0a 20 20 20 ) / 1000;....
3fc0: 20 72 65 74 75 72 6e 20 74 68 69 73 2e 73 65 74 return this.set
3fd0: 54 65 73 74 53 74 61 74 75 73 28 74 68 65 54 65 TestStatus(theTe
3fe0: 73 74 2c 20 65 78 63 65 70 74 69 6f 6e 29 3b 0d st, exception);.
3ff0: 0a 7d 0d 0a 0d 0a 54 65 73 74 52 75 6e 6e 65 72 .}....TestRunner
4000: 2e 70 72 6f 74 6f 74 79 70 65 2e 67 65 74 44 65 .prototype.getDe
4010: 66 61 75 6c 74 54 65 73 74 73 44 69 72 20 3d 20 faultTestsDir =
4020: 66 75 6e 63 74 69 6f 6e 28 29 0d 0a 7b 0d 0a 20 function()..{..
4030: 20 20 20 76 61 72 20 6d 61 69 6e 46 6f 6c 64 65 var mainFolde
4040: 72 20 3d 20 70 72 6f 66 69 6c 65 52 6f 6f 74 2e r = profileRoot.
4050: 67 65 74 56 61 6c 75 65 28 22 53 6e 65 67 6f 70 getValue("Snegop
4060: 61 74 2f 4d 61 69 6e 46 6f 6c 64 65 72 22 29 3b at/MainFolder");
4070: 0d 0a 20 20 20 20 76 61 72 20 66 20 3d 20 76 38 .. var f = v8
4080: 4e 65 77 28 22 d0 a4 d0 b0 d0 b9 d0 bb 22 2c 20 New("........",
4090: 6d 61 69 6e 46 6f 6c 64 65 72 20 2b 20 22 73 63 mainFolder + "sc
40a0: 72 69 70 74 73 5c 5c 54 65 73 74 73 22 29 3b 0d ripts\\Tests");.
40b0: 0a 20 20 20 20 69 66 20 28 66 2e d0 a1 d1 83 d1 . if (f......
40c0: 89 d0 b5 d1 81 d1 82 d0 b2 d1 83 d0 b5 d1 82 28 ...............(
40d0: 29 20 26 26 20 66 2e d0 ad d1 82 d0 be d0 9a d0 ) && f..........
40e0: b0 d1 82 d0 b0 d0 bb d0 be d0 b3 28 29 29 0d 0a ...........())..
40f0: 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 return f
4100: 2e d0 9f d0 be d0 bb d0 bd d0 be d0 b5 d0 98 d0 ................
4110: bc d1 8f 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 ...;.. ..
4120: 72 65 74 75 72 6e 20 6d 61 69 6e 46 6f 6c 64 65 return mainFolde
4130: 72 3b 0d 0a 7d 0d 0a 0d 0a 54 65 73 74 52 75 6e r;..}....TestRun
4140: 6e 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e 53 61 ner.prototype.Sa
4150: 76 65 53 65 74 74 69 6e 67 73 20 3d 20 66 75 6e veSettings = fun
4160: 63 74 69 6f 6e 20 28 29 0d 0a 7b 0d 0a 20 20 20 ction ()..{..
4170: 20 74 68 69 73 2e 73 65 74 74 69 6e 67 73 2e 52 this.settings.R
4180: 65 61 64 46 72 6f 6d 46 6f 72 6d 28 74 68 69 73 eadFromForm(this
4190: 2e 66 6f 72 6d 29 3b 0d 0a 20 20 20 20 74 68 69 .form);.. thi
41a0: 73 2e 73 65 74 74 69 6e 67 73 2e 53 61 76 65 53 s.settings.SaveS
41b0: 65 74 74 69 6e 67 73 28 29 3b 0d 0a 20 20 20 20 ettings();..
41c0: 74 68 69 73 2e 66 6f 72 6d 2e d0 9c d0 be d0 b4 this.form.......
41d0: d0 b8 d1 84 d0 b8 d1 86 d0 b8 d1 80 d0 be d0 b2 ................
41e0: d0 b0 d0 bd d0 bd d0 be d1 81 d1 82 d1 8c 20 3d .............. =
41f0: 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 74 68 69 false;.. thi
4200: 73 2e 66 6f 72 6d 2e d0 ad d0 bb d0 b5 d0 bc d0 s.form..........
4210: b5 d0 bd d1 82 d1 8b d0 a4 d0 be d1 80 d0 bc d1 ................
4220: 8b 2e d0 9a d0 bd d0 be d0 bf d0 ba d0 b0 d0 9f ................
4230: d1 80 d0 b8 d0 bc d0 b5 d0 bd d0 b8 d1 82 d1 8c ................
4240: 2e d0 94 d0 be d1 81 d1 82 d1 83 d0 bf d0 bd d0 ................
4250: be d1 81 d1 82 d1 8c 20 3d 20 66 61 6c 73 65 3b ....... = false;
4260: 0d 0a 7d 0d 0a 0d 0a 54 65 73 74 52 75 6e 6e 65 ..}....TestRunne
4270: 72 2e 70 72 6f 74 6f 74 79 70 65 2e 44 69 73 63 r.prototype.Disc
4280: 61 72 64 53 65 74 74 69 6e 67 73 20 3d 20 66 75 ardSettings = fu
4290: 6e 63 74 69 6f 6e 20 28 29 0d 0a 7b 0d 0a 20 20 nction ()..{..
42a0: 20 20 74 68 69 73 2e 73 65 74 74 69 6e 67 73 2e this.settings.
42b0: 41 70 70 6c 79 54 6f 46 6f 72 6d 28 74 68 69 73 ApplyToForm(this
42c0: 2e 66 6f 72 6d 29 3b 0d 0a 20 20 20 20 74 68 69 .form);.. thi
42d0: 73 2e 66 6f 72 6d 2e d0 9c d0 be d0 b4 d0 b8 d1 s.form..........
42e0: 84 d0 b8 d1 86 d0 b8 d1 80 d0 be d0 b2 d0 b0 d0 ................
42f0: bd d0 bd d0 be d1 81 d1 82 d1 8c 20 3d 20 66 61 ........... = fa
4300: 6c 73 65 3b 20 20 20 20 0d 0a 7d 0d 0a 0d 0a 54 lse; ..}....T
4310: 65 73 74 52 75 6e 6e 65 72 2e 70 72 6f 74 6f 74 estRunner.protot
4320: 79 70 65 2e 69 73 54 65 73 74 73 4c 6f 61 64 65 ype.isTestsLoade
4330: 64 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 29 0d d = function ().
4340: 0a 7b 0d 0a 20 20 20 20 72 65 74 75 72 6e 20 28 .{.. return (
4350: 74 68 69 73 2e 61 6c 6c 54 65 73 74 73 2e 52 6f this.allTests.Ro
4360: 77 73 2e 43 6f 75 6e 74 28 29 20 3e 20 30 29 3b ws.Count() > 0);
4370: 0d 0a 7d 0d 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f ..}..../////////
4380: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
4390: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
43a0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
43b0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
43c0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d ///////////////.
43d0: 0a 2f 2f 2f 2f 20 d0 9e d0 91 d0 a0 d0 90 d0 91 .//// ..........
43e0: d0 9e d0 a2 d0 a7 d0 98 d0 9a d0 98 20 d0 a1 d0 ............ ...
43f0: 9e d0 91 d0 ab d0 a2 d0 98 d0 99 20 d0 a4 d0 9e ........... ....
4400: d0 a0 d0 9c d0 ab 20 d0 98 20 d0 95 d0 95 20 d0 ...... .. .... .
4410: ad d0 9b d0 95 d0 9c d0 95 d0 9d d0 a2 d0 9e d0 ................
4420: 92 2e 0d 0a 2f 2f 2f 2f 0d 0a 0d 0a 54 65 73 74 ....////....Test
4430: 52 75 6e 6e 65 72 2e 70 72 6f 74 6f 74 79 70 65 Runner.prototype
4440: 2e d0 9a d0 bd d0 be d0 bf d0 ba d0 b0 d0 97 d0 ................
4450: b0 d0 b3 d1 80 d1 83 d0 b7 d0 b8 d1 82 d1 8c d0 ................
4460: a2 d0 b5 d1 81 d1 82 d1 8b d0 9d d0 b0 d0 b6 d0 ................
4470: b0 d1 82 d0 b8 d0 b5 20 3d 20 66 75 6e 63 74 69 ....... = functi
4480: 6f 6e 28 d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 on(.............
4490: 82 29 0d 0a 7b 0d 0a 20 20 20 20 76 61 72 20 d0 .)..{.. var .
44a0: 92 d1 8b d0 b1 d0 be d1 80 d0 9a d0 b0 d1 82 d0 ................
44b0: b0 d0 bb d0 be d0 b3 d0 b0 20 3d 20 76 38 4e 65 ......... = v8Ne
44c0: 77 28 22 d0 94 d0 b8 d0 b0 d0 bb d0 be d0 b3 d0 w(".............
44d0: 92 d1 8b d0 b1 d0 be d1 80 d0 b0 d0 a4 d0 b0 d0 ................
44e0: b9 d0 bb d0 b0 22 2c 20 d0 a0 d0 b5 d0 b6 d0 b8 .....", ........
44f0: d0 bc d0 94 d0 b8 d0 b0 d0 bb d0 be d0 b3 d0 b0 ................
4500: d0 92 d1 8b d0 b1 d0 be d1 80 d0 b0 d0 a4 d0 b0 ................
4510: d0 b9 d0 bb d0 b0 2e d0 92 d1 8b d0 b1 d0 be d1 ................
4520: 80 d0 9a d0 b0 d1 82 d0 b0 d0 bb d0 be d0 b3 d0 ................
4530: b0 29 3b 0d 0a 20 20 20 20 d0 92 d1 8b d0 b1 d0 .);.. .......
4540: be d1 80 d0 9a d0 b0 d1 82 d0 b0 d0 bb d0 be d0 ................
4550: b3 d0 b0 2e d0 9f d0 be d0 bb d0 bd d0 be d0 b5 ................
4560: d0 98 d0 bc d1 8f d0 a4 d0 b0 d0 b9 d0 bb d0 b0 ................
4570: 20 3d 20 22 22 3b 0d 0a 20 20 20 20 d0 92 d1 8b = "";.. ....
4580: d0 b1 d0 be d1 80 d0 9a d0 b0 d1 82 d0 b0 d0 bb ................
4590: d0 be d0 b3 d0 b0 2e d0 97 d0 b0 d0 b3 d0 be d0 ................
45a0: bb d0 be d0 b2 d0 be d0 ba 20 3d 20 22 d0 92 d1 ......... = "...
45b0: 8b d0 b1 d0 b5 d1 80 d0 b8 d1 82 d0 b5 20 d0 ba ............. ..
45c0: d0 b0 d1 82 d0 b0 d0 bb d0 be d0 b3 20 63 20 d1 ............ c .
45d0: 82 d0 b5 d1 81 d1 82 d0 b0 d0 bc d0 b8 22 3b 0d .............";.
45e0: 0a 20 20 20 20 d0 92 d1 8b d0 b1 d0 be d1 80 d0 . ...........
45f0: 9a d0 b0 d1 82 d0 b0 d0 bb d0 be d0 b3 d0 b0 2e ................
4600: d0 9a d0 b0 d1 82 d0 b0 d0 bb d0 be d0 b3 20 3d .............. =
4610: 20 74 68 69 73 2e 67 65 74 44 65 66 61 75 6c 74 this.getDefault
4620: 54 65 73 74 73 44 69 72 28 29 3b 0d 0a 20 0d 0a TestsDir();.. ..
4630: 20 20 20 20 69 66 20 28 d0 92 d1 8b d0 b1 d0 be if (........
4640: d1 80 d0 9a d0 b0 d1 82 d0 b0 d0 bb d0 be d0 b3 ................
4650: d0 b0 2e d0 92 d1 8b d0 b1 d1 80 d0 b0 d1 82 d1 ................
4660: 8c 28 29 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 .()).. {..
4670: 20 20 20 20 20 74 68 69 73 2e 66 6f 72 6d 2e d0 this.form..
4680: 9f d1 83 d1 82 d1 8c 20 3d 20 d0 92 d1 8b d0 b1 ....... = ......
4690: d0 be d1 80 d0 9a d0 b0 d1 82 d0 b0 d0 bb d0 be ................
46a0: d0 b3 d0 b0 2e d0 9a d0 b0 d1 82 d0 b0 d0 bb d0 ................
46b0: be d0 b3 3b 0d 0a 20 20 20 20 20 20 20 20 74 68 ...;.. th
46c0: 69 73 2e 6c 6f 61 64 54 65 73 74 73 28 d0 92 d1 is.loadTests(...
46d0: 8b d0 b1 d0 be d1 80 d0 9a d0 b0 d1 82 d0 b0 d0 ................
46e0: bb d0 be d0 b3 d0 b0 2e d0 9a d0 b0 d1 82 d0 b0 ................
46f0: d0 bb d0 be d0 b3 29 3b 0d 0a 20 20 20 20 7d 0d ......);.. }.
4700: 0a 7d 0d 0a 0d 0a 54 65 73 74 52 75 6e 6e 65 72 .}....TestRunner
4710: 2e 70 72 6f 74 6f 74 79 70 65 2e d0 9a d0 bd d0 .prototype......
4720: be d0 bf d0 ba d0 b0 d0 97 d0 b0 d0 b3 d1 80 d1 ................
4730: 83 d0 b7 d0 b8 d1 82 d1 8c d0 a2 d0 b5 d1 81 d1 ................
4740: 82 d1 8b d0 97 d0 b0 d0 b3 d1 80 d1 83 d0 b7 d0 ................
4750: b8 d1 82 d1 8c d0 a2 d0 b5 d1 81 d1 82 d0 9a d0 ................
4760: b5 d0 b9 d1 81 20 3d 20 66 75 6e 63 74 69 6f 6e ..... = function
4770: 20 28 d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82 (..............
4780: 29 0d 0a 7b 0d 0a 20 20 20 20 76 61 72 20 d0 92 )..{.. var ..
4790: d1 8b d0 b1 d0 be d1 80 d0 a4 d0 b0 d0 b9 d0 bb ................
47a0: d0 b0 20 3d 20 76 38 4e 65 77 28 22 d0 94 d0 b8 .. = v8New("....
47b0: d0 b0 d0 bb d0 be d0 b3 d0 92 d1 8b d0 b1 d0 be ................
47c0: d1 80 d0 b0 d0 a4 d0 b0 d0 b9 d0 bb d0 b0 22 2c ..............",
47d0: 20 d0 a0 d0 b5 d0 b6 d0 b8 d0 bc d0 94 d0 b8 d0 ...............
47e0: b0 d0 bb d0 be d0 b3 d0 b0 d0 92 d1 8b d0 b1 d0 ................
47f0: be d1 80 d0 b0 d0 a4 d0 b0 d0 b9 d0 bb d0 b0 2e ................
4800: d0 9e d1 82 d0 ba d1 80 d1 8b d1 82 d0 b8 d0 b5 ................
4810: 29 3b 0d 0a 20 20 20 20 d0 92 d1 8b d0 b1 d0 be );.. ........
4820: d1 80 d0 a4 d0 b0 d0 b9 d0 bb d0 b0 2e d0 97 d0 ................
4830: b0 d0 b3 d0 be d0 bb d0 be d0 b2 d0 be d0 ba 20 ...............
4840: 3d 20 22 d0 92 d1 8b d0 b1 d0 b5 d1 80 d0 b8 d1 = ".............
4850: 82 d0 b5 20 d1 82 d0 b5 d1 81 d1 82 d0 be d0 b2 ... ............
4860: d1 8b d0 b9 20 d1 81 d0 ba d1 80 d0 b8 d0 bf d1 .... ...........
4870: 82 22 3b 0d 0a 20 20 20 20 d0 92 d1 8b d0 b1 d0 .";.. .......
4880: be d1 80 d0 a4 d0 b0 d0 b9 d0 bb d0 b0 2e d0 9a ................
4890: d0 b0 d1 82 d0 b0 d0 bb d0 be d0 b3 20 3d 20 74 ............ = t
48a0: 68 69 73 2e 67 65 74 44 65 66 61 75 6c 74 54 65 his.getDefaultTe
48b0: 73 74 73 44 69 72 28 29 3b 0d 0a 20 20 20 20 20 stsDir();..
48c0: 20 20 20 0d 0a 20 20 20 20 69 66 20 28 d0 92 d1 .. if (...
48d0: 8b d0 b1 d0 be d1 80 d0 a4 d0 b0 d0 b9 d0 bb d0 ................
48e0: b0 2e d0 92 d1 8b d0 b1 d1 80 d0 b0 d1 82 d1 8c ................
48f0: 28 29 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 ()).. {..
4900: 20 20 20 20 74 68 69 73 2e 66 6f 72 6d 2e d0 9f this.form...
4910: d1 83 d1 82 d1 8c 20 3d 20 d0 92 d1 8b d0 b1 d0 ...... = .......
4920: be d1 80 d0 a4 d0 b0 d0 b9 d0 bb d0 b0 2e d0 9f ................
4930: d0 be d0 bb d0 bd d0 be d0 b5 d0 98 d0 bc d1 8f ................
4940: d0 a4 d0 b0 d0 b9 d0 bb d0 b0 3b 0d 0a 20 20 20 ..........;..
4950: 20 20 20 20 20 74 68 69 73 2e 6c 6f 61 64 54 65 this.loadTe
4960: 73 74 73 28 d0 92 d1 8b d0 b1 d0 be d1 80 d0 a4 sts(............
4970: d0 b0 d0 b9 d0 bb d0 b0 2e d0 9f d0 be d0 bb d0 ................
4980: bd d0 be d0 b5 d0 98 d0 bc d1 8f d0 a4 d0 b0 d0 ................
4990: b9 d0 bb d0 b0 29 3b 0d 0a 20 20 20 20 7d 0d 0a .....);.. }..
49a0: 7d 0d 0a 0d 0a 54 65 73 74 52 75 6e 6e 65 72 2e }....TestRunner.
49b0: 70 72 6f 74 6f 74 79 70 65 2e 72 65 6c 6f 61 64 prototype.reload
49c0: 54 65 73 74 73 20 3d 20 66 75 6e 63 74 69 6f 6e Tests = function
49d0: 28 29 0d 0a 7b 0d 0a 20 20 20 20 69 66 20 28 74 ()..{.. if (t
49e0: 68 69 73 2e 69 73 54 65 73 74 73 4c 6f 61 64 65 his.isTestsLoade
49f0: 64 28 29 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 d()).. {..
4a00: 20 20 20 20 20 74 68 69 73 2e 73 77 69 74 63 68 this.switch
4a10: 50 72 6f 67 72 65 73 73 42 61 72 28 66 61 6c 73 ProgressBar(fals
4a20: 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 74 68 69 e);.. thi
4a30: 73 2e 72 65 73 65 74 43 6f 75 6e 74 65 72 73 28 s.resetCounters(
4a40: 29 3b 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73 );.. this
4a50: 2e 6c 6f 61 64 54 65 73 74 73 28 74 68 69 73 2e .loadTests(this.
4a60: 66 6f 72 6d 2e d0 9f d1 83 d1 82 d1 8c 29 3b 0d form.........);.
4a70: 0a 20 20 20 20 7d 0d 0a 7d 0d 0a 0d 0a 54 65 73 . }..}....Tes
4a80: 74 52 75 6e 6e 65 72 2e 70 72 6f 74 6f 74 79 70 tRunner.prototyp
4a90: 65 2e d0 9a d0 bd d0 be d0 bf d0 ba d0 b0 d0 9f e...............
4aa0: d0 b5 d1 80 d0 b5 d0 b7 d0 b0 d0 b3 d1 80 d1 83 ................
4ab0: d0 b7 d0 b8 d1 82 d1 8c d0 9d d0 b0 d0 b6 d0 b0 ................
4ac0: d1 82 d0 b8 d0 b5 20 3d 20 66 75 6e 63 74 69 6f ...... = functio
4ad0: 6e 20 28 d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 n (.............
4ae0: 82 29 0d 0a 7b 0d 0a 20 20 20 20 69 66 20 28 21 .)..{.. if (!
4af0: 74 68 69 73 2e 69 73 54 65 73 74 73 4c 6f 61 64 this.isTestsLoad
4b00: 65 64 28 29 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 ed()).. {..
4b10: 20 20 20 20 20 20 d0 9f d1 80 d0 b5 d0 b4 d1 83 ..........
4b20: d0 bf d1 80 d0 b5 d0 b6 d0 b4 d0 b5 d0 bd d0 b8 ................
4b30: d0 b5 28 22 d0 a1 d0 bd d0 b0 d1 87 d0 b0 d0 bb ..("............
4b40: d0 b0 20 d0 b7 d0 b0 d0 b3 d1 80 d1 83 d0 b7 d0 .. .............
4b50: b8 d1 82 d0 b5 20 d1 82 d0 b5 d1 81 d1 82 d1 8b ..... ..........
4b60: 21 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 72 65 !");.. re
4b70: 74 75 72 6e 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20 turn;.. }..
4b80: 20 20 0d 0a 20 20 20 20 74 68 69 73 2e 72 65 6c .. this.rel
4b90: 6f 61 64 54 65 73 74 73 28 29 3b 0d 0a 7d 0d 0a oadTests();..}..
4ba0: 0d 0a 54 65 73 74 52 75 6e 6e 65 72 2e 70 72 6f ..TestRunner.pro
4bb0: 74 6f 74 79 70 65 2e d0 9a d0 bd d0 be d0 bf d0 totype..........
4bc0: ba d0 b0 d0 92 d1 8b d0 bf d0 be d0 bb d0 bd d0 ................
4bd0: b8 d1 82 d1 8c d0 92 d1 81 d0 b5 d0 a2 d0 b5 d1 ................
4be0: 81 d1 82 d1 8b d0 9d d0 b0 d0 b6 d0 b0 d1 82 d0 ................
4bf0: b8 d0 b5 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 ... = function (
4c00: d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82 29 0d ..............).
4c10: 0a 7b 0d 0a 20 20 20 20 69 66 20 28 74 68 69 73 .{.. if (this
4c20: 2e 73 65 74 74 69 6e 67 73 2e 63 75 72 72 65 6e .settings.curren
4c30: 74 2e 52 65 6c 6f 61 64 42 65 66 6f 72 65 52 75 t.ReloadBeforeRu
4c40: 6e 41 6c 6c 20 26 26 20 74 68 69 73 2e 74 65 73 nAll && this.tes
4c50: 74 69 6e 67 44 6f 6e 65 29 0d 0a 20 20 20 20 20 tingDone)..
4c60: 20 20 20 74 68 69 73 2e 72 65 6c 6f 61 64 54 65 this.reloadTe
4c70: 73 74 73 28 29 3b 0d 0a 0d 0a 20 20 20 20 74 68 sts();.... th
4c80: 69 73 2e 72 65 73 65 74 43 6f 75 6e 74 65 72 73 is.resetCounters
4c90: 28 29 3b 0d 0a 20 20 20 20 74 68 69 73 2e 69 6e ();.. this.in
4ca0: 69 74 50 72 6f 67 72 65 73 73 42 61 72 28 29 3b itProgressBar();
4cb0: 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 .. ..
4cc0: 74 68 69 73 2e 72 75 6e 41 6c 6c 54 65 73 74 73 this.runAllTests
4cd0: 28 29 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 74 ();.. .. t
4ce0: 68 69 73 2e 75 70 64 61 74 65 54 6f 74 61 6c 73 his.updateTotals
4cf0: 28 29 3b 0d 0a 20 20 20 20 74 68 69 73 2e 73 77 ();.. this.sw
4d00: 69 74 63 68 50 72 6f 67 72 65 73 73 42 61 72 28 itchProgressBar(
4d10: 66 61 6c 73 65 29 3b 20 20 20 20 0d 0a 7d 0d 0a false); ..}..
4d20: 0d 0a 54 65 73 74 52 75 6e 6e 65 72 2e 70 72 6f ..TestRunner.pro
4d30: 74 6f 74 79 70 65 2e d0 9a d0 bd d0 be d0 bf d0 totype..........
4d40: ba d0 b0 d0 92 d1 8b d0 bf d0 be d0 bb d0 bd d0 ................
4d50: b8 d1 82 d1 8c d0 92 d1 8b d0 b4 d0 b5 d0 bb d0 ................
4d60: b5 d0 bd d0 bd d1 8b d0 b9 d0 9d d0 b0 d0 b6 d0 ................
4d70: b0 d1 82 d0 b8 d0 b5 20 3d 20 66 75 6e 63 74 69 ....... = functi
4d80: 6f 6e 20 28 d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd on (............
4d90: d1 82 29 0d 0a 7b 0d 0a 20 20 20 20 6a 73 55 6e ..)..{.. jsUn
4da0: 69 74 43 6f 72 65 2e 53 65 74 45 72 72 6f 72 48 itCore.SetErrorH
4db0: 61 6e 64 6c 65 72 28 66 75 6e 63 74 69 6f 6e 28 andler(function(
4dc0: 65 29 7b 20 74 68 72 6f 77 20 65 3b 20 7d 29 3b e){ throw e; });
4dd0: 0d 0a 20 20 20 20 0d 0a 20 20 20 20 4d 65 73 73 .. .. Mess
4de0: 61 67 65 28 22 d0 9d d0 b5 20 d1 80 d0 b5 d0 b0 age(".... ......
4df0: d0 bb d0 b8 d0 b7 d0 be d0 b2 d0 b0 d0 bd d0 be ................
4e00: 22 29 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 6a ");.. .. j
4e10: 73 55 6e 69 74 43 6f 72 65 2e 52 65 73 65 74 45 sUnitCore.ResetE
4e20: 72 72 6f 72 48 61 6e 64 6c 65 72 28 29 3b 0d 0a rrorHandler();..
4e30: 7d 0d 0a 0d 0a 54 65 73 74 52 75 6e 6e 65 72 2e }....TestRunner.
4e40: 70 72 6f 74 6f 74 79 70 65 2e d1 82 d0 bf d0 94 prototype.......
4e50: d0 b5 d1 80 d0 b5 d0 b2 d0 be d0 a2 d0 b5 d1 81 ................
4e60: d1 82 d0 be d0 b2 d0 9f d1 80 d0 b8 d0 92 d1 8b ................
4e70: d0 b2 d0 be d0 b4 d0 b5 d0 a1 d1 82 d1 80 d0 be ................
4e80: d0 ba d0 b8 20 3d 20 66 75 6e 63 74 69 6f 6e 28 .... = function(
4e90: d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82 2c 20 ..............,
4ea0: d0 9e d1 84 d0 be d1 80 d0 bc d0 bb d0 b5 d0 bd ................
4eb0: d0 b8 d0 b5 d0 a1 d1 82 d1 80 d0 be d0 ba d0 b8 ................
4ec0: 2c 20 d0 94 d0 b0 d0 bd d0 bd d1 8b d0 b5 d0 a1 , ..............
4ed0: d1 82 d1 80 d0 be d0 ba d0 b8 29 0d 0a 7b 0d 0a ..........)..{..
4ee0: 20 20 20 20 76 61 72 20 d0 af d1 87 d0 b5 d0 b9 var ........
4ef0: d0 ba d0 b8 20 3d 20 d0 9e d1 84 d0 be d1 80 d0 .... = .........
4f00: bc d0 bb d0 b5 d0 bd d0 b8 d0 b5 d0 a1 d1 82 d1 ................
4f10: 80 d0 be d0 ba d0 b8 2e 76 61 6c 2e d0 af d1 87 ........val.....
4f20: d0 b5 d0 b9 d0 ba d0 b8 3b 0d 0a 20 20 20 20 20 ........;..
4f30: 20 20 20 0d 0a 20 20 20 20 2f 2f 20 d0 a3 d1 81 .. // ....
4f40: d1 82 d0 b0 d0 bd d0 b0 d0 b2 d0 bb d0 b8 d0 b2 ................
4f50: d0 b0 d0 b5 d0 bc 20 d0 b8 d0 ba d0 be d0 bd d0 ...... .........
4f60: ba d1 83 20 d1 81 d0 be d1 81 d1 82 d0 be d1 8f ... ............
4f70: d0 bd d0 b8 d1 8f 20 d0 b2 d1 8b d0 bf d0 be d0 ...... .........
4f80: bb d0 bd d0 b5 d0 bd d0 b8 d1 8f 2e 0d 0a 20 20 ..............
4f90: 20 20 76 61 72 20 d0 a1 d0 be d1 81 d1 82 d0 be var ..........
4fa0: d1 8f d0 bd d0 b8 d0 b5 20 3d 20 d0 94 d0 b0 d0 ........ = .....
4fb0: bd d0 bd d1 8b d0 b5 d0 a1 d1 82 d1 80 d0 be d0 ................
4fc0: ba d0 b8 2e 76 61 6c 2e d0 a1 d0 be d1 81 d1 82 ....val.........
4fd0: d0 be d1 8f d0 bd d0 b8 d0 b5 3b 0d 0a 20 20 20 ..........;..
4fe0: 20 0d 0a 20 20 20 20 69 66 20 28 d0 a1 d0 be d1 .. if (.....
4ff0: 81 d1 82 d0 be d1 8f d0 bd d0 b8 d0 b5 20 3d 3d ............. ==
5000: 20 74 68 69 73 2e 53 54 41 54 45 5f 53 55 43 43 this.STATE_SUCC
5010: 45 53 53 29 0d 0a 20 20 20 20 20 20 20 20 d0 af ESS).. ..
5020: d1 87 d0 b5 d0 b9 d0 ba d0 b8 2e d0 9d d0 b0 d0 ................
5030: b7 d0 b2 d0 b0 d0 bd d0 b8 d0 b5 d0 a2 d0 b5 d1 ................
5040: 81 d1 82 d0 b0 2e d0 a3 d1 81 d1 82 d0 b0 d0 bd ................
5050: d0 be d0 b2 d0 b8 d1 82 d1 8c d0 9a d0 b0 d1 80 ................
5060: d1 82 d0 b8 d0 bd d0 ba d1 83 28 74 68 69 73 2e ..........(this.
5070: 53 74 61 74 65 49 63 6f 6e 73 2e 47 72 65 65 6e StateIcons.Green
5080: 29 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 ) ..
5090: 20 20 20 0d 0a 20 20 20 20 65 6c 73 65 20 69 66 .. else if
50a0: 20 28 d0 a1 d0 be d1 81 d1 82 d0 be d1 8f d0 bd (..............
50b0: d0 b8 d0 b5 20 3d 3d 20 74 68 69 73 2e 53 54 41 .... == this.STA
50c0: 54 45 5f 49 47 4e 4f 52 45 29 0d 0a 20 20 20 20 TE_IGNORE)..
50d0: 20 20 20 20 d0 af d1 87 d0 b5 d0 b9 d0 ba d0 b8 ............
50e0: 2e d0 9d d0 b0 d0 b7 d0 b2 d0 b0 d0 bd d0 b8 d0 ................
50f0: b5 d0 a2 d0 b5 d1 81 d1 82 d0 b0 2e d0 a3 d1 81 ................
5100: d1 82 d0 b0 d0 bd d0 be d0 b2 d0 b8 d1 82 d1 8c ................
5110: d0 9a d0 b0 d1 80 d1 82 d0 b8 d0 bd d0 ba d1 83 ................
5120: 28 74 68 69 73 2e 53 74 61 74 65 49 63 6f 6e 73 (this.StateIcons
5130: 2e 59 65 6c 6c 6f 77 29 0d 0a 20 20 20 20 20 20 .Yellow)..
5140: 20 20 0d 0a 20 20 20 20 65 6c 73 65 20 69 66 20 .. else if
5150: 28 d0 a1 d0 be d1 81 d1 82 d0 be d1 8f d0 bd d0 (...............
5160: b8 d0 b5 20 3d 3d 20 74 68 69 73 2e 53 54 41 54 ... == this.STAT
5170: 45 5f 46 41 49 4c 55 52 45 29 0d 0a 20 20 20 20 E_FAILURE)..
5180: 20 20 20 20 d0 af d1 87 d0 b5 d0 b9 d0 ba d0 b8 ............
5190: 2e d0 9d d0 b0 d0 b7 d0 b2 d0 b0 d0 bd d0 b8 d0 ................
51a0: b5 d0 a2 d0 b5 d1 81 d1 82 d0 b0 2e d0 a3 d1 81 ................
51b0: d1 82 d0 b0 d0 bd d0 be d0 b2 d0 b8 d1 82 d1 8c ................
51c0: d0 9a d0 b0 d1 80 d1 82 d0 b8 d0 bd d0 ba d1 83 ................
51d0: 28 74 68 69 73 2e 53 74 61 74 65 49 63 6f 6e 73 (this.StateIcons
51e0: 2e 52 65 64 29 0d 0a 20 20 20 20 20 20 20 20 0d .Red).. .
51f0: 0a 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20 20 . else..
5200: 20 20 20 d0 af d1 87 d0 b5 d0 b9 d0 ba d0 b8 2e .............
5210: d0 9d d0 b0 d0 b7 d0 b2 d0 b0 d0 bd d0 b8 d0 b5 ................
5220: d0 a2 d0 b5 d1 81 d1 82 d0 b0 2e d0 a3 d1 81 d1 ................
5230: 82 d0 b0 d0 bd d0 be d0 b2 d0 b8 d1 82 d1 8c d0 ................
5240: 9a d0 b0 d1 80 d1 82 d0 b8 d0 bd d0 ba d1 83 28 ...............(
5250: 74 68 69 73 2e 53 74 61 74 65 49 63 6f 6e 73 2e this.StateIcons.
5260: 47 72 61 79 29 0d 0a 20 20 20 20 20 20 20 20 0d Gray).. .
5270: 0a 7d 0d 0a 0d 0a 54 65 73 74 52 75 6e 6e 65 72 .}....TestRunner
5280: 2e 70 72 6f 74 6f 74 79 70 65 2e d0 9a d0 bd d0 .prototype......
5290: be d0 bf d0 ba d0 b0 d0 9d d0 b0 d1 81 d1 82 d1 ................
52a0: 80 d0 be d0 b9 d0 ba d0 b8 d0 9d d0 b0 d0 b6 d0 ................
52b0: b0 d1 82 d0 b8 d0 b5 20 3d 20 66 75 6e 63 74 69 ....... = functi
52c0: 6f 6e 20 28 d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd on (............
52d0: d1 82 29 0d 0a 7b 0d 0a 20 20 20 20 74 68 69 73 ..)..{.. this
52e0: 2e 73 65 74 74 69 6e 67 73 2e 41 70 70 6c 79 54 .settings.ApplyT
52f0: 6f 46 6f 72 6d 28 74 68 69 73 2e 66 6f 72 6d 29 oForm(this.form)
5300: 3b 0d 0a 20 20 20 20 74 68 69 73 2e 66 6f 72 6d ;.. this.form
5310: 2e d0 9f d0 b0 d0 bd d0 b5 d0 bb d1 8c 2e d0 a2 ................
5320: d0 b5 d0 ba d1 83 d1 89 d0 b0 d1 8f d0 a1 d1 82 ................
5330: d1 80 d0 b0 d0 bd d0 b8 d1 86 d0 b0 20 3d 20 74 ............ = t
5340: 68 69 73 2e 66 6f 72 6d 2e d0 9f d0 b0 d0 bd d0 his.form........
5350: b5 d0 bb d1 8c 2e d0 a1 d1 82 d1 80 d0 b0 d0 bd ................
5360: d0 b8 d1 86 d1 8b 2e d0 9d d0 b0 d1 81 d1 82 d1 ................
5370: 80 d0 be d0 b9 d0 ba d0 b8 3b 0d 0a 7d 0d 0a 0d .........;..}...
5380: 0a 54 65 73 74 52 75 6e 6e 65 72 2e 70 72 6f 74 .TestRunner.prot
5390: 6f 74 79 70 65 2e d0 9a d0 bd d0 be d0 bf d0 ba otype...........
53a0: d0 b0 d0 9d d0 b0 d0 b7 d0 b0 d0 b4 d0 9d d0 b0 ................
53b0: d0 b6 d0 b0 d1 82 d0 b8 d0 b5 20 3d 20 66 75 6e .......... = fun
53c0: 63 74 69 6f 6e 20 28 d0 ad d0 bb d0 b5 d0 bc d0 ction (.........
53d0: b5 d0 bd d1 82 29 0d 0a 7b 0d 0a 20 20 20 20 69 .....)..{.. i
53e0: 66 20 28 74 68 69 73 2e 66 6f 72 6d 2e d0 9c d0 f (this.form....
53f0: be d0 b4 d0 b8 d1 84 d0 b8 d1 86 d0 b8 d1 80 d0 ................
5400: be d0 b2 d0 b0 d0 bd d0 bd d0 be d1 81 d1 82 d1 ................
5410: 8c 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 .).. {..
5420: 20 20 20 76 61 72 20 61 6e 73 77 20 3d 20 44 6f var answ = Do
5430: 51 75 65 72 79 42 6f 78 28 22 d0 9d d0 b0 d1 81 QueryBox("......
5440: d1 82 d1 80 d0 be d0 b9 d0 ba d0 b8 20 d0 b1 d1 ............ ...
5450: 8b d0 bb d0 b8 20 d0 b8 d0 b7 d0 bc d0 b5 d0 bd ..... ..........
5460: d0 b5 d0 bd d1 8b 2e 20 d0 a1 d0 be d1 85 d1 80 ....... ........
5470: d0 b0 d0 bd d0 b8 d1 82 d1 8c 3f 22 2c 20 51 75 ..........?", Qu
5480: 65 73 74 69 6f 6e 44 69 61 6c 6f 67 4d 6f 64 65 estionDialogMode
5490: 2e 59 65 73 4e 6f 43 61 6e 63 65 6c 29 3b 0d 0a .YesNoCancel);..
54a0: 20 20 20 20 20 20 20 20 76 61 72 20 72 65 74 43 var retC
54b0: 6f 64 65 73 20 3d 20 44 69 61 6c 6f 67 52 65 74 odes = DialogRet
54c0: 75 72 6e 43 6f 64 65 3b 0d 0a 20 20 20 20 20 20 urnCode;..
54d0: 20 20 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 .. if (
54e0: 61 6e 73 77 20 3d 3d 20 72 65 74 43 6f 64 65 73 answ == retCodes
54f0: 2e 43 61 6e 63 65 6c 29 0d 0a 20 20 20 20 20 20 .Cancel)..
5500: 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0d 0a 20 return;..
5510: 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 ..
5520: 20 20 20 20 20 69 66 20 28 61 6e 73 77 20 3d 3d if (answ ==
5530: 20 72 65 74 43 6f 64 65 73 2e 59 65 73 29 0d 0a retCodes.Yes)..
5540: 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 {..
5550: 20 20 20 20 20 20 20 74 68 69 73 2e 53 61 76 65 this.Save
5560: 53 65 74 74 69 6e 67 73 28 29 3b 0d 0a 20 20 20 Settings();..
5570: 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 }..
5580: 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 20 7b 0d else.. {.
5590: 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 . //
55a0: d0 9e d1 82 d0 ba d0 b0 d1 82 d0 b8 d0 bc 20 d0 .............. .
55b0: b8 d0 b7 d0 bc d0 b5 d0 bd d0 b5 d0 bd d0 b8 d1 ................
55c0: 8f 20 d0 bd d0 b0 d1 81 d1 82 d1 80 d0 be d0 b5 . ..............
55d0: d0 ba 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 .....
55e0: 20 74 68 69 73 2e 44 69 73 63 61 72 64 53 65 74 this.DiscardSet
55f0: 74 69 6e 67 73 28 29 3b 0d 0a 20 20 20 20 20 20 tings();..
5600: 20 20 7d 20 20 20 20 20 20 20 20 0d 0a 20 20 20 } ..
5610: 20 7d 0d 0a 20 20 20 20 0d 0a 20 20 20 20 74 68 }.. .. th
5620: 69 73 2e 66 6f 72 6d 2e d0 9f d0 b0 d0 bd d0 b5 is.form.........
5630: d0 bb d1 8c 2e d0 a2 d0 b5 d0 ba d1 83 d1 89 d0 ................
5640: b0 d1 8f d0 a1 d1 82 d1 80 d0 b0 d0 bd d0 b8 d1 ................
5650: 86 d0 b0 20 3d 20 74 68 69 73 2e 66 6f 72 6d 2e ... = this.form.
5660: d0 9f d0 b0 d0 bd d0 b5 d0 bb d1 8c 2e d0 a1 d1 ................
5670: 82 d1 80 d0 b0 d0 bd d0 b8 d1 86 d1 8b 2e d0 a2 ................
5680: d0 b5 d1 81 d1 82 d0 b8 d1 80 d0 be d0 b2 d0 b0 ................
5690: d0 bd d0 b8 d0 b5 3b 20 20 20 20 20 20 20 20 0d ......; .
56a0: 0a 7d 0d 0a 0d 0a 54 65 73 74 52 75 6e 6e 65 72 .}....TestRunner
56b0: 2e 70 72 6f 74 6f 74 79 70 65 2e d0 9a d0 bd d0 .prototype......
56c0: be d0 bf d0 ba d0 b0 d0 9f d1 80 d0 b8 d0 bc d0 ................
56d0: b5 d0 bd d0 b8 d1 82 d1 8c d0 9d d0 b0 d0 b6 d0 ................
56e0: b0 d1 82 d0 b8 d0 b5 20 3d 20 66 75 6e 63 74 69 ....... = functi
56f0: 6f 6e 20 28 d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd on (............
5700: d1 82 29 0d 0a 7b 0d 0a 20 20 20 20 74 68 69 73 ..)..{.. this
5710: 2e 53 61 76 65 53 65 74 74 69 6e 67 73 28 29 3b .SaveSettings();
5720: 0d 0a 7d 0d 0a 0d 0a 54 65 73 74 52 75 6e 6e 65 ..}....TestRunne
5730: 72 2e 70 72 6f 74 6f 74 79 70 65 2e d0 90 d0 b2 r.prototype.....
5740: d1 82 d0 be d0 bc d0 b0 d1 82 d0 b8 d1 87 d0 b5 ................
5750: d1 81 d0 ba d0 b8 d0 9f d0 b5 d1 80 d0 b5 d0 b7 ................
5760: d0 b0 d0 b3 d1 80 d1 83 d0 b6 d0 b0 d1 82 d1 8c ................
5770: d0 9f d0 b5 d1 80 d0 b5 d0 b4 d0 92 d1 8b d0 bf ................
5780: d0 be d0 bb d0 bd d0 b5 d0 bd d0 b8 d0 b5 d0 bc ................
5790: d0 9f d1 80 d0 b8 d0 98 d0 b7 d0 bc d0 b5 d0 bd ................
57a0: d0 b5 d0 bd d0 b8 d0 b8 20 3d 20 66 75 6e 63 74 ........ = funct
57b0: 69 6f 6e 20 28 d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 ion (...........
57c0: bd d1 82 29 0d 0a 7b 0d 0a 20 20 20 20 74 68 69 ...)..{.. thi
57d0: 73 2e 66 6f 72 6d 2e d0 9c d0 be d0 b4 d0 b8 d1 s.form..........
57e0: 84 d0 b8 d1 86 d0 b8 d1 80 d0 be d0 b2 d0 b0 d0 ................
57f0: bd d0 bd d0 be d1 81 d1 82 d1 8c 20 3d 20 74 72 ........... = tr
5800: 75 65 3b 0d 0a 20 20 20 20 74 68 69 73 2e 66 6f ue;.. this.fo
5810: 72 6d 2e d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 rm..............
5820: 82 d1 8b d0 a4 d0 be d1 80 d0 bc d1 8b 2e d0 9a ................
5830: d0 bd d0 be d0 bf d0 ba d0 b0 d0 9f d1 80 d0 b8 ................
5840: d0 bc d0 b5 d0 bd d0 b8 d1 82 d1 8c 2e d0 94 d0 ................
5850: be d1 81 d1 82 d1 83 d0 bf d0 bd d0 be d1 81 d1 ................
5860: 82 d1 8c 20 3d 20 74 72 75 65 3b 0d 0a 7d 0d 0a ... = true;..}..
5870: 20 20 20 20 20 20 20 20 20 20 20 0d 0a 54 65 73 ..Tes
5880: 74 52 75 6e 6e 65 72 2e 70 72 6f 74 6f 74 79 70 tRunner.prototyp
5890: 65 2e 4c 6f 67 4f 6e 53 75 63 63 65 73 73 d0 9f e.LogOnSuccess..
58a0: d1 80 d0 b8 d0 98 d0 b7 d0 bc d0 b5 d0 bd d0 b5 ................
58b0: d0 bd d0 b8 d0 b8 20 3d 20 66 75 6e 63 74 69 6f ...... = functio
58c0: 6e 28 d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82 n(..............
58d0: 29 0d 0a 7b 0d 0a 20 20 20 20 74 68 69 73 2e 66 )..{.. this.f
58e0: 6f 72 6d 2e d0 9c d0 be d0 b4 d0 b8 d1 84 d0 b8 orm.............
58f0: d1 86 d0 b8 d1 80 d0 be d0 b2 d0 b0 d0 bd d0 bd ................
5900: d0 be d1 81 d1 82 d1 8c 20 3d 20 74 72 75 65 3b ........ = true;
5910: 0d 0a 20 20 20 20 74 68 69 73 2e 66 6f 72 6d 2e .. this.form.
5920: d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82 d1 8b ................
5930: d0 a4 d0 be d1 80 d0 bc d1 8b 2e d0 9a d0 bd d0 ................
5940: be d0 bf d0 ba d0 b0 d0 9f d1 80 d0 b8 d0 bc d0 ................
5950: b5 d0 bd d0 b8 d1 82 d1 8c 2e d0 94 d0 be d1 81 ................
5960: d1 82 d1 83 d0 bf d0 bd d0 be d1 81 d1 82 d1 8c ................
5970: 20 3d 20 74 72 75 65 3b 0d 0a 7d 0d 0a 20 20 20 = true;..}..
5980: 20 20 20 20 20 20 20 20 0d 0a 54 65 73 74 52 75 ..TestRu
5990: 6e 6e 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e d0 nner.prototype..
59a0: 9f d1 80 d0 b8 d0 9e d1 82 d0 ba d1 80 d1 8b d1 ................
59b0: 82 d0 b8 d0 b8 20 3d 20 66 75 6e 63 74 69 6f 6e ..... = function
59c0: 20 28 29 0d 0a 7b 20 20 20 0d 0a 20 20 20 20 74 ()..{ .. t
59d0: 68 69 73 2e 72 65 73 65 74 43 6f 75 6e 74 65 72 his.resetCounter
59e0: 73 28 29 3b 0d 0a 20 20 20 20 74 68 69 73 2e 73 s();.. this.s
59f0: 77 69 74 63 68 50 72 6f 67 72 65 73 73 42 61 72 witchProgressBar
5a00: 28 66 61 6c 73 65 29 3b 0d 0a 20 20 20 20 74 68 (false);.. th
5a10: 69 73 2e 66 6f 72 6d 2e d0 ad d0 bb d0 b5 d0 bc is.form.........
5a20: d0 b5 d0 bd d1 82 d1 8b d0 a4 d0 be d1 80 d0 bc ................
5a30: d1 8b 2e d0 9a d0 bd d0 be d0 bf d0 ba d0 b0 d0 ................
5a40: 9f d1 80 d0 b8 d0 bc d0 b5 d0 bd d0 b8 d1 82 d1 ................
5a50: 8c 2e d0 94 d0 be d1 81 d1 82 d1 83 d0 bf d0 bd ................
5a60: d0 be d1 81 d1 82 d1 8c 20 3d 20 66 61 6c 73 65 ........ = false
5a70: 3b 20 20 20 20 0d 0a 20 20 20 20 74 68 69 73 2e ; .. this.
5a80: 66 6f 72 6d 2e d0 9f d1 83 d1 82 d1 8c 20 3d 20 form......... =
5a90: 22 3c d0 a2 d0 b5 d1 81 d1 82 d1 8b 20 d0 bd d0 "<.......... ...
5aa0: b5 20 d0 b7 d0 b0 d0 b3 d1 80 d1 83 d0 b6 d0 b5 . ..............
5ab0: d0 bd d1 8b 3e 22 3b 0d 0a 7d 0d 0a 0d 0a 54 65 ....>";..}....Te
5ac0: 73 74 52 75 6e 6e 65 72 2e 70 72 6f 74 6f 74 79 stRunner.prototy
5ad0: 70 65 2e d0 9f d1 80 d0 b8 d0 97 d0 b0 d0 ba d1 pe..............
5ae0: 80 d1 8b d1 82 d0 b8 d0 b8 20 3d 20 66 75 6e 63 ......... = func
5af0: 74 69 6f 6e 20 28 29 0d 0a 7b 0d 0a 20 20 20 20 tion ()..{..
5b00: 74 68 69 73 2e 75 6e 6c 6f 61 64 41 6c 6c 54 65 this.unloadAllTe
5b10: 73 74 73 28 29 3b 20 20 20 20 0d 0a 7d 0d 0a 2f sts(); ..}../
5b20: 2f 2f 2f 7d 20 54 65 73 74 52 75 6e 6e 65 72 0d ///} TestRunner.
5b30: 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f .../////////////
5b40: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
5b50: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
5b60: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
5b70: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
5b80: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 2f 2f 2f ///////////..///
5b90: 2f 7b 20 d0 92 d0 a1 d0 9f d0 9e d0 9c d0 9e d0 /{ .............
5ba0: 93 d0 90 d0 a2 d0 95 d0 9b d0 ac d0 9d d0 ab d0 ................
5bb0: 95 20 d0 9e d0 91 d0 aa d0 95 d0 9a d0 a2 d0 ab . ..............
5bc0: 20 d0 98 20 d0 a4 d0 a3 d0 9d d0 9a d0 a6 d0 98 .. ............
5bd0: d0 98 2e 0d 0a 2f 2f 2f 2f 0d 0a 0d 0a 66 75 6e .....////....fun
5be0: 63 74 69 6f 6e 20 46 69 6e 64 46 69 6c 65 73 28 ction FindFiles(
5bf0: 70 61 74 68 2c 20 6d 61 73 6b 29 0d 0a 7b 0d 0a path, mask)..{..
5c00: 20 20 20 20 2f 2f 20 d0 98 d0 b7 20 73 6e 65 67 // .... sneg
5c10: 6f 70 61 74 2e 6a 73 2e 0d 0a 20 20 20 20 2f 2f opat.js... //
5c20: 20 54 4f 44 4f 3a 20 d0 9f d0 b5 d1 80 d0 b5 d0 TODO: .........
5c30: bd d0 b5 d1 81 d1 82 d0 b8 20 d0 b2 20 d0 b1 d0 ......... .. ...
5c40: b8 d0 b1 d0 bb d0 b8 d0 be d1 82 d0 b5 d0 ba d1 ................
5c50: 83 20 55 74 69 6c 73 2e 0d 0a 09 2f 2f 20 d0 9d . Utils....// ..
5c60: d0 b0 20 4e 54 2d d1 81 d0 b8 d1 81 d1 82 d0 b5 .. NT-..........
5c70: d0 bc d0 b0 d1 85 20 d0 bf d0 be d1 80 d1 8f d0 ...... .........
5c80: b4 d0 be d0 ba 20 d0 b2 d1 8b d0 b4 d0 b0 d1 87 ..... ..........
5c90: d0 b8 20 d1 84 d0 b0 d0 b9 d0 bb d0 be d0 b2 20 .. ............
5ca0: d0 b2 20 46 69 6e 64 46 69 72 73 74 46 69 6c 65 .. FindFirstFile
5cb0: 2f 46 69 6e 64 4e 65 78 74 46 69 6c 65 20 d0 bd /FindNextFile ..
5cc0: d0 b5 d0 be d0 bf d1 80 d0 b5 d0 b4 d0 b5 d0 bb ................
5cd0: d0 b5 d0 bd 2c 20 d1 82 d0 b5 20 d0 be d0 bd d0 ...., .... .....
5ce0: b8 20 d0 9d d0 95 d0 9e d0 91 d0 af d0 97 d0 90 . ..............
5cf0: d0 a2 d0 95 d0 9b d0 ac d0 9d d0 9e 0d 0a 09 2f .............../
5d00: 2f 20 d0 b2 d1 8b d0 b4 d0 b0 d1 8e d1 82 d1 81 / ..............
5d10: d1 8f 20 d0 be d1 82 d1 81 d0 be d1 80 d1 82 d0 .. .............
5d20: b8 d1 80 d0 be d0 b2 d0 b0 d0 bd d0 bd d1 8b d0 ................
5d30: bc d0 b8 20 d0 bf d0 be 20 d0 b8 d0 bc d0 b5 d0 ... .... .......
5d40: bd d0 b0 d0 bc 2c 20 d0 bf d0 be d1 8d d1 82 d0 ....., .........
5d50: be d0 bc d1 83 20 d0 bd d0 b0 20 d1 80 d0 b0 d0 ..... .... .....
5d60: b7 d0 bd d1 8b d1 85 20 d0 bc d0 b0 d1 88 d0 b8 ....... ........
5d70: d0 bd d0 b0 d1 85 20 d0 bc d0 be d0 b3 d1 83 d1 ...... .........
5d80: 82 20 d0 b2 d1 8b d0 b4 d0 b0 d0 b2 d0 b0 d1 82 . ..............
5d90: d1 8c d1 81 d1 8f 20 d0 b2 20 d1 80 d0 b0 d0 b7 ...... .. ......
5da0: d0 bd d0 be d0 bc 20 d0 bf d0 be d1 80 d1 8f d0 ...... .........
5db0: b4 d0 ba d0 b5 2e 0d 0a 09 2f 2f 20 d0 9a d1 80 .........// ....
5dc0: d0 be d0 bc d0 b5 20 d1 82 d0 be d0 b3 d0 be 2c ...... ........,
5dd0: 20 d0 ba d0 b0 d1 82 d0 b0 d0 bb d0 be d0 b3 d0 ...............
5de0: b8 20 d0 b8 20 d1 84 d0 b0 d0 b9 d0 bb d1 8b 20 . .. ..........
5df0: d0 bc d0 be d0 b3 d1 83 d1 82 20 d0 b2 d1 8b d0 .......... .....
5e00: b4 d0 b0 d0 b2 d0 b0 d1 82 d1 8c d1 81 d1 8f 20 ...............
5e10: d0 b2 d0 bf d0 b5 d1 80 d0 b5 d0 bc d0 b5 d1 88 ................
5e20: d0 ba d1 83 2e 0d 0a 09 2f 2f 20 d0 a2 d0 b0 d0 ........// .....
5e30: ba d0 b6 d0 b5 20 d0 b2 20 d0 b4 d0 be d0 ba d1 ..... .. .......
5e40: 83 d0 bc d0 b5 d0 bd d1 82 d0 b0 d1 86 d0 b8 d0 ................
5e50: b8 20 d0 ba 20 d0 9d d0 b0 d0 b9 d1 82 d0 b8 d0 . .. ...........
5e60: a4 d0 b0 d0 b9 d0 bb d1 8b 20 d0 bd d0 b5 d1 82 ......... ......
5e70: 20 d0 bd d0 b8 d0 ba d0 b0 d0 ba d0 be d0 b3 d0 ...............
5e80: be 20 d1 83 d0 bf d0 be d0 bc d0 b8 d0 bd d0 b0 . ..............
5e90: d0 bd d0 b8 d1 8f 20 d0 be 20 d0 bf d0 be d1 80 ...... .. ......
5ea0: d1 8f d0 b4 d0 ba d0 b5 20 d0 b2 d1 8b d0 b4 d0 ........ .......
5eb0: b0 d1 87 d0 b8 20 d1 84 d0 b0 d0 b9 d0 bb d0 be ..... ..........
5ec0: d0 b2 2e 0d 0a 09 2f 2f 20 d0 92 20 d1 81 d0 bb ......// .. ....
5ed0: d1 83 d1 87 d0 b0 d0 b5 20 d0 b7 d0 b0 d0 b2 d0 ........ .......
5ee0: b8 d1 81 d0 b8 d0 bc d0 be d1 81 d1 82 d0 b8 20 ...............
5ef0: d0 be d0 b4 d0 bd d0 be d0 b3 d0 be 20 d1 81 d1 ............ ...
5f00: 82 d0 b0 d0 bd d0 b4 d0 b0 d1 80 d1 82 d0 bd d0 ................
5f10: be d0 b3 d0 be 20 d1 81 d0 ba d1 80 d0 b8 d0 bf ..... ..........
5f20: d1 82 d0 b0 20 d0 be d1 82 20 d0 b4 d1 80 d1 83 .... .... ......
5f30: d0 b3 d0 be d0 b3 d0 be 20 28 d0 bd d0 b0 d0 bf ........ (......
5f40: d1 80 d0 b8 d0 bc d0 b5 d1 80 2c 20 73 6e 65 67 .........., sneg
5f50: 6f 70 61 74 77 6e 64 2e 6a 73 20 d0 bf d1 80 d0 opatwnd.js .....
5f60: b8 0d 0a 09 2f 2f 20 d0 b7 d0 b0 d0 b3 d1 80 d1 ....// .........
5f70: 83 d0 b7 d0 ba d0 b5 20 d1 81 d1 80 d0 b0 d0 b7 ....... ........
5f80: d1 83 20 d0 be d0 b1 d1 80 d0 b0 d1 89 d0 b0 d0 .. .............
5f90: b5 d1 82 d1 81 d1 8f 20 d0 ba 20 67 6c 6f 62 61 ....... .. globa
5fa0: 6c 5f 63 6f 6e 74 65 78 74 2e 6a 73 29 20 d1 8d l_context.js) ..
5fb0: d1 82 d0 be 20 d0 bc d0 be d0 b6 d0 b5 d1 82 20 .... ..........
5fc0: d0 bf d1 80 d0 b8 d0 b2 d0 b5 d1 81 d1 82 d0 b8 ................
5fd0: 20 d0 ba 20 d0 bf d1 80 d0 be d0 b1 d0 bb d0 b5 .. ............
5fe0: d0 bc d0 b0 d0 bc 2e 0d 0a 09 2f 2f 20 d0 9f d0 ..........// ...
5ff0: be d1 8d d1 82 d0 be d0 bc 20 d0 bf d1 80 d0 b8 ......... ......
6000: d0 bc d0 b5 d0 bc 20 d1 82 d0 b0 d0 ba d0 be d0 ...... .........
6010: b9 20 d0 bf d0 be d1 80 d1 8f d0 b4 d0 be d0 ba . ..............
6020: 20 d0 b7 d0 b0 d0 b3 d1 80 d1 83 d0 b7 d0 ba d0 ...............
6030: b8 3a 0d 0a 09 2f 2f 20 d0 a1 d0 bd d0 b0 d1 87 .:...// ........
6040: d0 b0 d0 bb d0 b0 20 d0 b7 d0 b0 d0 b3 d1 80 d1 ...... .........
6050: 83 d0 b6 d0 b0 d1 8e d1 82 d1 81 d1 8f 20 d0 b2 ............. ..
6060: d1 81 d0 b5 20 d0 bf d0 be d0 b4 d0 ba d0 b0 d1 .... ...........
6070: 82 d0 be d0 bb d0 be d0 b3 d0 b8 2c 20 d0 be d1 ..........., ...
6080: 82 d1 81 d0 be d1 80 d1 82 d0 b8 d1 80 d0 be d0 ................
6090: b2 d0 b0 d0 bd d0 bd d1 8b d0 b5 20 d0 bf d0 be ........... ....
60a0: 20 d0 b8 d0 bc d0 b5 d0 bd d0 b8 2e 0d 0a 09 2f ............../
60b0: 2f 20 d0 97 d0 b0 d1 82 d0 b5 d0 bc 20 d0 b7 d0 / .......... ...
60c0: b0 d0 b3 d1 80 d0 b6 d0 b0 d1 8e d1 82 d1 81 d1 ................
60d0: 8f 20 d0 b2 d1 81 d0 b5 20 d1 84 d0 b0 d0 b9 d0 . ...... .......
60e0: bb d1 8b 2c 20 d0 be d1 82 d1 81 d0 be d1 80 d1 ..., ...........
60f0: 82 d0 b8 d1 80 d0 be d0 b2 d0 b0 d0 bd d0 bd d1 ................
6100: 8b d0 b5 20 d0 bf d0 be 20 d0 b8 d0 bc d0 b5 d0 ... .... .......
6110: bd d0 b8 2e 0d 0a 20 20 20 20 0d 0a 20 20 20 20 ...... ..
6120: 76 61 72 20 61 6c 6c 46 69 6c 65 73 20 3d 20 6e var allFiles = n
6130: 65 77 20 41 72 72 61 79 28 29 3b 0d 0a 20 20 20 ew Array();..
6140: 20 76 61 72 20 66 69 6c 65 73 20 3d 20 6e 65 77 var files = new
6150: 20 41 72 72 61 79 28 29 3b 0d 0a 20 20 20 0d 0a Array();.. ..
6160: 20 20 20 20 76 61 72 20 66 69 6c 65 73 41 72 72 var filesArr
6170: 61 79 20 3d 20 6e 65 77 20 45 6e 75 6d 65 72 61 ay = new Enumera
6180: 74 6f 72 28 67 6c 6f 62 61 6c 43 6f 6e 74 65 78 tor(globalContex
6190: 74 28 22 7b 32 32 41 32 31 30 33 30 2d 45 31 44 t("{22A21030-E1D
61a0: 36 2d 34 36 41 30 2d 39 34 36 35 2d 46 30 41 35 6-46A0-9465-F0A5
61b0: 34 32 37 42 45 30 31 31 7d 22 29 2e d0 9d d0 b0 427BE011}").....
61c0: d0 b9 d1 82 d0 b8 d0 a4 d0 b0 d0 b9 d0 bb d1 8b ................
61d0: 28 70 61 74 68 2e 72 65 70 6c 61 63 65 28 2f 5c (path.replace(/\
61e0: 5c 2f 67 2c 20 27 2f 27 29 2c 20 22 2a 22 2c 20 \/g, '/'), "*",
61f0: 66 61 6c 73 65 29 29 3b 20 20 20 0d 0a 20 20 20 false)); ..
6200: 20 66 6f 72 20 28 20 3b 20 21 66 69 6c 65 73 41 for ( ; !filesA
6210: 72 72 61 79 2e 61 74 45 6e 64 28 29 3b 20 66 69 rray.atEnd(); fi
6220: 6c 65 73 41 72 72 61 79 2e 6d 6f 76 65 4e 65 78 lesArray.moveNex
6230: 74 28 29 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 t()).. {..
6240: 20 20 20 20 20 76 61 72 20 66 69 6c 65 20 3d 20 var file =
6250: 66 69 6c 65 73 41 72 72 61 79 2e 69 74 65 6d 28 filesArray.item(
6260: 29 3b 0d 0a 20 20 20 20 20 20 20 20 28 66 69 6c );.. (fil
6270: 65 2e d0 ad d1 82 d0 be d0 9a d0 b0 d1 82 d0 b0 e...............
6280: d0 bb d0 be d0 b3 28 29 20 3f 20 61 6c 6c 46 69 ......() ? allFi
6290: 6c 65 73 20 3a 20 66 69 6c 65 73 29 2e 70 75 73 les : files).pus
62a0: 68 28 66 69 6c 65 29 3b 0d 0a 20 20 20 20 7d 0d h(file);.. }.
62b0: 0a 0d 0a 20 20 20 20 76 61 72 20 73 6f 72 74 42 ... var sortB
62c0: 79 4e 61 6d 65 73 20 3d 20 66 75 6e 63 74 69 6f yNames = functio
62d0: 6e 20 28 69 31 2c 20 69 32 29 20 7b 20 0d 0a 20 n (i1, i2) { ..
62e0: 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 31 return i1
62f0: 2e d0 98 d0 bc d1 8f 2e 74 6f 4c 6f 77 65 72 43 ........toLowerC
6300: 61 73 65 28 29 2e 6c 6f 63 61 6c 65 43 6f 6d 70 ase().localeComp
6310: 61 72 65 28 69 32 2e d0 98 d0 bc d1 8f 2e 74 6f are(i2........to
6320: 4c 6f 77 65 72 43 61 73 65 28 29 29 20 0d 0a 20 LowerCase()) ..
6330: 20 20 20 7d 3b 0d 0a 0d 0a 20 20 20 20 61 6c 6c };.... all
6340: 46 69 6c 65 73 2e 73 6f 72 74 28 73 6f 72 74 42 Files.sort(sortB
6350: 79 4e 61 6d 65 73 29 3b 0d 0a 20 20 20 20 66 69 yNames);.. fi
6360: 6c 65 73 2e 73 6f 72 74 28 73 6f 72 74 42 79 4e les.sort(sortByN
6370: 61 6d 65 73 29 3b 0d 0a 0d 0a 20 20 20 20 66 6f ames);.... fo
6380: 72 20 28 76 61 72 20 69 3d 30 3b 20 69 3c 66 69 r (var i=0; i<fi
6390: 6c 65 73 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 les.length; i++)
63a0: 0d 0a 20 20 20 20 20 20 20 20 61 6c 6c 46 69 6c .. allFil
63b0: 65 73 2e 70 75 73 68 28 66 69 6c 65 73 5b 69 5d es.push(files[i]
63c0: 29 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 );.. ..
63d0: 20 20 72 65 74 75 72 6e 20 61 6c 6c 46 69 6c 65 return allFile
63e0: 73 3b 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f s;..}....functio
63f0: 6e 20 54 65 73 74 28 61 64 64 69 6e 2c 20 74 65 n Test(addin, te
6400: 73 74 4e 61 6d 65 29 0d 0a 7b 0d 0a 20 20 20 20 stName)..{..
6410: 74 68 69 73 2e 61 64 64 69 6e 20 3d 20 61 64 64 this.addin = add
6420: 69 6e 3b 0d 0a 20 20 20 20 74 68 69 73 2e 66 75 in;.. this.fu
6430: 6c 6c 54 65 73 74 4e 61 6d 65 20 3d 20 61 64 64 llTestName = add
6440: 69 6e 2e 75 6e 69 71 75 65 4e 61 6d 65 20 2b 20 in.uniqueName +
6450: 22 3a 3a 22 20 2b 20 74 65 73 74 4e 61 6d 65 3b "::" + testName;
6460: 0d 0a 20 20 20 20 74 68 69 73 2e 74 65 73 74 4e .. this.testN
6470: 61 6d 65 20 3d 20 74 65 73 74 4e 61 6d 65 3b 0d ame = testName;.
6480: 0a 20 20 20 20 74 68 69 73 2e 65 78 65 70 74 69 . this.exepti
6490: 6f 6e 20 3d 20 6e 75 6c 6c 3b 0d 0a 20 20 20 20 on = null;..
64a0: 74 68 69 73 2e 6d 65 73 73 61 67 65 20 3d 20 22 this.message = "
64b0: 22 3b 0d 0a 7d 0d 0a 2f 2f 2f 2f 7d 20 d0 92 d0 ";..}..////} ...
64c0: a1 d0 9f d0 9e d0 9c d0 9e d0 93 d0 90 d0 a2 d0 ................
64d0: 95 d0 9b d0 ac d0 9d d0 ab d0 95 20 d0 9e d0 91 ........... ....
64e0: d0 aa d0 95 d0 9a d0 a2 d0 ab 20 d0 98 20 d0 a4 .......... .. ..
64f0: d0 a3 d0 9d d0 9a d0 a6 d0 98 d0 98 2e 0d 0a 0d ................
6500: 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f .///////////////
6510: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
6520: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
6530: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
6540: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
6550: 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 2f 2f 2f 2f 7b /////////..////{
6560: 20 53 74 61 72 74 55 70 0d 0a 2f 2f 2f 2f 0d 0a StartUp..////..
6570: 66 75 6e 63 74 69 6f 6e 20 47 65 74 54 65 73 74 function GetTest
6580: 52 75 6e 6e 65 72 28 29 0d 0a 7b 0d 0a 20 20 20 Runner()..{..
6590: 20 69 66 20 28 21 54 65 73 74 52 75 6e 6e 65 72 if (!TestRunner
65a0: 2e 5f 69 6e 73 74 61 6e 63 65 29 0d 0a 20 20 20 ._instance)..
65b0: 20 20 20 20 20 6e 65 77 20 54 65 73 74 52 75 6e new TestRun
65c0: 6e 65 72 28 29 3b 0d 0a 20 20 20 20 0d 0a 20 20 ner();.. ..
65d0: 20 20 72 65 74 75 72 6e 20 54 65 73 74 52 75 6e return TestRun
65e0: 6e 65 72 2e 5f 69 6e 73 74 61 6e 63 65 3b 0d 0a ner._instance;..
65f0: 7d 0d 0a 0d 0a 47 65 74 54 65 73 74 52 75 6e 6e }....GetTestRunn
6600: 65 72 28 29 2e 53 68 6f 77 28 29 3b 0d 0a 0d 0a er().Show();....
6610: 2f 2f 2f 2f 7d 0d 0a 0d 0a 0d 0a ////}......