Hex Artifact Content Вы: nobody
Вход

Artifact 8908b89f8e15d5b846810082441a35c2a88fb5ed:


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 78 55 6e 69 74  pt..$uname xUnit
0020: 41 64 64 54 65 73 74 73 44 65 73 63 0d 0a 24 64  AddTestsDesc..$d
0030: 6e 61 6d 65 20 d0 94 d0 be d0 b1 d0 b0 d0 b2 d0  name ...........
0040: b8 d1 82 d1 8c 20 d0 be d0 bf d0 b8 d1 81 d0 b0  ..... ..........
0050: d0 bd d0 b8 d1 8f 20 d1 82 d0 b5 d1 81 d1 82 d0  ...... .........
0060: be d0 b2 d1 8b d1 85 20 d1 81 d0 bb d1 83 d1 87  ....... ........
0070: d0 b0 d0 b5 20 78 55 6e 69 74 46 6f 72 31 43 0d  .... xUnitFor1C.
0080: 0a 24 61 64 64 69 6e 20 67 6c 6f 62 61 6c 0d 0a  .$addin global..
0090: 24 61 64 64 69 6e 20 73 74 64 6c 69 62 0d 0a 24  $addin stdlib..$
00a0: 61 64 64 69 6e 20 73 74 64 63 6f 6d 6d 61 6e 64  addin stdcommand
00b0: 73 0d 0a 0d 0a 73 74 64 6c 69 62 2e 72 65 71 75  s....stdlib.requ
00c0: 69 72 65 28 27 54 65 78 74 57 69 6e 64 6f 77 2e  ire('TextWindow.
00d0: 6a 73 27 2c 20 53 65 6c 66 53 63 72 69 70 74 29  js', SelfScript)
00e0: 3b 0d 0a 73 74 64 6c 69 62 2e 72 65 71 75 69 72  ;..stdlib.requir
00f0: 65 28 27 6c 6f 67 34 6a 73 2e 6a 73 27 2c 20 53  e('log4js.js', S
0100: 65 6c 66 53 63 72 69 70 74 29 3b 0d 0a 67 6c 6f  elfScript);..glo
0110: 62 61 6c 2e 63 6f 6e 6e 65 63 74 47 6c 6f 62 61  bal.connectGloba
0120: 6c 73 28 53 65 6c 66 53 63 72 69 70 74 29 3b 0d  ls(SelfScript);.
0130: 0a 0d 0a 76 61 72 20 6c 6f 67 67 65 72 20 3d 20  ...var logger = 
0140: 61 64 64 4c 6f 67 67 65 72 28 53 65 6c 66 53 63  addLogger(SelfSc
0150: 72 69 70 74 2e 75 6e 69 71 75 65 4e 61 6d 65 2c  ript.uniqueName,
0160: 20 4c 6f 67 34 6a 73 2e 4c 65 76 65 6c 2e 45 52   Log4js.Level.ER
0170: 52 4f 52 29 3b 20 2f 2f 4c 6f 67 34 6a 73 2e 4c  ROR); //Log4js.L
0180: 65 76 65 6c 2e 44 45 42 55 47 0d 0a 0d 0a 73 74  evel.DEBUG....st
0190: 64 63 6f 6d 6d 61 6e 64 73 2e 46 72 61 6d 65 2e  dcommands.Frame.
01a0: 46 69 6c 65 53 61 76 65 2e 61 64 64 48 61 6e 64  FileSave.addHand
01b0: 6c 65 72 28 53 65 6c 66 53 63 72 69 70 74 2e 73  ler(SelfScript.s
01c0: 65 6c 66 2c 20 22 6f 6e 46 69 6c 65 53 61 76 65  elf, "onFileSave
01d0: 5f 41 64 64 54 65 73 74 43 61 73 65 44 65 73 63  _AddTestCaseDesc
01e0: 72 69 70 74 69 6f 6e 73 49 6e 74 6f 54 65 78 74  riptionsIntoText
01f0: 22 29 0d 0a 0d 0a 53 65 6c 66 53 63 72 69 70 74  ")....SelfScript
0200: 2e 73 65 6c 66 5b 27 6d 61 63 72 6f 73 d0 92 d1  .self['macros...
0210: 81 d1 82 d0 b0 d0 b2 d0 b8 d1 82 d1 8c 20 d0 be  ............. ..
0220: d0 bf d1 80 d0 b5 d0 b4 d0 b5 d0 bb d0 b5 d0 bd  ................
0230: d0 b8 d1 8f 20 d1 82 d0 b5 d1 81 d1 82 d0 be d0  .... ...........
0240: b2 d1 8b d1 85 20 d1 81 d0 bb d1 83 d1 87 d0 b0  ..... ..........
0250: d0 b5 d0 b2 20 78 55 6e 69 74 46 6f 72 31 43 27  .... xUnitFor1C'
0260: 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b  ] = function() {
0270: 0d 0a 09 61 64 64 54 65 73 74 43 61 73 65 44 65  ...addTestCaseDe
0280: 73 63 72 69 70 74 69 6f 6e 73 49 6e 74 6f 54 65  scriptionsIntoTe
0290: 78 74 28 29 0d 0a 09 72 65 74 75 72 6e 20 74 72  xt()...return tr
02a0: 75 65 3b 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69  ue;..}....functi
02b0: 6f 6e 20 61 64 64 54 65 73 74 43 61 73 65 44 65  on addTestCaseDe
02c0: 73 63 72 69 70 74 69 6f 6e 73 49 6e 74 6f 54 65  scriptionsIntoTe
02d0: 78 74 28 29 20 7b 0d 0a 09 76 61 72 20 74 65 78  xt() {...var tex
02e0: 74 57 69 6e 64 6f 77 20 3d 20 47 65 74 54 65 78  tWindow = GetTex
02f0: 74 57 69 6e 64 6f 77 28 29 3b 0d 0a 09 69 66 20  tWindow();...if 
0300: 28 21 74 65 78 74 57 69 6e 64 6f 77 20 7c 7c 20  (!textWindow || 
0310: 74 65 78 74 57 69 6e 64 6f 77 2e 49 73 52 65 61  textWindow.IsRea
0320: 64 4f 6e 6c 79 28 29 29 20 7b 0d 0a 09 09 6c 6f  dOnly()) {....lo
0330: 67 67 65 72 2e 64 65 62 75 67 28 27 d0 9d d0 b5  gger.debug('....
0340: 20 d0 bd d0 b0 d1 88 d0 bb d0 b8 20 d1 82 d0 b5   .......... ....
0350: d0 ba d1 81 d1 82 d0 be d0 b2 d0 be d0 b5 20 d0  .............. .
0360: be d0 ba d0 bd d0 be 20 d0 b8 d0 bb d0 b8 20 d0  ....... ...... .
0370: be d0 ba d0 bd d0 be 20 d0 b4 d0 bb d1 8f 20 d1  ....... ...... .
0380: 87 d1 82 d0 b5 d0 bd d0 b8 d1 8f 27 29 0d 0a 09  ...........')...
0390: 09 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d 0a  .return false;..
03a0: 09 7d 0d 0a 09 0d 0a 09 76 61 72 20 61 70 70 65  .}......var appe
03b0: 6e 64 65 72 20 3d 20 6e 65 77 20 5f 41 70 70 65  nder = new _Appe
03c0: 6e 64 65 72 54 65 73 74 43 61 73 65 44 65 73 63  nderTestCaseDesc
03d0: 72 69 70 74 69 6f 6e 73 49 6e 74 6f 54 65 78 74  riptionsIntoText
03e0: 28 74 65 78 74 57 69 6e 64 6f 77 29 0d 0a 09 72  (textWindow)...r
03f0: 65 74 75 72 6e 20 61 70 70 65 6e 64 65 72 2e 61  eturn appender.a
0400: 64 64 54 65 73 74 43 61 73 65 44 65 73 63 72 69  ddTestCaseDescri
0410: 70 74 69 6f 6e 73 49 6e 74 6f 54 65 78 74 28 29  ptionsIntoText()
0420: 3b 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e  ;..}....function
0430: 20 6f 6e 46 69 6c 65 53 61 76 65 5f 41 64 64 54   onFileSave_AddT
0440: 65 73 74 43 61 73 65 44 65 73 63 72 69 70 74 69  estCaseDescripti
0450: 6f 6e 73 49 6e 74 6f 54 65 78 74 28 63 6d 64 29  onsIntoText(cmd)
0460: 0d 0a 7b 0d 0a 09 69 66 28 63 6d 64 2e 69 73 42  ..{...if(cmd.isB
0470: 65 66 6f 72 65 29 0d 0a 09 7b 0d 0a 09 09 76 61  efore)...{....va
0480: 72 20 6d 64 4f 62 6a 2c 20 61 76 20 3d 20 77 69  r mdObj, av = wi
0490: 6e 64 6f 77 73 2e 67 65 74 41 63 74 69 76 65 56  ndows.getActiveV
04a0: 69 65 77 28 29 0d 0a 09 09 69 66 28 21 61 76 20  iew()....if(!av 
04b0: 7c 7c 20 21 28 6d 64 4f 62 6a 20 3d 20 61 76 2e  || !(mdObj = av.
04c0: 6d 64 4f 62 6a 29 29 0d 0a 09 09 09 72 65 74 75  mdObj)).....retu
04d0: 72 6e 0d 0a 09 09 2f 2f 20 d0 9f d0 be d1 81 d0  rn....// .......
04e0: bc d0 be d1 82 d1 80 d0 b8 d0 bc 2c 20 d0 bd d0  ..........., ...
04f0: b5 20 d0 b2 d0 bd d0 b5 d1 88 d0 bd d0 b8 d0 b9  . ..............
0500: 20 d0 bb d0 b8 20 d0 be d1 82 d1 87 d0 b5 d1 82   .... ..........
0510: 2f d0 be d0 b1 d1 80 d0 b0 d0 b1 d0 be d1 82 d0  /...............
0520: ba d0 b0 20 d1 81 d0 be d1 85 d1 80 d0 b0 d0 bd  ... ............
0530: d1 8f d0 b5 d1 82 d1 81 d1 8f 2e 0d 0a 09 09 69  ...............i
0540: 66 28 6d 64 4f 62 6a 2e 63 6f 6e 74 61 69 6e 65  f(mdObj.containe
0550: 72 20 21 3d 20 6d 64 4f 62 6a 2e 63 6f 6e 74 61  r != mdObj.conta
0560: 69 6e 65 72 2e 6d 61 73 74 65 72 43 6f 6e 74 61  iner.masterConta
0570: 69 6e 65 72 29 20 7b 0d 0a 09 09 20 20 20 20 74  iner) {....    t
0580: 72 79 7b 0d 0a 09 09 09 09 61 64 64 54 65 73 74  ry{......addTest
0590: 43 61 73 65 44 65 73 63 72 69 70 74 69 6f 6e 73  CaseDescriptions
05a0: 49 6e 74 6f 54 65 78 74 28 29 3b 0d 0a 09 09 20  IntoText();.... 
05b0: 20 20 20 7d 63 61 74 63 68 28 65 29 7b 7d 0d 0a     }catch(e){}..
05c0: 09 09 7d 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 66 75  ..}...}..}....fu
05d0: 6e 63 74 69 6f 6e 20 61 64 64 4c 6f 67 67 65 72  nction addLogger
05e0: 28 6c 6f 67 67 65 72 4e 61 6d 65 2c 20 6c 6f 67  (loggerName, log
05f0: 4c 65 76 65 6c 29 20 7b 0d 0a 09 76 61 72 20 6c  Level) {...var l
0600: 6f 67 67 65 72 20 3d 20 4c 6f 67 34 6a 73 2e 67  ogger = Log4js.g
0610: 65 74 4c 6f 67 67 65 72 28 6c 6f 67 67 65 72 4e  etLogger(loggerN
0620: 61 6d 65 29 3b 0d 0a 09 76 61 72 20 61 70 70 65  ame);...var appe
0630: 6e 64 65 72 20 3d 20 6e 65 77 20 4c 6f 67 34 6a  nder = new Log4j
0640: 73 2e 42 72 6f 77 73 65 72 43 6f 6e 73 6f 6c 65  s.BrowserConsole
0650: 41 70 70 65 6e 64 65 72 28 29 3b 0d 0a 09 61 70  Appender();...ap
0660: 70 65 6e 64 65 72 2e 73 65 74 4c 61 79 6f 75 74  pender.setLayout
0670: 28 6e 65 77 20 4c 6f 67 34 6a 73 2e 50 61 74 74  (new Log4js.Patt
0680: 65 72 6e 4c 61 79 6f 75 74 28 4c 6f 67 34 6a 73  ernLayout(Log4js
0690: 2e 50 61 74 74 65 72 6e 4c 61 79 6f 75 74 2e 54  .PatternLayout.T
06a0: 54 43 43 5f 43 4f 4e 56 45 52 53 49 4f 4e 5f 50  TCC_CONVERSION_P
06b0: 41 54 54 45 52 4e 29 29 3b 0d 0a 09 2f 2f 20 d1  ATTERN));...// .
06c0: 81 d0 bb d0 b5 d0 b4 d1 83 d1 8e d1 89 d0 b8 d0  ................
06d0: b9 20 d0 ba d0 be d0 b4 20 d0 bd d1 83 d0 b6 d0  . ...... .......
06e0: b5 d0 bd 2c 20 d1 87 d1 82 d0 be d0 b1 d1 8b 20  ..., .......... 
06f0: d0 bf d1 80 d0 b8 20 d0 bf d0 b5 d1 80 d0 b5 d0  ...... .........
0700: b7 d0 b0 d0 bf d1 83 d1 81 d0 ba d0 b5 20 d1 81  ............. ..
0710: d0 ba d1 80 d0 b8 d0 bf d1 82 d0 b0 20 d0 b1 d0  ............ ...
0720: b5 d0 b7 20 d0 bf d0 b5 d1 80 d0 b5 d0 b7 d0 b0  ... ............
0730: d0 bf d1 83 d1 81 d0 ba d0 b0 20 d0 9a d0 be d0  .......... .....
0740: bd d1 84 d0 b8 d0 b3 d1 83 d1 80 d0 b0 d1 82 d0  ................
0750: be d1 80 d0 b0 20 d0 bb d0 be d0 b3 20 d0 bd d0  ..... ...... ...
0760: b5 20 d0 b7 d0 b0 d0 b4 d0 b2 d0 be d0 b8 d1 82  . ..............
0770: d1 81 d1 8f 0d 0a 09 61 70 70 65 6e 64 65 72 73  .......appenders
0780: 20 3d 20 5b 5d 3b 0d 0a 09 61 70 70 65 6e 64 65   = [];...appende
0790: 72 73 2e 70 75 73 68 28 61 70 70 65 6e 64 65 72  rs.push(appender
07a0: 29 3b 0d 0a 09 6c 6f 67 67 65 72 2e 6f 6e 6c 6f  );...logger.onlo
07b0: 67 20 3d 20 6e 65 77 20 4c 6f 67 34 6a 73 2e 43  g = new Log4js.C
07c0: 75 73 74 6f 6d 45 76 65 6e 74 28 29 3b 0d 0a 09  ustomEvent();...
07d0: 6c 6f 67 67 65 72 2e 6f 6e 63 6c 65 61 72 20 3d  logger.onclear =
07e0: 20 6e 65 77 20 4c 6f 67 34 6a 73 2e 43 75 73 74   new Log4js.Cust
07f0: 6f 6d 45 76 65 6e 74 28 29 3b 0d 0a 0d 0a 09 6c  omEvent();.....l
0800: 6f 67 67 65 72 2e 73 65 74 41 70 70 65 6e 64 65  ogger.setAppende
0810: 72 73 28 61 70 70 65 6e 64 65 72 73 29 3b 20 2f  rs(appenders); /
0820: 2f 20 d0 ba d0 be d0 bd d0 b5 d1 86 20 d0 b1 d0  / .......... ...
0830: bb d0 be d0 ba d0 b0 20 d0 b8 d1 81 d0 ba d0 bb  ....... ........
0840: d1 8e d1 87 d0 b5 d0 bd d0 b8 d1 8f 20 d0 b7 d0  ............ ...
0850: b0 d0 b4 d0 b2 d0 be d0 b5 d0 bd d0 b8 d1 8f 20  ............... 
0860: d0 bb d0 be d0 b3 d0 b0 0d 0a 09 2f 2f 6c 6f 67  ...........//log
0870: 67 65 72 2e 61 64 64 41 70 70 65 6e 64 65 72 28  ger.addAppender(
0880: 6e 65 77 20 4c 6f 67 34 6a 73 2e 46 69 6c 65 41  new Log4js.FileA
0890: 70 70 65 6e 64 65 72 28 22 66 3a 5c 5c 73 6f 6d  ppender("f:\\som
08a0: 65 66 69 6c 65 2e 6c 6f 67 22 29 29 3b 0d 0a 09  efile.log"));...
08b0: 6c 6f 67 67 65 72 2e 73 65 74 4c 65 76 65 6c 28  logger.setLevel(
08c0: 6c 6f 67 4c 65 76 65 6c 29 3b 0d 0a 09 72 65 74  logLevel);...ret
08d0: 75 72 6e 20 6c 6f 67 67 65 72 3b 0d 0a 7d 0d 0a  urn logger;..}..
08e0: 0d 0a 0d 0a 76 61 72 09 54 45 53 54 5f 43 41 53  ....var.TEST_CAS
08f0: 45 5f 44 45 53 43 5f 46 55 4e 43 5f 4e 41 4d 45  E_DESC_FUNC_NAME
0900: 20 3d 20 27 d0 9f d0 be d0 bb d1 83 d1 87 d0 b8   = '............
0910: d1 82 d1 8c d0 a1 d0 bf d0 b8 d1 81 d0 be d0 ba  ................
0920: d0 a2 d0 b5 d1 81 d1 82 d0 be d0 b2 27 0d 0a 76  ............'..v
0930: 61 72 20 54 45 53 54 5f 43 41 53 45 5f 44 45 53  ar TEST_CASE_DES
0940: 43 5f 46 55 4e 43 5f 54 45 4d 50 4c 41 54 45 20  C_FUNC_TEMPLATE 
0950: 3d 20 0d 0a 22 d0 9f d0 b5 d1 80 d0 b5 d0 bc 20  = ..".......... 
0960: d1 8e d0 a2 d0 b5 d1 81 d1 82 3b 5c 6e 5c 6e 5c  ..........;\n\n\
0970: 0d 0a d0 a4 d1 83 d0 bd d0 ba d1 86 d0 b8 d1 8f  ................
0980: 20 d0 9f d0 be d0 bb d1 83 d1 87 d0 b8 d1 82 d1   ...............
0990: 8c d0 a1 d0 bf d0 b8 d1 81 d0 be d0 ba d0 a2 d0  ................
09a0: b5 d1 81 d1 82 d0 be d0 b2 28 d0 ae d0 bd d0 b8  .........(......
09b0: d1 82 d0 a2 d0 b5 d1 81 d1 82 d0 b8 d1 80 d0 be  ................
09c0: d0 b2 d0 b0 d0 bd d0 b8 d0 b5 29 20 d0 ad d0 ba  ..........) ....
09d0: d1 81 d0 bf d0 be d1 80 d1 82 5c 6e 5c 0d 0a 5c  ..........\n\..\
09e0: 6e 5c 0d 0a 09 d1 8e d0 a2 d0 b5 d1 81 d1 82 20  n\............. 
09f0: 3d 20 d0 ae d0 bd d0 b8 d1 82 d0 a2 d0 b5 d1 81  = ..............
0a00: d1 82 d0 b8 d1 80 d0 be d0 b2 d0 b0 d0 bd d0 b8  ................
0a10: d0 b5 3b 5c 6e 5c 0d 0a 5c 6e 5c 0d 0a 09 d0 92  ..;\n\..\n\.....
0a20: d1 81 d0 b5 d0 a2 d0 b5 d1 81 d1 82 d1 8b 20 3d  .............. =
0a30: 20 d0 9d d0 be d0 b2 d1 8b d0 b9 20 d0 9c d0 b0   .......... ....
0a40: d1 81 d1 81 d0 b8 d0 b2 3b 5c 6e 5c 0d 0a 5c 6e  ........;\n\..\n
0a50: 5c 0d 0a 09 d0 92 d0 be d0 b7 d0 b2 d1 80 d0 b0  \...............
0a60: d1 82 20 d0 92 d1 81 d0 b5 d0 a2 d0 b5 d1 81 d1  .. .............
0a70: 82 d1 8b 3b 5c 6e 5c 0d 0a 5c 6e 5c 0d 0a d0 9a  ...;\n\..\n\....
0a80: d0 be d0 bd d0 b5 d1 86 d0 a4 d1 83 d0 bd d0 ba  ................
0a90: d1 86 d0 b8 d0 b8 5c 6e 22 0d 0a 0d 0a 5f 41 70  ......\n"...._Ap
0aa0: 70 65 6e 64 65 72 54 65 73 74 43 61 73 65 44 65  penderTestCaseDe
0ab0: 73 63 72 69 70 74 69 6f 6e 73 49 6e 74 6f 54 65  scriptionsIntoTe
0ac0: 78 74 20 3d 20 73 74 64 6c 69 62 2e 43 6c 61 73  xt = stdlib.Clas
0ad0: 73 2e 65 78 74 65 6e 64 28 7b 0d 0a 20 20 20 20  s.extend({..    
0ae0: 63 6f 6e 73 74 72 75 63 74 20 3a 20 66 75 6e 63  construct : func
0af0: 74 69 6f 6e 20 28 74 65 78 74 57 69 6e 64 6f 77  tion (textWindow
0b00: 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 74 68 69  ) {..        thi
0b10: 73 2e 74 65 78 74 57 69 6e 64 6f 77 20 3d 20 74  s.textWindow = t
0b20: 65 78 74 57 69 6e 64 6f 77 3b 0d 0a 09 09 74 68  extWindow;....th
0b30: 69 73 2e 70 61 72 73 65 53 6f 75 72 63 65 73 28  is.parseSources(
0b40: 29 3b 0d 0a 20 20 20 20 7d 2c 0d 0a 09 0d 0a 09  );..    },......
0b50: 70 61 72 73 65 53 6f 75 72 63 65 73 20 3a 20 66  parseSources : f
0b60: 75 6e 63 74 69 6f 6e 20 28 29 20 7b 0d 0a 09 09  unction () {....
0b70: 74 68 69 73 2e 70 61 72 73 65 72 20 3d 20 73 6e  this.parser = sn
0b80: 65 67 6f 70 61 74 2e 70 61 72 73 65 53 6f 75 72  egopat.parseSour
0b90: 63 65 73 28 74 68 69 73 2e 74 65 78 74 57 69 6e  ces(this.textWin
0ba0: 64 6f 77 2e 74 65 78 74 28 29 29 3b 0d 0a 20 20  dow.text());..  
0bb0: 20 20 7d 2c 0d 0a 0d 0a 09 61 64 64 54 65 73 74    },.....addTest
0bc0: 43 61 73 65 44 65 73 63 72 69 70 74 69 6f 6e 73  CaseDescriptions
0bd0: 49 6e 74 6f 54 65 78 74 20 3a 20 66 75 6e 63 74  IntoText : funct
0be0: 69 6f 6e 28 29 20 7b 0d 0a 09 09 09 0d 0a 09 09  ion() {.........
0bf0: 76 61 72 20 70 61 72 73 65 72 20 3d 20 74 68 69  var parser = thi
0c00: 73 2e 70 61 72 73 65 72 20 2f 2f 73 6e 65 67 6f  s.parser //snego
0c10: 70 61 74 2e 70 61 72 73 65 53 6f 75 72 63 65 73  pat.parseSources
0c20: 28 74 68 69 73 2e 74 65 78 74 57 69 6e 64 6f 77  (this.textWindow
0c30: 2e 74 65 78 74 28 29 29 0d 0a 09 09 09 6c 6f 67  .text()).....log
0c40: 67 65 72 2e 64 65 62 75 67 28 27 70 61 72 73 65  ger.debug('parse
0c50: 72 2e 72 65 53 74 72 65 61 6d 20 27 20 2b 20 70  r.reStream ' + p
0c60: 61 72 73 65 72 2e 72 65 53 74 72 65 61 6d 29 0d  arser.reStream).
0c70: 0a 09 09 09 0d 0a 09 09 76 61 72 20 69 6e 64 65  ........var inde
0c80: 78 54 65 73 74 43 61 73 65 44 65 73 63 46 75 6e  xTestCaseDescFun
0c90: 63 20 3d 20 70 61 72 73 65 72 2e 69 64 78 4f 66  c = parser.idxOf
0ca0: 4e 61 6d 65 28 54 45 53 54 5f 43 41 53 45 5f 44  Name(TEST_CASE_D
0cb0: 45 53 43 5f 46 55 4e 43 5f 4e 41 4d 45 29 0d 0a  ESC_FUNC_NAME)..
0cc0: 09 09 09 6c 6f 67 67 65 72 2e 64 65 62 75 67 28  ...logger.debug(
0cd0: 27 70 61 72 73 65 72 2e 69 64 78 4f 66 4e 61 6d  'parser.idxOfNam
0ce0: 65 28 22 27 2b 54 45 53 54 5f 43 41 53 45 5f 44  e("'+TEST_CASE_D
0cf0: 45 53 43 5f 46 55 4e 43 5f 4e 41 4d 45 2b 27 22  ESC_FUNC_NAME+'"
0d00: 29 3d 27 20 2b 20 69 6e 64 65 78 54 65 73 74 43  )=' + indexTestC
0d10: 61 73 65 44 65 73 63 46 75 6e 63 29 0d 0a 09 09  aseDescFunc)....
0d20: 09 0d 0a 09 09 76 61 72 20 70 72 6f 63 4e 61 6d  .....var procNam
0d30: 65 73 20 3d 20 74 68 69 73 2e 67 65 74 54 65 73  es = this.getTes
0d40: 74 43 61 73 65 73 28 70 61 72 73 65 72 29 0d 0a  tCases(parser)..
0d50: 09 09 69 66 28 21 70 72 6f 63 4e 61 6d 65 73 29  ..if(!procNames)
0d60: 7b 0d 0a 09 09 09 6c 6f 67 67 65 72 2e 64 65 62  {.....logger.deb
0d70: 75 67 28 27 d0 9d d0 b5 20 d0 bd d0 b0 d1 88 d0  ug('.... .......
0d80: bb d0 b8 20 d0 be d0 bf d1 80 d0 b5 d0 b4 d0 b5  ... ............
0d90: d0 bb d0 b5 d0 bd d0 b8 d1 8f 20 d1 82 d0 b5 d1  .......... .....
0da0: 81 d1 82 d0 be d0 b2 d1 8b d1 85 20 d1 81 d0 bb  ........... ....
0db0: d1 83 d1 87 d0 b0 d0 b5 d0 b2 27 29 0d 0a 09 09  ..........')....
0dc0: 09 72 65 74 75 72 6e 20 66 61 6c 73 65 0d 0a 09  .return false...
0dd0: 09 7d 0d 0a 09 09 69 66 20 28 2d 31 20 3d 3d 20  .}....if (-1 == 
0de0: 69 6e 64 65 78 54 65 73 74 43 61 73 65 44 65 73  indexTestCaseDes
0df0: 63 46 75 6e 63 29 20 7b 0d 0a 09 09 09 6c 6f 67  cFunc) {.....log
0e00: 67 65 72 2e 64 65 62 75 67 28 27 d0 9d d0 b5 20  ger.debug('.... 
0e10: d0 bd d0 b0 d1 88 d0 bb d0 b8 20 d1 84 d1 83 d0  .......... .....
0e20: bd d0 ba d1 86 d0 b8 d1 8e 20 d0 be d0 bf d0 b8  ......... ......
0e30: d1 81 d0 b0 d0 bd d0 b8 d1 8f 20 d1 82 d0 b5 d1  .......... .....
0e40: 81 d1 82 d0 be d0 b2 20 22 27 2b 54 45 53 54 5f  ....... "'+TEST_
0e50: 43 41 53 45 5f 44 45 53 43 5f 46 55 4e 43 5f 4e  CASE_DESC_FUNC_N
0e60: 41 4d 45 2b 27 22 27 29 0d 0a 09 09 09 6c 6f 67  AME+'"').....log
0e70: 67 65 72 2e 64 65 62 75 67 28 27 d0 92 d1 81 d1  ger.debug('.....
0e80: 82 d0 b0 d0 b2 d0 bb d1 8f d1 8e 20 d1 88 d0 b0  ........... ....
0e90: d0 b1 d0 bb d0 be d0 bd 20 d1 84 d1 83 d0 bd d0  ........ .......
0ea0: ba d1 86 d0 b8 d0 b8 20 d0 be d0 bf d0 b8 d1 81  ....... ........
0eb0: d0 b0 d0 bd d0 b8 d1 8f 20 d1 82 d0 b5 d1 81 d1  ........ .......
0ec0: 82 d0 be d0 b2 20 22 27 2b 54 45 53 54 5f 43 41  ..... "'+TEST_CA
0ed0: 53 45 5f 44 45 53 43 5f 46 55 4e 43 5f 4e 41 4d  SE_DESC_FUNC_NAM
0ee0: 45 2b 27 22 27 29 0d 0a 09 09 09 0d 0a 09 09 09  E+'"')..........
0ef0: 74 68 69 73 2e 74 65 78 74 57 69 6e 64 6f 77 2e  this.textWindow.
0f00: 49 6e 73 65 72 74 4c 69 6e 65 28 31 2c 20 54 45  InsertLine(1, TE
0f10: 53 54 5f 43 41 53 45 5f 44 45 53 43 5f 46 55 4e  ST_CASE_DESC_FUN
0f20: 43 5f 54 45 4d 50 4c 41 54 45 29 3b 0d 0a 09 09  C_TEMPLATE);....
0f30: 09 0d 0a 09 09 09 70 61 72 73 65 72 20 3d 20 73  ......parser = s
0f40: 6e 65 67 6f 70 61 74 2e 70 61 72 73 65 53 6f 75  negopat.parseSou
0f50: 72 63 65 73 28 74 68 69 73 2e 74 65 78 74 57 69  rces(this.textWi
0f60: 6e 64 6f 77 2e 74 65 78 74 28 29 29 0d 0a 09 09  ndow.text())....
0f70: 09 09 6c 6f 67 67 65 72 2e 64 65 62 75 67 28 27  ..logger.debug('
0f80: 70 61 72 73 65 72 2e 72 65 53 74 72 65 61 6d 20  parser.reStream 
0f90: 27 20 2b 20 70 61 72 73 65 72 2e 72 65 53 74 72  ' + parser.reStr
0fa0: 65 61 6d 29 0d 0a 09 09 09 0d 0a 09 09 09 69 6e  eam)..........in
0fb0: 64 65 78 54 65 73 74 43 61 73 65 44 65 73 63 46  dexTestCaseDescF
0fc0: 75 6e 63 20 3d 20 70 61 72 73 65 72 2e 69 64 78  unc = parser.idx
0fd0: 4f 66 4e 61 6d 65 28 54 45 53 54 5f 43 41 53 45  OfName(TEST_CASE
0fe0: 5f 44 45 53 43 5f 46 55 4e 43 5f 4e 41 4d 45 29  _DESC_FUNC_NAME)
0ff0: 0d 0a 09 09 09 09 6c 6f 67 67 65 72 2e 64 65 62  ......logger.deb
1000: 75 67 28 27 70 61 72 73 65 72 2e 69 64 78 4f 66  ug('parser.idxOf
1010: 4e 61 6d 65 28 22 27 2b 54 45 53 54 5f 43 41 53  Name("'+TEST_CAS
1020: 45 5f 44 45 53 43 5f 46 55 4e 43 5f 4e 41 4d 45  E_DESC_FUNC_NAME
1030: 2b 27 22 29 3d 27 20 2b 20 69 6e 64 65 78 54 65  +'")=' + indexTe
1040: 73 74 43 61 73 65 44 65 73 63 46 75 6e 63 29 0d  stCaseDescFunc).
1050: 0a 09 09 7d 09 09 0d 0a 09 09 0d 0a 09 09 76 61  ...}..........va
1060: 72 20 64 61 74 61 20 3d 20 74 68 69 73 2e 67 65  r data = this.ge
1070: 74 4c 69 6e 65 46 6f 72 49 6e 73 65 72 74 54 65  tLineForInsertTe
1080: 73 74 43 61 73 65 44 65 73 63 72 69 70 74 69 6f  stCaseDescriptio
1090: 6e 73 28 70 61 72 73 65 72 2c 20 69 6e 64 65 78  ns(parser, index
10a0: 54 65 73 74 43 61 73 65 44 65 73 63 46 75 6e 63  TestCaseDescFunc
10b0: 29 3b 0d 0a 09 09 0d 0a 09 09 76 61 72 20 6c 69  );........var li
10c0: 6e 65 20 3d 20 64 61 74 61 2e 45 6e 64 4c 69 6e  ne = data.EndLin
10d0: 65 3b 0d 0a 09 09 69 66 28 6c 69 6e 65 20 21 3d  e;....if(line !=
10e0: 20 2d 31 29 7b 0d 0a 09 09 09 76 61 72 20 61 72   -1){.....var ar
10f0: 72 61 79 4e 61 6d 65 20 3d 20 64 61 74 61 2e 41  rayName = data.A
1100: 72 72 61 79 4e 61 6d 65 0d 0a 09 09 09 74 68 69  rrayName.....thi
1110: 73 2e 64 65 6c 65 74 65 45 78 69 73 74 54 65 73  s.deleteExistTes
1120: 74 43 61 73 65 44 65 73 63 28 74 68 69 73 2e 74  tCaseDesc(this.t
1130: 65 78 74 57 69 6e 64 6f 77 2c 20 64 61 74 61 2e  extWindow, data.
1140: 42 65 67 69 6e 4c 69 6e 65 2c 20 6c 69 6e 65 2c  BeginLine, line,
1150: 20 70 72 6f 63 4e 61 6d 65 73 2c 20 61 72 72 61   procNames, arra
1160: 79 4e 61 6d 65 29 0d 0a 09 09 09 0d 0a 09 09 09  yName)..........
1170: 70 61 72 73 65 72 20 3d 20 73 6e 65 67 6f 70 61  parser = snegopa
1180: 74 2e 70 61 72 73 65 53 6f 75 72 63 65 73 28 74  t.parseSources(t
1190: 68 69 73 2e 74 65 78 74 57 69 6e 64 6f 77 2e 74  his.textWindow.t
11a0: 65 78 74 28 29 29 20 2f 2f 20 d1 82 2e d0 ba 2e  ext()) // ......
11b0: 20 d0 b8 d0 b7 d0 bc d0 b5 d0 bd d0 b8 d0 bb d0   ...............
11c0: b8 20 d1 82 d0 b5 d0 ba d1 81 d1 82 2c 20 d0 b7  . .........., ..
11d0: d0 b0 d0 bd d0 be d0 b2 d0 be 20 d0 bf d0 b0 d1  .......... .....
11e0: 80 d1 81 d0 b8 d0 bc 0d 0a 09 09 09 09 6c 6f 67  .............log
11f0: 67 65 72 2e 64 65 62 75 67 28 27 70 61 72 73 65  ger.debug('parse
1200: 72 2e 72 65 53 74 72 65 61 6d 20 27 20 2b 20 70  r.reStream ' + p
1210: 61 72 73 65 72 2e 72 65 53 74 72 65 61 6d 29 0d  arser.reStream).
1220: 0a 09 09 09 0d 0a 09 09 09 64 61 74 61 20 3d 20  .........data = 
1230: 74 68 69 73 2e 67 65 74 4c 69 6e 65 46 6f 72 49  this.getLineForI
1240: 6e 73 65 72 74 54 65 73 74 43 61 73 65 44 65 73  nsertTestCaseDes
1250: 63 72 69 70 74 69 6f 6e 73 28 70 61 72 73 65 72  criptions(parser
1260: 2c 20 69 6e 64 65 78 54 65 73 74 43 61 73 65 44  , indexTestCaseD
1270: 65 73 63 46 75 6e 63 29 3b 0d 0a 09 09 09 0d 0a  escFunc);.......
1280: 09 09 09 6c 69 6e 65 20 3d 20 64 61 74 61 2e 45  ...line = data.E
1290: 6e 64 4c 69 6e 65 3b 0d 0a 09 09 09 69 66 28 6c  ndLine;.....if(l
12a0: 69 6e 65 20 21 3d 20 2d 31 29 7b 0d 0a 09 09 09  ine != -1){.....
12b0: 09 74 68 69 73 2e 69 6e 73 65 72 74 54 65 73 74  .this.insertTest
12c0: 43 61 73 65 44 65 73 63 49 6e 74 6f 54 65 78 74  CaseDescIntoText
12d0: 28 74 68 69 73 2e 74 65 78 74 57 69 6e 64 6f 77  (this.textWindow
12e0: 2c 20 6c 69 6e 65 2c 20 70 72 6f 63 4e 61 6d 65  , line, procName
12f0: 73 2c 20 61 72 72 61 79 4e 61 6d 65 29 3b 0d 0a  s, arrayName);..
1300: 09 09 09 7d 0d 0a 09 09 09 0d 0a 09 09 09 72 65  ...}..........re
1310: 74 75 72 6e 20 74 72 75 65 3b 0d 0a 09 09 7d 0d  turn true;....}.
1320: 0a 0d 0a 09 09 6c 6f 67 67 65 72 2e 64 65 62 75  .....logger.debu
1330: 67 28 27 d0 9d d0 b5 20 d1 83 d0 b4 d0 b0 d0 bb  g('.... ........
1340: d0 be d1 81 d1 8c 20 d0 bf d0 be d0 bb d1 83 d1  ...... .........
1350: 87 d0 b8 d1 82 d1 8c 20 d0 bf d0 be d0 b7 d0 b8  ....... ........
1360: d1 86 d0 b8 d1 8e 20 d0 b4 d0 bb d1 8f 20 d0 b2  ...... ...... ..
1370: d1 81 d1 82 d0 b0 d0 b2 d0 ba d0 b8 20 d0 be d0  ............ ...
1380: bf d0 b8 d1 81 d0 b0 d0 bd d0 b8 d1 8f 20 d1 82  ............. ..
1390: d0 b5 d1 81 d1 82 d0 be d0 b2 d1 8b d1 85 20 d1  .............. .
13a0: 81 d0 bb d1 83 d1 87 d0 b0 d0 b5 d0 b2 27 29 0d  .............').
13b0: 0a 09 09 72 65 74 75 72 6e 20 66 61 6c 73 65 3b  ...return false;
13c0: 0d 0a 09 7d 2c 0d 0a 0d 0a 09 64 65 6c 65 74 65  ...},.....delete
13d0: 45 78 69 73 74 54 65 73 74 43 61 73 65 44 65 73  ExistTestCaseDes
13e0: 63 20 3a 20 66 75 6e 63 74 69 6f 6e 20 28 74 65  c : function (te
13f0: 78 74 57 69 6e 64 6f 77 2c 20 62 65 67 69 6e 4c  xtWindow, beginL
1400: 69 6e 65 2c 20 65 6e 64 4c 69 6e 65 2c 20 70 72  ine, endLine, pr
1410: 6f 63 4e 61 6d 65 73 2c 20 61 72 72 61 79 4e 61  ocNames, arrayNa
1420: 6d 65 29 20 7b 0d 0a 09 09 76 61 72 20 72 61 6e  me) {....var ran
1430: 67 65 20 3d 20 74 68 69 73 2e 74 65 78 74 57 69  ge = this.textWi
1440: 6e 64 6f 77 2e 52 61 6e 67 65 28 62 65 67 69 6e  ndow.Range(begin
1450: 4c 69 6e 65 2c 20 31 2c 20 65 6e 64 4c 69 6e 65  Line, 1, endLine
1460: 29 0d 0a 09 09 76 61 72 20 74 65 78 74 20 3d 20  )....var text = 
1470: 72 61 6e 67 65 2e 47 65 74 54 65 78 74 28 29 0d  range.GetText().
1480: 0a 09 09 09 6c 6f 67 67 65 72 2e 64 65 62 75 67  ....logger.debug
1490: 28 27 d0 a2 d0 b5 d0 ba d1 81 d1 82 20 d1 84 d1  ('.......... ...
14a0: 83 d0 bd d0 ba d1 86 d0 b8 d0 b8 20 27 2b 54 45  ........... '+TE
14b0: 53 54 5f 43 41 53 45 5f 44 45 53 43 5f 46 55 4e  ST_CASE_DESC_FUN
14c0: 43 5f 4e 41 4d 45 20 2b 20 27 5c 6e 27 2b 74 65  C_NAME + '\n'+te
14d0: 78 74 29 0d 0a 09 09 0d 0a 09 09 66 6f 72 28 69  xt)........for(i
14e0: 3d 30 3b 20 69 20 3c 20 70 72 6f 63 4e 61 6d 65  =0; i < procName
14f0: 73 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 7b  s.length; i++) {
1500: 0d 0a 09 09 09 76 61 72 20 72 65 54 65 73 74 43  .....var reTestC
1510: 61 73 65 44 65 73 63 20 3d 20 6e 65 77 20 52 65  aseDesc = new Re
1520: 67 45 78 70 28 20 27 5e 5c 5c 73 2a 27 2b 61 72  gExp( '^\\s*'+ar
1530: 72 61 79 4e 61 6d 65 2b 27 5c 5c 2e d0 94 d0 be  rayName+'\\.....
1540: d0 b1 d0 b0 d0 b2 d0 b8 d1 82 d1 8c 5c 5c 28 5c  ............\\(\
1550: 5c 73 2a 22 27 2b 70 72 6f 63 4e 61 6d 65 73 5b  \s*"'+procNames[
1560: 69 5d 2b 27 22 5c 5c 73 2a 5c 5c 29 5c 5c 73 2a  i]+'"\\s*\\)\\s*
1570: 3b 5c 5c 73 2a 24 27 2c 20 22 69 67 6d 22 29 3b  ;\\s*$', "igm");
1580: 0d 0a 09 09 09 09 6c 6f 67 67 65 72 2e 64 65 62  ......logger.deb
1590: 75 67 28 27 d0 a0 d0 b5 d0 b3 d1 83 d0 bb d1 8f  ug('............
15a0: d1 80 d0 bd d0 be d0 b5 20 d0 b2 d1 8b d1 80 d0  ........ .......
15b0: b0 d0 b6 d0 b5 d0 bd d0 b8 d0 b5 20 d1 88 d0 b0  ........... ....
15c0: d0 b1 d0 bb d0 be d0 bd d0 b0 20 d0 b7 d0 b0 d0  .......... .....
15d0: bc d0 b5 d0 bd d1 8b 20 27 2b 72 65 54 65 73 74  ....... '+reTest
15e0: 43 61 73 65 44 65 73 63 2e 73 6f 75 72 63 65 29  CaseDesc.source)
15f0: 0d 0a 09 09 09 74 65 78 74 20 3d 20 74 65 78 74  .....text = text
1600: 2e 72 65 70 6c 61 63 65 28 72 65 54 65 73 74 43  .replace(reTestC
1610: 61 73 65 44 65 73 63 2c 22 22 29 3b 0d 0a 09 09  aseDesc,"");....
1620: 7d 0d 0a 09 09 09 6c 6f 67 67 65 72 2e 64 65 62  }.....logger.deb
1630: 75 67 28 27 d0 9d d0 be d0 b2 d1 8b d0 b9 20 d1  ug('.......... .
1640: 82 d0 b5 d0 ba d1 81 d1 82 20 d1 84 d1 83 d0 bd  ......... ......
1650: d0 ba d1 86 d0 b8 d0 b8 20 27 2b 54 45 53 54 5f  ........ '+TEST_
1660: 43 41 53 45 5f 44 45 53 43 5f 46 55 4e 43 5f 4e  CASE_DESC_FUNC_N
1670: 41 4d 45 20 2b 20 27 5c 6e 27 2b 74 65 78 74 29  AME + '\n'+text)
1680: 0d 0a 09 09 72 61 6e 67 65 2e 53 65 74 54 65 78  ....range.SetTex
1690: 74 28 74 65 78 74 29 0d 0a 09 7d 2c 0d 0a 0d 0a  t(text)...},....
16a0: 09 69 6e 73 65 72 74 54 65 73 74 43 61 73 65 44  .insertTestCaseD
16b0: 65 73 63 49 6e 74 6f 54 65 78 74 20 3a 20 66 75  escIntoText : fu
16c0: 6e 63 74 69 6f 6e 20 28 74 65 78 74 57 69 6e 64  nction (textWind
16d0: 6f 77 2c 20 6c 69 6e 65 2c 20 70 72 6f 63 4e 61  ow, line, procNa
16e0: 6d 65 73 2c 20 61 72 72 61 79 4e 61 6d 65 29 7b  mes, arrayName){
16f0: 0d 0a 09 09 6c 6f 67 67 65 72 2e 64 65 62 75 67  ....logger.debug
1700: 28 27 61 72 72 61 79 4e 61 6d 65 20 3c 27 20 2b  ('arrayName <' +
1710: 20 61 72 72 61 79 4e 61 6d 65 2b 27 3e 27 29 0d   arrayName+'>').
1720: 0a 09 09 61 72 72 61 79 20 3d 20 6e 65 77 20 41  ...array = new A
1730: 72 72 61 79 28 70 72 6f 63 4e 61 6d 65 73 2e 6c  rray(procNames.l
1740: 65 6e 67 74 68 29 3b 0d 0a 09 09 66 6f 72 28 69  ength);....for(i
1750: 3d 30 3b 20 69 20 3c 20 70 72 6f 63 4e 61 6d 65  =0; i < procName
1760: 73 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 7b  s.length; i++) {
1770: 0d 0a 09 09 09 73 74 72 20 3d 20 27 5c 74 27 2b  .....str = '\t'+
1780: 61 72 72 61 79 4e 61 6d 65 2b 27 2e d0 94 d0 be  arrayName+'.....
1790: d0 b1 d0 b0 d0 b2 d0 b8 d1 82 d1 8c 28 22 27 2b  ............("'+
17a0: 70 72 6f 63 4e 61 6d 65 73 5b 69 5d 2b 27 22 29  procNames[i]+'")
17b0: 3b 27 3b 0d 0a 09 09 09 61 72 72 61 79 5b 69 5d  ;';.....array[i]
17c0: 20 3d 20 73 74 72 3b 0d 0a 09 09 09 09 6c 6f 67   = str;......log
17d0: 67 65 72 2e 64 65 62 75 67 28 27 d0 92 d1 81 d1  ger.debug('.....
17e0: 82 d0 b0 d0 b2 d0 bb d1 8f d1 8e 20 d1 81 d1 82  ........... ....
17f0: d1 80 d0 be d0 ba d1 83 20 2d 20 27 20 2b 20 73  ........ - ' + s
1800: 74 72 29 0d 0a 09 09 7d 0d 0a 09 09 61 72 72 61  tr)....}....arra
1810: 79 5b 70 72 6f 63 4e 61 6d 65 73 2e 6c 65 6e 67  y[procNames.leng
1820: 74 68 5d 20 3d 20 22 22 3b 0d 0a 09 09 74 68 69  th] = "";....thi
1830: 73 2e 74 65 78 74 57 69 6e 64 6f 77 2e 49 6e 73  s.textWindow.Ins
1840: 65 72 74 4c 69 6e 65 28 6c 69 6e 65 2c 20 53 74  ertLine(line, St
1850: 72 69 6e 67 55 74 69 6c 73 2e 66 72 6f 6d 4c 69  ringUtils.fromLi
1860: 6e 65 73 28 61 72 72 61 79 29 29 3b 0d 0a 09 7d  nes(array));...}
1870: 2c 0d 0a 0d 0a 09 67 65 74 4c 69 6e 65 46 6f 72  ,.....getLineFor
1880: 49 6e 73 65 72 74 54 65 73 74 43 61 73 65 44 65  InsertTestCaseDe
1890: 73 63 72 69 70 74 69 6f 6e 73 20 3a 20 66 75 6e  scriptions : fun
18a0: 63 74 69 6f 6e 20 28 70 61 72 73 65 72 2c 20 69  ction (parser, i
18b0: 6e 64 65 78 54 65 73 74 43 61 73 65 44 65 73 63  ndexTestCaseDesc
18c0: 46 75 6e 63 29 7b 0d 0a 09 09 76 61 72 20 72 65  Func){....var re
18d0: 73 45 6e 64 4c 69 6e 65 20 3d 20 2d 31 3b 0d 0a  sEndLine = -1;..
18e0: 09 09 76 61 72 20 72 65 73 41 72 72 61 79 4e 61  ..var resArrayNa
18f0: 6d 65 20 3d 20 27 27 0d 0a 09 09 76 61 72 20 72  me = ''....var r
1900: 65 73 42 65 67 69 6e 4c 69 6e 65 20 3d 20 2d 31  esBeginLine = -1
1910: 0d 0a 09 09 76 61 72 20 72 65 74 20 3d 20 7b 20  ....var ret = { 
1920: 42 65 67 69 6e 4c 69 6e 65 3a 20 2d 31 2c 20 45  BeginLine: -1, E
1930: 6e 64 4c 69 6e 65 3a 20 2d 31 2c 20 41 72 72 61  ndLine: -1, Arra
1940: 79 4e 61 6d 65 3a 20 27 27 20 7d 3b 0d 0a 09 09  yName: '' };....
1950: 0d 0a 09 09 73 74 72 46 6f 72 53 74 72 65 61 6d  ....strForStream
1960: 20 3d 20 74 68 69 73 2e 61 64 64 53 74 72 69 6e   = this.addStrin
1970: 67 54 6f 54 68 65 4c 65 66 74 28 69 6e 64 65 78  gToTheLeft(index
1980: 54 65 73 74 43 61 73 65 44 65 73 63 46 75 6e 63  TestCaseDescFunc
1990: 2c 20 22 30 22 2c 20 36 2d 28 22 22 2b 69 6e 64  , "0", 6-(""+ind
19a0: 65 78 54 65 73 74 43 61 73 65 44 65 73 63 46 75  exTestCaseDescFu
19b0: 6e 63 29 2e 6c 65 6e 67 74 68 29 0d 0a 0d 0a 09  nc).length).....
19c0: 09 09 2f 2f 20 d0 b8 d1 89 d1 83 20 d0 a4 d1 83  ..// ...... ....
19d0: d0 bd d0 ba d1 86 d0 b8 d1 8f 20 d0 9f d0 be d0  .......... .....
19e0: bb d1 83 d1 87 d0 b8 d1 82 d1 8c d0 a1 d0 bf d0  ................
19f0: b8 d1 81 d0 be d0 ba d0 a2 d0 b5 d1 81 d1 82 d0  ................
1a00: be d0 b2 28 d1 8e d0 a2 d0 b5 d1 81 d1 82 d0 b8  ...(............
1a10: d1 80 d0 be d0 b2 d0 b0 d0 bd d0 b8 d0 b5 29 20  ..............) 
1a20: d0 ad d0 ba d1 81 d0 bf d0 be d1 80 d1 82 20 2e  .............. .
1a30: 2e 2e 20 d0 92 d1 81 d0 b5 d0 a2 d0 b5 d1 81 d1  .. .............
1a40: 82 d1 8b 20 3d 20 d0 9d d0 be d0 b2 d1 8b d0 b9  ... = ..........
1a50: 20 d0 9c d0 b0 d1 81 d1 81 d0 b8 d0 b2 3b 20 2e   ............; .
1a60: 2e 2e 20 d0 92 d0 be d0 b7 d0 b2 d1 80 d0 b0 d1  .. .............
1a70: 82 20 d0 92 d1 81 d0 b5 d0 a2 d0 b5 d1 81 d1 82  . ..............
1a80: d1 8b 3b 20 2e 2e 2e 0d 0a 09 09 76 61 72 20 72  ..; .......var r
1a90: 65 54 65 73 74 43 61 73 65 44 65 73 63 72 69 70  eTestCaseDescrip
1aa0: 74 69 6f 6e 73 46 75 6e 63 42 6f 64 79 20 3d 20  tionsFuncBody = 
1ab0: 6e 65 77 20 52 65 67 45 78 70 28 27 46 75 4e 6d  new RegExp('FuNm
1ac0: 28 27 2b 73 74 72 46 6f 72 53 74 72 65 61 6d 2b  ('+strForStream+
1ad0: 27 29 4c 70 4e 6d 28 5c 5c 64 7b 36 7d 29 52 70  ')LpNm(\\d{6})Rp
1ae0: 45 78 2e 2a 3f 28 4e 6d 28 5c 5c 64 7b 36 7d 29  Ex.*?(Nm(\\d{6})
1af0: 45 71 4e 77 4e 6d 28 5c 5c 64 7b 36 7d 29 29 2e  EqNwNm(\\d{6})).
1b00: 2a 3f 52 65 4e 6d 28 5c 5c 64 7b 36 7d 29 27 2c  *?ReNm(\\d{6})',
1b10: 20 22 67 22 29 3b 0d 0a 09 09 0d 0a 09 09 6c 65   "g");........le
1b20: 78 65 6d 73 41 72 72 61 79 20 3d 20 72 65 54 65  xemsArray = reTe
1b30: 73 74 43 61 73 65 44 65 73 63 72 69 70 74 69 6f  stCaseDescriptio
1b40: 6e 73 46 75 6e 63 42 6f 64 79 2e 65 78 65 63 28  nsFuncBody.exec(
1b50: 70 61 72 73 65 72 2e 72 65 53 74 72 65 61 6d 29  parser.reStream)
1b60: 0d 0a 09 09 76 61 72 20 66 69 6e 64 52 69 67 68  ....var findRigh
1b70: 74 42 6f 64 79 20 3d 20 6c 65 78 65 6d 73 41 72  tBody = lexemsAr
1b80: 72 61 79 20 26 26 20 6c 65 78 65 6d 73 41 72 72  ray && lexemsArr
1b90: 61 79 2e 6c 65 6e 67 74 68 20 3e 3d 20 36 0d 0a  ay.length >= 6..
1ba0: 09 09 69 66 28 66 69 6e 64 52 69 67 68 74 42 6f  ..if(findRightBo
1bb0: 64 79 29 0d 0a 09 20 20 20 20 7b 0d 0a 09 20 20  dy)...    {...  
1bc0: 20 09 09 09 6c 6f 67 67 65 72 2e 64 65 62 75 67   ...logger.debug
1bd0: 28 54 45 53 54 5f 43 41 53 45 5f 44 45 53 43 5f  (TEST_CASE_DESC_
1be0: 46 55 4e 43 5f 4e 41 4d 45 20 2b 20 27 20 28 d0  FUNC_NAME + ' (.
1bf0: ba d0 be d0 bd d0 b5 d1 86 29 20 6c 65 78 65 6d  .........) lexem
1c00: 73 41 72 72 61 79 2e 69 6e 64 65 78 20 27 20 2b  sArray.index ' +
1c10: 20 6c 65 78 65 6d 73 41 72 72 61 79 2e 69 6e 64   lexemsArray.ind
1c20: 65 78 20 2b 20 27 20 6c 65 78 65 6d 73 41 72 72  ex + ' lexemsArr
1c30: 61 79 2e 6c 61 73 74 49 6e 64 65 78 20 27 20 2b  ay.lastIndex ' +
1c40: 20 6c 65 78 65 6d 73 41 72 72 61 79 2e 6c 61 73   lexemsArray.las
1c50: 74 49 6e 64 65 78 20 29 0d 0a 09 09 09 0d 0a 09  tIndex )........
1c60: 09 09 76 61 72 20 74 65 73 74 43 61 73 65 41 72  ..var testCaseAr
1c70: 72 61 79 4e 61 6d 65 20 3d 20 70 61 72 73 65 72  rayName = parser
1c80: 2e 6e 61 6d 65 28 6c 65 78 65 6d 73 41 72 72 61  .name(lexemsArra
1c90: 79 5b 34 5d 29 20 2f 2f d0 92 d1 81 d0 b5 d0 a2  y[4]) //........
1ca0: d0 b5 d1 81 d1 82 d1 8b 20 d0 b8 d0 b7 20 d1 81  ........ .... ..
1cb0: d1 82 d1 80 d0 be d0 ba d0 b8 20 22 d0 92 d1 81  .......... "....
1cc0: d0 b5 d0 a2 d0 b5 d1 81 d1 82 d1 8b 20 3d 20 d0  ............ = .
1cd0: 9d d0 be d0 b2 d1 8b d0 b9 20 d0 9c d0 b0 d1 81  ......... ......
1ce0: d1 81 d0 b8 d0 b2 22 0d 0a 09 09 09 76 61 72 20  ......".....var 
1cf0: 61 72 72 61 79 4b 65 79 77 6f 72 64 4e 61 6d 65  arrayKeywordName
1d00: 20 3d 20 70 61 72 73 65 72 2e 6e 61 6d 65 28 6c   = parser.name(l
1d10: 65 78 65 6d 73 41 72 72 61 79 5b 35 5d 29 20 2f  exemsArray[5]) /
1d20: 2f 20 d0 9c d0 b0 d1 81 d1 81 d0 b8 d0 b2 20 d0  / ............ .
1d30: b8 d0 b7 20 d1 8d d1 82 d0 be d0 b9 20 d0 b6 d0  ... ........ ...
1d40: b5 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 b8 0d 0a  . ..............
1d50: 09 09 09 76 61 72 20 72 65 74 75 72 6e 56 61 6c  ...var returnVal
1d60: 75 65 4e 61 6d 65 20 3d 20 70 61 72 73 65 72 2e  ueName = parser.
1d70: 6e 61 6d 65 28 6c 65 78 65 6d 73 41 72 72 61 79  name(lexemsArray
1d80: 5b 36 5d 29 20 2f 2f 20 d0 92 d0 be d0 b7 d0 b2  [6]) // ........
1d90: d1 80 d0 b0 d1 82 20 d0 92 d1 81 d0 b5 d0 a2 d0  ...... .........
1da0: b5 d1 81 d1 82 d1 8b 0d 0a 09 09 09 09 6c 6f 67  .............log
1db0: 67 65 72 2e 64 65 62 75 67 28 27 d0 9d d0 b0 d0  ger.debug('.....
1dc0: b8 d0 bc d0 b5 d0 bd d0 be d0 b2 d0 b0 d0 bd d0  ................
1dd0: b8 d0 b5 20 d0 bc d0 b0 d1 81 d1 81 d0 b8 d0 b2  ... ............
1de0: d0 b0 20 d0 b8 d0 bc d0 b5 d0 bd 20 d1 82 d0 b5  .. ........ ....
1df0: d1 81 d1 82 d0 be d0 b2 d1 8b d1 85 20 d1 81 d0  ............ ...
1e00: bb d1 83 d1 87 d0 b0 d0 b5 d0 b2 20 22 27 20 2b  ........... "' +
1e10: 20 74 65 73 74 43 61 73 65 41 72 72 61 79 4e 61   testCaseArrayNa
1e20: 6d 65 2b 27 22 27 29 0d 0a 09 09 09 09 0d 0a 09  me+'"').........
1e30: 09 09 66 69 6e 64 52 69 67 68 74 42 6f 64 79 20  ..findRightBody 
1e40: 3d 20 2f d0 bc d0 b0 d1 81 d1 81 d0 b8 d0 b2 2f  = /............/
1e50: 69 2e 74 65 73 74 28 61 72 72 61 79 4b 65 79 77  i.test(arrayKeyw
1e60: 6f 72 64 4e 61 6d 65 29 20 26 26 20 74 65 73 74  ordName) && test
1e70: 43 61 73 65 41 72 72 61 79 4e 61 6d 65 2e 74 6f  CaseArrayName.to
1e80: 4c 6f 77 65 72 43 61 73 65 28 29 20 3d 3d 20 72  LowerCase() == r
1e90: 65 74 75 72 6e 56 61 6c 75 65 4e 61 6d 65 2e 74  eturnValueName.t
1ea0: 6f 4c 6f 77 65 72 43 61 73 65 28 29 0d 0a 09 09  oLowerCase()....
1eb0: 09 69 66 20 28 66 69 6e 64 52 69 67 68 74 42 6f  .if (findRightBo
1ec0: 64 79 29 20 7b 0d 0a 09 09 09 09 0d 0a 09 09 20  dy) {.......... 
1ed0: 20 20 20 20 20 20 20 76 61 72 20 6c 65 78 20 3d         var lex =
1ee0: 20 70 61 72 73 65 72 2e 6c 65 78 65 6d 28 70 61   parser.lexem(pa
1ef0: 72 73 65 72 2e 70 6f 73 54 6f 4c 65 78 65 6d 28  rser.posToLexem(
1f00: 6c 65 78 65 6d 73 41 72 72 61 79 2e 69 6e 64 65  lexemsArray.inde
1f10: 78 29 29 0d 0a 09 09 09 20 20 20 20 20 20 20 09  x)).....       .
1f20: 6c 6f 67 67 65 72 2e 64 65 62 75 67 28 27 d0 9f  logger.debug('..
1f30: d0 be d0 bb d1 83 d1 87 d0 b8 d0 bb d0 b8 20 d0  .............. .
1f40: b4 d0 b0 d0 bd d0 bd d1 8b d0 b5 20 d0 bf d0 be  ........... ....
1f50: 20 d0 bd d0 b0 d1 87 d0 b0 d0 bb d1 83 20 d1 84   ............ ..
1f60: d1 83 d0 bd d0 ba d1 86 d0 b8 d0 b8 20 22 27 2b  ............ "'+
1f70: 54 45 53 54 5f 43 41 53 45 5f 44 45 53 43 5f 46  TEST_CASE_DESC_F
1f80: 55 4e 43 5f 4e 41 4d 45 2b 27 3b 22 20 2c 20 d1  UNC_NAME+';" , .
1f90: 81 d1 82 d1 80 d0 be d0 ba d0 b0 20 27 20 2b 20  ........... ' + 
1fa0: 6c 65 78 2e 6c 69 6e 65 29 0d 0a 09 09 09 09 72  lex.line)......r
1fb0: 65 73 42 65 67 69 6e 4c 69 6e 65 20 3d 20 6c 65  esBeginLine = le
1fc0: 78 2e 6c 69 6e 65 0d 0a 09 09 09 09 09 0d 0a 09  x.line..........
1fd0: 09 20 20 20 20 20 20 20 20 76 61 72 20 6c 65 78  .        var lex
1fe0: 20 3d 20 70 61 72 73 65 72 2e 6c 65 78 65 6d 28   = parser.lexem(
1ff0: 70 61 72 73 65 72 2e 70 6f 73 54 6f 4c 65 78 65  parser.posToLexe
2000: 6d 28 6c 65 78 65 6d 73 41 72 72 61 79 2e 6c 61  m(lexemsArray.la
2010: 73 74 49 6e 64 65 78 29 29 0d 0a 09 09 09 20 20  stIndex)).....  
2020: 20 20 20 20 20 09 6c 6f 67 67 65 72 2e 64 65 62       .logger.deb
2030: 75 67 28 27 d0 9f d0 be d0 bb d1 83 d1 87 d0 b8  ug('............
2040: d0 bb d0 b8 20 d0 b4 d0 b0 d0 bd d0 bd d1 8b d0  .... ...........
2050: b5 20 d0 bf d0 be 20 d1 81 d1 82 d1 80 d0 be d0  . .... .........
2060: ba d0 b5 20 22 d0 92 d0 be d0 b7 d0 b2 d1 80 d0  ... "...........
2070: b0 d1 82 20 27 2b 74 65 73 74 43 61 73 65 41 72  ... '+testCaseAr
2080: 72 61 79 4e 61 6d 65 2b 27 3b 22 20 2c 20 d1 81  rayName+';" , ..
2090: d1 82 d1 80 d0 be d0 ba d0 b0 20 27 20 2b 20 6c  .......... ' + l
20a0: 65 78 2e 6c 69 6e 65 29 0d 0a 09 09 09 09 09 0d  ex.line)........
20b0: 0a 09 09 09 09 72 65 74 20 3d 20 7b 20 42 65 67  .....ret = { Beg
20c0: 69 6e 4c 69 6e 65 3a 20 72 65 73 42 65 67 69 6e  inLine: resBegin
20d0: 4c 69 6e 65 2c 20 45 6e 64 4c 69 6e 65 3a 20 6c  Line, EndLine: l
20e0: 65 78 2e 6c 69 6e 65 2c 20 41 72 72 61 79 4e 61  ex.line, ArrayNa
20f0: 6d 65 3a 20 74 65 73 74 43 61 73 65 41 72 72 61  me: testCaseArra
2100: 79 4e 61 6d 65 20 7d 0d 0a 09 09 09 7d 0d 0a 09  yName }.....}...
2110: 09 09 65 6c 73 65 20 7b 0d 0a 09 09 09 09 6c 6f  ..else {......lo
2120: 67 67 65 72 2e 65 72 72 6f 72 28 27 d0 94 d0 be  gger.error('....
2130: d0 bb d0 b6 d0 bd d0 b0 20 d0 b1 d1 8b d1 82 d1  ........ .......
2140: 8c 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 b0 20 22  . ............ "
2150: d0 9c d0 b0 d1 81 d1 81 d0 b8 d0 b2 22 2e 20 d0  ............". .
2160: 90 20 d0 bf d0 be d0 bb d1 83 d1 87 d0 b8 d0 bb  . ..............
2170: d0 b8 20 22 27 20 2b 20 61 72 72 61 79 4b 65 79  .. "' + arrayKey
2180: 77 6f 72 64 4e 61 6d 65 2b 27 22 27 29 0d 0a 09  wordName+'"')...
2190: 09 09 09 6c 6f 67 67 65 72 2e 65 72 72 6f 72 28  ...logger.error(
21a0: 27 d0 94 d0 be d0 bb d0 b6 d0 bd d0 b0 20 d0 b1  '............ ..
21b0: d1 8b d1 82 d1 8c 20 d1 81 d1 82 d1 80 d0 be d0  ...... .........
21c0: ba d0 b0 20 22 27 2b 74 65 73 74 43 61 73 65 41  ... "'+testCaseA
21d0: 72 72 61 79 4e 61 6d 65 2b 27 22 2e 20 d0 90 20  rrayName+'". .. 
21e0: d0 bf d0 be d0 bb d1 83 d1 87 d0 b8 d0 bb d0 b8  ................
21f0: 20 22 27 20 2b 20 72 65 74 75 72 6e 56 61 6c 75   "' + returnValu
2200: 65 4e 61 6d 65 2b 27 22 27 29 0d 0a 09 09 09 7d  eName+'"').....}
2210: 0d 0a 09 20 20 20 20 7d 0d 0a 09 09 65 6c 73 65  ...    }....else
2220: 20 7b 0d 0a 09 09 09 6c 6f 67 67 65 72 2e 65 72   {.....logger.er
2230: 72 6f 72 28 27 d0 9d d0 b5 20 d0 bd d0 b0 d1 88  ror('.... ......
2240: d0 bb d0 b8 20 d1 84 d1 83 d0 bd d0 ba d1 86 d0  .... ...........
2250: b8 d1 8e 20 27 2b 54 45 53 54 5f 43 41 53 45 5f  ... '+TEST_CASE_
2260: 44 45 53 43 5f 46 55 4e 43 5f 4e 41 4d 45 2b 27  DESC_FUNC_NAME+'
2270: 20 d1 81 20 d0 bd d0 b5 d0 be d0 b1 d1 85 d0 be   .. ............
2280: d0 b4 d0 b8 d0 bc d0 be d0 b9 20 d1 81 d1 82 d1  .......... .....
2290: 80 d1 83 d0 ba d1 82 d1 83 d1 80 d0 be d0 b9 27  ...............'
22a0: 29 3b 0d 0a 09 09 09 69 66 28 6c 65 78 65 6d 73  );.....if(lexems
22b0: 41 72 72 61 79 29 0d 0a 09 09 09 09 6c 6f 67 67  Array)......logg
22c0: 65 72 2e 65 72 72 6f 72 28 27 d0 9a d0 be d0 bb  er.error('......
22d0: d0 b8 d1 87 d0 b5 d1 81 d1 82 d0 b2 d0 be 20 d1  .............. .
22e0: 8d d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82 d0 be d0  ................
22f0: b2 20 d0 b2 20 d0 bc d0 b0 d1 81 d1 81 d0 b8 d0  . .. ...........
2300: b2 d0 b5 20 d1 80 d0 b0 d0 b7 d0 b1 d0 be d1 80  ... ............
2310: d0 b0 20 d0 bb d0 b5 d0 ba d1 81 d0 b5 d0 bc 20  .. ............ 
2320: 28 6c 65 78 65 6d 73 41 72 72 61 79 2e 6c 65 6e  (lexemsArray.len
2330: 67 74 68 29 20 d0 b4 d0 be d0 bb d0 b6 d0 bd d0  gth) ...........
2340: be 20 d0 b1 d1 8b d1 82 d1 8c 20 d0 b1 d0 be d0  . ........ .....
2350: bb d1 8c d1 88 d0 b5 20 d0 b8 d0 bb d0 b8 20 d1  ....... ...... .
2360: 80 d0 b0 d0 b2 d0 bd d0 be 20 36 2c 20 d0 b0 20  ......... 6, .. 
2370: d0 bf d0 be d0 bb d1 83 d1 87 d0 b8 d0 bb d0 b8  ................
2380: 20 22 27 20 2b 20 6c 65 78 65 6d 73 41 72 72 61   "' + lexemsArra
2390: 79 2e 6c 65 6e 67 74 68 2b 27 22 27 29 0d 0a 09  y.length+'"')...
23a0: 09 7d 0d 0a 09 09 72 65 74 75 72 6e 20 72 65 74  .}....return ret
23b0: 3b 0d 0a 09 7d 2c 0d 0a 0d 0a 09 67 65 74 54 65  ;...},.....getTe
23c0: 73 74 43 61 73 65 73 20 3a 20 66 75 6e 63 74 69  stCases : functi
23d0: 6f 6e 20 28 29 7b 0d 0a 09 09 76 61 72 20 70 61  on (){....var pa
23e0: 72 73 65 72 20 3d 20 74 68 69 73 2e 70 61 72 73  rser = this.pars
23f0: 65 72 3b 0d 0a 09 09 76 61 72 20 72 65 73 20 3d  er;....var res =
2400: 20 6e 65 77 20 41 72 72 61 79 28 29 3b 0d 0a 09   new Array();...
2410: 20 20 20 20 76 61 72 20 72 65 53 74 72 65 61 6d      var reStream
2420: 20 3d 20 70 61 72 73 65 72 2e 72 65 53 74 72 65   = parser.reStre
2430: 61 6d 0d 0a 09 20 20 20 20 76 61 72 20 72 65 50  am...    var reP
2440: 75 62 6c 69 63 50 72 6f 63 65 64 75 72 65 57 69  ublicProcedureWi
2450: 74 68 6f 75 74 50 61 72 61 6d 73 20 3d 20 2f 28  thoutParams = /(
2460: 50 63 29 4e 6d 5c 64 7b 36 7d 4c 70 52 70 45 78  Pc)Nm\d{6}LpRpEx
2470: 2f 67 0d 0a 09 20 20 20 20 76 61 72 20 72 65 54  /g...    var reT
2480: 65 73 74 43 61 73 65 4e 61 6d 65 20 3d 20 2f 5e  estCaseName = /^
2490: d1 82 d0 b5 d1 81 d1 82 2f 69 0d 0a 0d 0a 09 20  ......../i..... 
24a0: 20 20 20 77 68 69 6c 65 28 72 65 50 75 62 6c 69     while(rePubli
24b0: 63 50 72 6f 63 65 64 75 72 65 57 69 74 68 6f 75  cProcedureWithou
24c0: 74 50 61 72 61 6d 73 2e 65 78 65 63 28 72 65 53  tParams.exec(reS
24d0: 74 72 65 61 6d 29 29 0d 0a 09 20 20 20 20 7b 0d  tream))...    {.
24e0: 0a 09 20 20 20 20 20 20 20 20 76 61 72 20 6c 65  ..        var le
24f0: 78 20 3d 20 70 61 72 73 65 72 2e 6c 65 78 65 6d  x = parser.lexem
2500: 28 70 61 72 73 65 72 2e 70 6f 73 54 6f 4c 65 78  (parser.posToLex
2510: 65 6d 28 52 65 67 45 78 70 2e 69 6e 64 65 78 20  em(RegExp.index 
2520: 2b 20 32 29 29 0d 0a 09 20 20 20 20 20 20 20 09  + 2))...       .
2530: 6c 6f 67 67 65 72 2e 64 65 62 75 67 28 27 d0 bf  logger.debug('..
2540: d1 80 d0 be d0 b2 d0 b5 d1 80 d1 8f d1 8e 20 d0  .............. .
2550: bf d1 80 d0 be d1 86 d0 b5 d0 b4 d1 83 d1 80 d1  ................
2560: 83 20 27 20 2b 20 6c 65 78 2e 74 65 78 74 20 2b  . ' + lex.text +
2570: 20 22 2c 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 b0   ", ............
2580: 20 22 20 2b 20 6c 65 78 2e 6c 69 6e 65 29 0d 0a   " + lex.line)..
2590: 09 20 20 20 20 20 20 20 20 69 66 20 28 72 65 54  .        if (reT
25a0: 65 73 74 43 61 73 65 4e 61 6d 65 2e 65 78 65 63  estCaseName.exec
25b0: 28 6c 65 78 2e 74 65 78 74 29 29 7b 0d 0a 09 20  (lex.text)){... 
25c0: 20 20 20 20 20 20 20 09 6c 6f 67 67 65 72 2e 64         .logger.d
25d0: 65 62 75 67 28 27 5c 74 d0 bd d0 b0 d1 88 d0 bb  ebug('\t........
25e0: d0 b8 20 d1 82 d0 b5 d1 81 d1 82 d0 be d0 b2 d1  .. .............
25f0: 8b d0 b9 20 d1 81 d0 bb d1 83 d1 87 d0 b0 d0 b9  ... ............
2600: 20 27 20 2b 20 6c 65 78 2e 74 65 78 74 20 2b 20   ' + lex.text + 
2610: 22 2c 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 b0 20  ", ............ 
2620: 22 20 2b 20 6c 65 78 2e 6c 69 6e 65 29 0d 0a 09  " + lex.line)...
2630: 20 20 20 20 20 20 20 20 09 72 65 73 2e 70 75 73          .res.pus
2640: 68 28 20 6c 65 78 2e 74 65 78 74 20 29 0d 0a 09  h( lex.text )...
2650: 20 20 20 20 20 20 20 20 7d 0d 0a 09 20 20 20 20          }...    
2660: 7d 0d 0a 09 20 09 09 6c 6f 67 67 65 72 2e 64 65  }... ..logger.de
2670: 62 75 67 28 27 70 72 6f 63 4e 61 6d 65 73 2e 6c  bug('procNames.l
2680: 65 6e 67 74 68 20 27 20 2b 20 72 65 73 2e 6c 65  ength ' + res.le
2690: 6e 67 74 68 29 0d 0a 09 20 20 20 72 65 74 75 72  ngth)...   retur
26a0: 6e 20 72 65 73 2e 6c 65 6e 67 74 68 20 3f 20 72  n res.length ? r
26b0: 65 73 20 3a 20 6e 75 6c 6c 3b 0d 0a 09 7d 2c 0d  es : null;...},.
26c0: 0a 0d 0a 09 61 64 64 53 74 72 69 6e 67 54 6f 54  ....addStringToT
26d0: 68 65 4c 65 66 74 20 3a 20 66 75 6e 63 74 69 6f  heLeft : functio
26e0: 6e 20 28 73 72 63 2c 20 73 74 72 2c 20 63 6f 75  n (src, str, cou
26f0: 6e 74 29 20 7b 0d 0a 09 09 72 65 73 20 3d 20 73  nt) {....res = s
2700: 72 63 3b 0d 0a 09 09 66 6f 72 28 69 3d 30 3b 20  rc;....for(i=0; 
2710: 69 20 3c 20 63 6f 75 6e 74 3b 20 69 2b 2b 29 0d  i < count; i++).
2720: 0a 09 09 09 72 65 73 20 3d 20 73 74 72 20 2b 20  ....res = str + 
2730: 72 65 73 3b 0d 0a 09 09 72 65 74 75 72 6e 20 72  res;....return r
2740: 65 73 3b 0d 0a 09 7d 0d 0a 7d 29 3b 20 2f 2f 20  es;...}..}); // 
2750: 73 74 64 6c 69 62 2e 43 6c 61 73 73 2e 65 78 74  stdlib.Class.ext
2760: 65 6e 64                                         end