tree: fbb3c9fc6314a4a6569b373c1becaf9e5fa41b20 [path history] [tgz]
  1. README.md
  2. arrow-bare-rest-param.js
  3. arrow-bare-rest-param.out
  4. arrow-formal-parameters.js
  5. arrow-formal-parameters.out
  6. arrow-invalid-rest-2.js
  7. arrow-invalid-rest-2.out
  8. arrow-invalid-rest.js
  9. arrow-invalid-rest.out
  10. arrow-missing.js
  11. arrow-missing.out
  12. arrow-param-after-rest-2.js
  13. arrow-param-after-rest-2.out
  14. arrow-param-after-rest.js
  15. arrow-param-after-rest.out
  16. arrow-strict-eval-bare-parameter.js
  17. arrow-strict-eval-bare-parameter.out
  18. arrow-two-rest-params.js
  19. arrow-two-rest-params.out
  20. asm-assignment-undeclared.js
  21. asm-assignment-undeclared.out
  22. asm-function-mismatch-def.js
  23. asm-function-mismatch-def.out
  24. asm-function-mismatch-use.js
  25. asm-function-mismatch-use.out
  26. asm-function-redefined.js
  27. asm-function-redefined.out
  28. asm-function-undefined.js
  29. asm-function-undefined.out
  30. asm-function-variable-collision.js
  31. asm-function-variable-collision.out
  32. asm-import-wrong-annotation.js
  33. asm-import-wrong-annotation.out
  34. asm-import-wrong-object.js
  35. asm-import-wrong-object.out
  36. asm-linking-bogus-heap.js
  37. asm-linking-bogus-heap.out
  38. asm-linking-bogus-stdlib.js
  39. asm-linking-bogus-stdlib.out
  40. asm-linking-missing-heap.js
  41. asm-linking-missing-heap.out
  42. asm-missing-parameter-annotation.js
  43. asm-missing-parameter-annotation.out
  44. asm-missing-return-annotation.js
  45. asm-missing-return-annotation.out
  46. asm-table-mismatch-def.js
  47. asm-table-mismatch-def.out
  48. asm-table-mismatch-use.js
  49. asm-table-mismatch-use.out
  50. asm-table-redefined.js
  51. asm-table-redefined.out
  52. asm-table-undefined.js
  53. asm-table-undefined.out
  54. asm-table-variable-collision.js
  55. asm-table-variable-collision.out
  56. async-arrow-invalid-rest-2.js
  57. async-arrow-invalid-rest-2.out
  58. async-arrow-invalid-rest.js
  59. async-arrow-invalid-rest.out
  60. async-arrow-param-after-rest.js
  61. async-arrow-param-after-rest.out
  62. call-non-constructable.js
  63. call-non-constructable.out
  64. call-primitive-constructor.js
  65. call-primitive-constructor.out
  66. call-primitive-function.js
  67. call-primitive-function.out
  68. call-undeclared-function.js
  69. call-undeclared-function.out
  70. class-constructor-accessor.js
  71. class-constructor-accessor.out
  72. class-constructor-generator.js
  73. class-constructor-generator.out
  74. class-spread-property.js
  75. class-spread-property.out
  76. console.js
  77. console.out
  78. const-decl-no-init-sloppy.out
  79. const-decl-no-init.js
  80. const-decl-no-init.out
  81. const-decl-no-init2.js
  82. const-decl-no-init2.out
  83. default-parameter-tdz-arrow.js
  84. default-parameter-tdz-arrow.out
  85. default-parameter-tdz.js
  86. default-parameter-tdz.out
  87. destructuring-decl-no-init-array.js
  88. destructuring-decl-no-init-array.out
  89. destructuring-decl-no-init-array2.js
  90. destructuring-decl-no-init-array2.out
  91. destructuring-decl-no-init-obj.js
  92. destructuring-decl-no-init-obj.out
  93. destructuring-decl-no-init-obj2.js
  94. destructuring-decl-no-init-obj2.out
  95. destructuring-modify-const.js
  96. destructuring-modify-const.out
  97. export-duplicate-as.js
  98. export-duplicate-as.out
  99. export-duplicate-default.js
  100. export-duplicate-default.out
  101. export-duplicate.js
  102. export-duplicate.out
  103. for-in-let-loop-initializers-strict.js
  104. for-in-let-loop-initializers-strict.out
  105. for-in-loop-initializers-destructuring.js
  106. for-in-loop-initializers-destructuring.out
  107. for-in-loop-initializers-strict.js
  108. for-in-loop-initializers-strict.out
  109. for-loop-invalid-lhs.js
  110. for-loop-invalid-lhs.out
  111. for-of-let-loop-initializers.js
  112. for-of-let-loop-initializers.out
  113. for-of-loop-initializers-sloppy.js
  114. for-of-loop-initializers-sloppy.out
  115. for-of-loop-initializers-strict.js
  116. for-of-loop-initializers-strict.out
  117. for-of-throw-in-body.js
  118. for-of-throw-in-body.out
  119. formal-parameters-bad-rest.js
  120. formal-parameters-bad-rest.out
  121. formal-parameters-strict-body.js
  122. formal-parameters-strict-body.out
  123. formal-parameters-trailing-comma.js
  124. formal-parameters-trailing-comma.out
  125. function-param-after-rest.js
  126. function-param-after-rest.out
  127. function-sent-escaped.js
  128. function-sent-escaped.out
  129. generators-throw1.js
  130. generators-throw1.out
  131. generators-throw2.js
  132. generators-throw2.out
  133. get-iterator1.js
  134. get-iterator1.out
  135. import-as-eval.js
  136. import-as-eval.out
  137. import-as-redeclaration.js
  138. import-as-redeclaration.out
  139. import-as-reserved-word.js
  140. import-as-reserved-word.out
  141. import-eval.js
  142. import-eval.out
  143. import-redeclaration.js
  144. import-redeclaration.out
  145. import-reserved-word.js
  146. import-reserved-word.out
  147. instanceof-noncallable.js
  148. instanceof-noncallable.out
  149. instanceof-nonobject.js
  150. instanceof-nonobject.out
  151. invalid-spread-2.js
  152. invalid-spread-2.out
  153. invalid-spread.js
  154. invalid-spread.out
  155. isvar.js
  156. isvar.out
  157. let-asi-await-nonasync.js
  158. let-asi-await-nonasync.out
  159. let-asi-yield-nongenerator.js
  160. let-asi-yield-nongenerator.out
  161. let-lexical-declaration-destructuring-brace-in-single-statement.js
  162. let-lexical-declaration-destructuring-brace-in-single-statement.out
  163. let-lexical-declaration-destructuring-in-single-statement.js
  164. let-lexical-declaration-destructuring-in-single-statement.out
  165. let-lexical-declaration-in-single-statement.js
  166. let-lexical-declaration-in-single-statement.out
  167. let-lexical-name-in-array-prohibited.js
  168. let-lexical-name-in-array-prohibited.out
  169. let-lexical-name-in-object-prohibited.js
  170. let-lexical-name-in-object-prohibited.out
  171. let-lexical-name-prohibited.js
  172. let-lexical-name-prohibited.out
  173. message.gyp
  174. message.isolate
  175. message.status
  176. modules-cycle1.js
  177. modules-cycle1.out
  178. modules-cycle2.js
  179. modules-cycle2.out
  180. modules-cycle3.js
  181. modules-cycle3.out
  182. modules-cycle4.js
  183. modules-cycle4.out
  184. modules-cycle5.js
  185. modules-cycle5.out
  186. modules-cycle6.js
  187. modules-cycle6.out
  188. modules-duplicate-export1.js
  189. modules-duplicate-export1.out
  190. modules-duplicate-export2.js
  191. modules-duplicate-export2.out
  192. modules-duplicate-export3.js
  193. modules-duplicate-export3.out
  194. modules-duplicate-export4.js
  195. modules-duplicate-export4.out
  196. modules-import-redeclare1.js
  197. modules-import-redeclare1.out
  198. modules-import-redeclare2.js
  199. modules-import-redeclare2.out
  200. modules-import-redeclare3.js
  201. modules-import-redeclare3.out
  202. modules-import1.js
  203. modules-import1.out
  204. modules-import2.js
  205. modules-import2.out
  206. modules-import3.js
  207. modules-import3.out
  208. modules-import4.js
  209. modules-import4.out
  210. modules-import5.js
  211. modules-import5.out
  212. modules-import6.js
  213. modules-import6.out
  214. modules-skip-cycle2.js
  215. modules-skip-cycle3.js
  216. modules-skip-cycle5.js
  217. modules-skip-cycle6.js
  218. modules-star-conflict1.js
  219. modules-star-conflict1.out
  220. modules-star-conflict2.js
  221. modules-star-conflict2.out
  222. modules-star-default.js
  223. modules-star-default.out
  224. modules-undefined-export1.js
  225. modules-undefined-export1.out
  226. modules-undefined-export2.js
  227. modules-undefined-export2.out
  228. new-target-assignment.js
  229. new-target-assignment.out
  230. new-target-escaped.js
  231. new-target-escaped.out
  232. new-target-for-loop.js
  233. new-target-for-loop.out
  234. new-target-postfix-op.js
  235. new-target-postfix-op.out
  236. new-target-prefix-op.js
  237. new-target-prefix-op.out
  238. nf-yield-in-generator.js
  239. nf-yield-in-generator.out
  240. nf-yield-strict-in-generator.js
  241. nf-yield-strict-in-generator.out
  242. nf-yield-strict.js
  243. nf-yield-strict.out
  244. nfe-yield-generator.js
  245. nfe-yield-generator.out
  246. nfe-yield-strict.js
  247. nfe-yield-strict.out
  248. non-alphanum.js
  249. non-alphanum.out
  250. non-use-strict-hex-escape.js
  251. non-use-strict-hex-escape.out
  252. non-use-strict-octal-escape.js
  253. non-use-strict-octal-escape.out
  254. non-use-strict-uhex-escape.js
  255. non-use-strict-uhex-escape.out
  256. nonstrict-arguments.js
  257. nonstrict-arguments.out
  258. nonstrict-eval.js
  259. nonstrict-eval.out
  260. nonstrict-with.js
  261. nonstrict-with.out
  262. overwritten-builtins.js
  263. overwritten-builtins.out
  264. paren_in_arg_string.js
  265. paren_in_arg_string.out
  266. redeclaration1.js
  267. redeclaration1.out
  268. redeclaration2.js
  269. redeclaration2.out
  270. redeclaration3.js
  271. redeclaration3.out
  272. regress/
  273. replacement-marker-as-argument.js
  274. replacement-marker-as-argument.out
  275. rest-param-class-setter-strict.js
  276. rest-param-class-setter-strict.out
  277. rest-param-object-setter-sloppy.js
  278. rest-param-object-setter-sloppy.out
  279. rest-param-object-setter-strict.js
  280. rest-param-object-setter-strict.out
  281. simple-throw.js
  282. simple-throw.out
  283. strict-formal-parameters.js
  284. strict-formal-parameters.out
  285. strict-octal-indirect-regexp.js
  286. strict-octal-indirect-regexp.out
  287. strict-octal-number.js
  288. strict-octal-number.out
  289. strict-octal-regexp.js
  290. strict-octal-regexp.out
  291. strict-octal-string.js
  292. strict-octal-string.out
  293. strict-octal-use-strict-after.js
  294. strict-octal-use-strict-after.out
  295. strict-octal-use-strict-before.js
  296. strict-octal-use-strict-before.out
  297. strict-with.js
  298. strict-with.out
  299. super-constructor-extra-statement.js
  300. super-constructor-extra-statement.out
  301. super-constructor.js
  302. super-constructor.out
  303. super-in-function.js
  304. super-in-function.out
  305. testcfg.py
  306. tonumber-symbol.js
  307. tonumber-symbol.out
  308. try-catch-finally-no-message.js
  309. try-catch-finally-no-message.out
  310. try-catch-finally-return-in-finally.js
  311. try-catch-finally-return-in-finally.out
  312. try-catch-finally-throw-in-catch-and-finally.js
  313. try-catch-finally-throw-in-catch-and-finally.out
  314. try-catch-finally-throw-in-catch.js
  315. try-catch-finally-throw-in-catch.out
  316. try-catch-finally-throw-in-finally.js
  317. try-catch-finally-throw-in-finally.out
  318. try-catch-lexical-conflict.js
  319. try-catch-lexical-conflict.out
  320. try-catch-variable-conflict.js
  321. try-catch-variable-conflict.out
  322. try-finally-return-in-finally.js
  323. try-finally-return-in-finally.out
  324. try-finally-throw-in-finally.js
  325. try-finally-throw-in-finally.out
  326. try-finally-throw-in-try-and-finally.js
  327. try-finally-throw-in-try-and-finally.out
  328. try-finally-throw-in-try.js
  329. try-finally-throw-in-try.out
  330. unicode-escape-invalid-2.js
  331. unicode-escape-invalid-2.out
  332. unicode-escape-invalid.js
  333. unicode-escape-invalid.out
  334. unicode-escape-undefined.js
  335. unicode-escape-undefined.out
  336. unterminated-arg-list.js
  337. unterminated-arg-list.out
  338. wasm-trap.js
  339. wasm-trap.out
  340. yield-in-arrow-param.js
  341. yield-in-arrow-param.out
  342. yield-in-generator-param.js
  343. yield-in-generator-param.out
test/message/README.md

JavaScript tests with expected output

Tests in test/message pass if the output matches the expected output. Message tests are particularly useful when checking for exact error messages.

Tests and their expected output must have the same filename, with the .js and .out extension.

foo.js
foo.out

All tests must end with an exception. The test runner does not handle output from multiple runs, e.g., --stress-opt. Without an exception, the output will be generated several times and the comparison will fail.

You can use a regex in the expected output. Instead of the exact path. use

*%(basename)s:7: SyntaxError: Detected cycle while resolving name 'a'

Empty lines are ignored in the comparison, but whitespaces are not.

Exact details of the test runner are in testcfg.py.