test3.ok
上传用户:gddssl
上传日期:2007-01-06
资源大小:1003k
文件大小:7k
源码类别:

编辑器/阅读器

开发平台:

DOS

  1. /* start of AUTO matically checked */
  2. {
  3. if (test)
  4. cmd1;
  5. cmd2;
  6. }
  7. {
  8. if (test)
  9. cmd1;
  10. else
  11. cmd2;
  12. }
  13. {
  14. if (test)
  15. {
  16. cmd1;
  17. cmd2;
  18. }
  19. }
  20. {
  21. if (test)
  22. {
  23. cmd1;
  24. else
  25. }
  26. }
  27. {
  28. while (this)
  29. if (test)
  30. cmd1;
  31. cmd2;
  32. }
  33. {
  34. while (this)
  35. if (test)
  36. cmd1;
  37. else
  38. cmd2;
  39. }
  40. {
  41. if (test)
  42. {
  43. cmd;
  44. }
  45. if (test)
  46. cmd;
  47. }
  48. {
  49. if (test) {
  50. cmd;
  51. }
  52. if (test) cmd;
  53. }
  54. {
  55. cmd1;
  56. for (blah)
  57. while (this)
  58. if (test)
  59. cmd2;
  60. cmd3;
  61. }
  62. {
  63. cmd1;
  64. for (blah)
  65. while (this)
  66. if (test)
  67. cmd2;
  68. cmd3;
  69. if (test)
  70. {
  71. cmd1;
  72. cmd2;
  73. cmd3;
  74. }
  75. }
  76. /* Test for 'cindent' do/while mixed with if/else: */
  77. {
  78. do
  79. if (asdf)
  80. asdfasd;
  81. while (cond);
  82. do
  83. if (asdf)
  84. while (asdf)
  85. asdf;
  86. while (asdf);
  87. }
  88. /* Test for 'cindent' with two ) on a continuation line */
  89. {
  90. if (asdfasdf;asldkfj asdlkfj as;ldkfj sal;d
  91. aal;sdkjf  ( ;asldfkja;sldfk
  92. al;sdjfka ;slkdf ) sa;ldkjfsa dlk;)
  93. line up here;
  94. }
  95. /* C++ tests: */
  96. // foo() these three lines should remain in column 0
  97. // {
  98. // }
  99. /* Test for continuation and unterminated lines: */
  100. {
  101. i = 99 + 14325 +
  102. 21345 +
  103. 21345 +
  104. 21345 + ( 21345 +
  105. 21345) +
  106. 2345 +
  107. 1234;
  108. c = 1;
  109. }
  110. /*
  111.    testje for indent with empty line
  112.    here */
  113. {
  114. if (testing &&
  115. not a joke ||
  116. line up here)
  117. hay;
  118. if (testing &&
  119. (not a joke || testing
  120. )line up here)
  121. hay;
  122. if (testing &&
  123. (not a joke || testing
  124.  line up here))
  125. hay;
  126. }
  127. {
  128. switch (c)
  129. {
  130. case xx:
  131. do
  132. if (asdf)
  133. do
  134. asdfasdf;
  135. while (asdf);
  136. else
  137. asdfasdf;
  138. while (cond);
  139. case yy:
  140. case xx:
  141. case zz:
  142. testing;
  143. }
  144. }
  145. {
  146. if (cond) {
  147. foo;
  148. }
  149. else
  150. {
  151. bar;
  152. }
  153. }
  154. {
  155. if (alskdfj ;alsdkfjal;skdjf (;sadlkfsa ;dlkf j;alksdfj ;alskdjf
  156. alsdkfj (asldk;fj
  157. awith cino=(0 ;lf this one goes to below the paren with ==
  158. ;laksjfd ;lsakdjf ;alskdf asd)
  159. asdfasdf;)))
  160. asdfasdf;
  161. }
  162. int
  163. func(a, b)
  164. int a;
  165. int c;
  166. {
  167. if (c1 && (c2 ||
  168. c3))
  169. foo;
  170. if (c1 &&
  171. (c2 || c3)
  172.    )
  173. }
  174. {
  175. while (asd)
  176. {
  177. if (asdf)
  178. if (test)
  179. if (that)
  180. {
  181. if (asdf)
  182. do
  183. cdasd;
  184. while (as
  185. df);
  186. }
  187. else
  188. if (asdf)
  189. asdf;
  190. else
  191. asdf;
  192. asdf;
  193. }
  194. }
  195. {
  196. s = "/*"; b = ';'
  197. s = "/*"; b = ';';
  198. a = b;
  199. }
  200. {
  201. switch (a)
  202. {
  203. case a:
  204. switch (t)
  205. {
  206. case 1:
  207. cmd;
  208. break;
  209. case 2:
  210. cmd;
  211. break;
  212. }
  213. cmd;
  214. break;
  215. case b:
  216. {
  217. int i;
  218. cmd;
  219. }
  220. break;
  221. case c: {
  222. int i;
  223. cmd;
  224. }
  225. case d: if (cond &&
  226. test) { /* this line doesn't work right */
  227. int i;
  228. cmd;
  229. }
  230. break;
  231. }
  232. }
  233. {
  234. if (!(vim_strchr(p_cpo, CPO_BUFOPTGLOB) != NULL && entering) &&
  235. (bp_to->b_p_initialized ||
  236.  (!entering && vim_strchr(p_cpo, CPO_BUFOPT) != NULL)))
  237. return;
  238. label :
  239. asdf = asdf ?
  240. asdf : asdf;
  241. asdf = asdf ?
  242. asdf: asdf;
  243. }
  244. /* Special Comments : This function has the added complexity (compared  */
  245. /* : to addtolist) of having to check for a detail     */
  246. /* : texture and add that to the list first.       */
  247. char *(array[100]) = {
  248. "testje",
  249. "foo",
  250. "bar",
  251. }
  252. {
  253. struct Type
  254. {
  255. int i;
  256. char *str;
  257. } var[] =
  258. {
  259. 0, "zero",
  260. 1, "one",
  261. 2, "two",
  262. 3, "three"
  263. };
  264. float matrix[3][3] =
  265. {
  266. {
  267. 0,
  268. 1,
  269. 2
  270. },
  271. {
  272. 3,
  273. 4,
  274. 5
  275. },
  276. {
  277. 6,
  278. 7,
  279. 8
  280. }
  281. };
  282. }
  283. {
  284. /* blah ( blah */
  285. /* where does this go? */
  286. /* blah ( blah */
  287. cmd;
  288. func(arg1,
  289. /* comment */
  290. arg2);
  291. a;
  292. {
  293. b;
  294. {
  295. c; /* Hey, NOW it indents?! */
  296. }
  297. }
  298. {
  299. func(arg1,
  300. arg2,
  301. arg3);
  302. /* Hey, what am I doing here?  Is this coz of the ","? */
  303. }
  304. }
  305. main ()
  306. {
  307. if (cond)
  308. {
  309. a = b;
  310. }
  311. if (cond) {
  312. a = c;
  313. }
  314. if (cond)
  315. a = d;
  316. return;
  317. }
  318. {
  319. case 2: if (asdf &&
  320. asdfasdf)
  321. aasdf;
  322. a = 9;
  323. case 3: if (asdf)
  324. aasdf;
  325. a = 9;
  326. case 4:    x = 1;
  327.    y = 2;
  328. label: if (asdf)
  329. here;
  330. label:  if (asdf &&
  331. asdfasdf)
  332. {
  333. }
  334. label:  if (asdf &&
  335. asdfasdf) {
  336. there;
  337. }
  338. label:  if (asdf &&
  339. asdfasdf)
  340. there;
  341. }
  342. {
  343. /*
  344.    hello with ":set comments= cino=c5"
  345.  */
  346. /*
  347.    hello with ":set comments= cino="
  348.  */
  349. }
  350. {
  351. if (a < b) {
  352. a = a + 1;
  353. } else
  354. a = a + 2;
  355. if (a)
  356. do {
  357. testing;
  358. } while (asdfasdf);
  359. a = b + 1;
  360. asdfasdf
  361. }
  362. class bob
  363. {
  364. int foo() {return 1;}
  365. int bar;
  366. }
  367. main()
  368. {
  369. while(1)
  370. if (foo)
  371. {
  372. bar;
  373. }
  374. else {
  375. asdf;
  376. }
  377. misplacedline;
  378. }
  379. {
  380. if (clipboard.state == SELECT_DONE
  381. && ((row == clipboard.start.lnum
  382. && col >= clipboard.start.col)
  383. || row > clipboard.start.lnum))
  384. }
  385. /* end of AUTO */
  386. STARTTEST
  387. :set tw=0 wm=60 columns=80 noai fo=croq
  388. /serious/e
  389. a about life, the universe, and the rest
  390. ENDTEST
  391. {
  392. /* this is
  393.  * a real serious
  394.  * about life, the
  395.  * universe, and the
  396.  * rest important big
  397.  * comment
  398.  */
  399. /* insert " about life, the universe, and the rest" after "serious" */
  400. }
  401. STARTTEST
  402. :set nocin
  403. /comments
  404. joabout life/happens
  405. jothere/below
  406. oline/this
  407. Ohello
  408. ENDTEST
  409. {
  410. /*
  411.  * Testing for comments, without 'cin' set
  412.  */
  413. about life
  414. /*
  415. * what happens here?
  416. */
  417. there
  418. /*
  419.    the end of the comment, try inserting a line below */
  420. line
  421. /* how about
  422. hello
  423.                 this one */
  424. }
  425. STARTTEST
  426. :set cin
  427. /vec2
  428. ==
  429. ENDTEST
  430. {
  431.     var = this + that + vec[0] * vec[0]
  432.       + vec[1] * vec[1]
  433.   + vec2[2] * vec[2];
  434. }
  435. STARTTEST
  436. :set cin
  437. :set cino=}4
  438. /testing1
  439. k2==/testing2
  440. k2==
  441. ENDTEST
  442. {
  443. asdf asdflkajds f;
  444. if (tes & ting) {
  445. asdf asdf asdf ;
  446. asdfa sdf asdf;
  447. }
  448. testing1;
  449. if (tes & ting)
  450. {
  451. asdf asdf asdf ;
  452. asdfa sdf asdf;
  453. }
  454. testing2;
  455. }
  456. STARTTEST
  457. :set cin
  458. :set cino=(0,)20
  459. /main
  460. =][
  461. ENDTEST
  462. main ( int first_par, /*
  463.    * Comment for
  464.    * first par
  465.    */
  466.    int second_par /*
  467.    * Comment for
  468.    * second par
  469.    */
  470.  )
  471. {
  472. func( first_par, /*
  473.   * Comment for
  474.   * first par
  475.   */
  476.   second_par /*
  477.   * Comment for
  478.   * second par
  479.   */
  480. );
  481. }
  482. STARTTEST
  483. :set cin
  484. :set cino=
  485. ]]=][
  486. ENDTEST
  487. {
  488. do
  489. {
  490. if ()
  491. {
  492. if ()
  493. asdf;
  494. else
  495. asdf;
  496. }
  497. } while ();
  498. cmd; /* this should go under the } */
  499. }
  500. STARTTEST
  501. ]]=][
  502. ENDTEST
  503. void f()
  504. {
  505. if ( k() ) {
  506. l();
  507. } else { /* Start (two words) end */
  508. m();
  509. }
  510. n();
  511. }
  512. STARTTEST
  513. /while
  514. ohere
  515. ENDTEST
  516. a()
  517. {
  518.   do {
  519.     a = a +
  520.       a;
  521.   } while ( a ); /* add text under this line */
  522.   here
  523.     if ( a )
  524.       a;
  525. }
  526. STARTTEST
  527. :1;/ENDTEST/+1,$wq! test.out
  528. ENDTEST