fastify 4.27.0 → 5.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (328) hide show
  1. package/.markdownlint-cli2.yaml +1 -1
  2. package/.tap/processinfo/09002e93-10ad-430c-bc86-c0576928b0ed.json +241 -0
  3. package/.tap/processinfo/ee66c5ab-635d-48b5-8be6-3dc3ceea5bfc.json +268 -0
  4. package/.tap/test-results/test/404s.test.js.tap +623 -0
  5. package/.tap/test-results/test/500s.test.js.tap +64 -0
  6. package/.tap/test-results/test/allowUnsafeRegex.test.js.tap +36 -0
  7. package/.tap/test-results/test/als.test.js.tap +15 -0
  8. package/.tap/test-results/test/async-await.test.js.tap +184 -0
  9. package/.tap/test-results/test/async-dispose.test.js.tap +8 -0
  10. package/.tap/test-results/test/async_hooks.test.js.tap +10 -0
  11. package/.tap/test-results/test/bodyLimit.test.js.tap +48 -0
  12. package/.tap/test-results/test/buffer.test.js.tap +20 -0
  13. package/.tap/test-results/test/build/error-serializer.test.js.tap +12 -0
  14. package/.tap/test-results/test/build/version.test.js.tap +7 -0
  15. package/.tap/test-results/test/case-insensitive.test.js.tap +36 -0
  16. package/.tap/test-results/test/chainable.test.js.tap +17 -0
  17. package/.tap/test-results/test/check.test.js.tap +10 -0
  18. package/.tap/test-results/test/childLoggerFactory.test.js.tap +23 -0
  19. package/.tap/test-results/test/client-timeout.test.js.tap +7 -0
  20. package/.tap/test-results/test/close-pipelining.test.js.tap +15 -0
  21. package/.tap/test-results/test/close.test.js.tap +172 -0
  22. package/.tap/test-results/test/connectionTimeout.test.js.tap +12 -0
  23. package/.tap/test-results/test/constrained-routes.test.js.tap +173 -0
  24. package/.tap/test-results/test/content-length.test.js.tap +46 -0
  25. package/.tap/test-results/test/content-parser.test.js.tap +266 -0
  26. package/.tap/test-results/test/content-type.test.js.tap +14 -0
  27. package/.tap/test-results/test/context-config.test.js.tap +41 -0
  28. package/.tap/test-results/test/copy.test.js.tap +14 -0
  29. package/.tap/test-results/test/custom-http-server.test.js.tap +30 -0
  30. package/.tap/test-results/test/custom-parser-async.test.js.tap +21 -0
  31. package/.tap/test-results/test/custom-parser.0.test.js.tap +199 -0
  32. package/.tap/test-results/test/custom-parser.1.test.js.tap +90 -0
  33. package/.tap/test-results/test/custom-parser.2.test.js.tap +22 -0
  34. package/.tap/test-results/test/custom-parser.3.test.js.tap +53 -0
  35. package/.tap/test-results/test/custom-parser.4.test.js.tap +45 -0
  36. package/.tap/test-results/test/custom-parser.5.test.js.tap +41 -0
  37. package/.tap/test-results/test/custom-querystring-parser.test.js.tap +46 -0
  38. package/.tap/test-results/test/decorator.test.js.tap +465 -0
  39. package/.tap/test-results/test/delete.test.js.tap +110 -0
  40. package/.tap/test-results/test/diagnostics-channel/404.test.js.tap +15 -0
  41. package/.tap/test-results/test/diagnostics-channel/async-delay-request.test.js.tap +25 -0
  42. package/.tap/test-results/test/diagnostics-channel/async-request.test.js.tap +24 -0
  43. package/.tap/test-results/test/diagnostics-channel/error-before-handler.test.js.tap +9 -0
  44. package/.tap/test-results/test/diagnostics-channel/error-request.test.js.tap +20 -0
  45. package/.tap/test-results/test/diagnostics-channel/error-status.test.js.tap +10 -0
  46. package/.tap/test-results/test/diagnostics-channel/init.test.js.tap +14 -0
  47. package/.tap/test-results/test/diagnostics-channel/sync-delay-request.test.js.tap +16 -0
  48. package/.tap/test-results/test/diagnostics-channel/sync-request-reply.test.js.tap +16 -0
  49. package/.tap/test-results/test/diagnostics-channel/sync-request.test.js.tap +19 -0
  50. package/.tap/test-results/test/encapsulated-child-logger-factory.test.js.tap +18 -0
  51. package/.tap/test-results/test/encapsulated-error-handler.test.js.tap +243 -0
  52. package/.tap/test-results/test/esm/errorCodes.test.mjs.tap +9 -0
  53. package/.tap/test-results/test/esm/esm.test.mjs.tap +8 -0
  54. package/.tap/test-results/test/esm/index.test.js.tap +8 -0
  55. package/.tap/test-results/test/fastify-instance.test.js.tap +114 -0
  56. package/.tap/test-results/test/findRoute.test.js.tap +37 -0
  57. package/.tap/test-results/test/fluent-schema.test.js.tap +36 -0
  58. package/.tap/test-results/test/genReqId.test.js.tap +106 -0
  59. package/.tap/test-results/test/get.test.js.tap +151 -0
  60. package/.tap/test-results/test/handler-context.test.js.tap +19 -0
  61. package/.tap/test-results/test/has-route.test.js.tap +30 -0
  62. package/.tap/test-results/test/head.test.js.tap +130 -0
  63. package/.tap/test-results/test/header-overflow.test.js.tap +16 -0
  64. package/.tap/test-results/test/hooks-async.test.js.tap +286 -0
  65. package/.tap/test-results/test/hooks.on-listen.test.js.tap +311 -0
  66. package/.tap/test-results/test/hooks.on-ready.test.js.tap +151 -0
  67. package/.tap/test-results/test/hooks.test.js.tap +966 -0
  68. package/.tap/test-results/test/http2/closing.test.js.tap +35 -0
  69. package/.tap/test-results/test/http2/constraint.test.js.tap +32 -0
  70. package/.tap/test-results/test/http2/head.test.js.tap +9 -0
  71. package/.tap/test-results/test/http2/missing-http2-module.test.js.tap +8 -0
  72. package/.tap/test-results/test/http2/plain.test.js.tap +22 -0
  73. package/.tap/test-results/test/http2/secure-with-fallback.test.js.tap +40 -0
  74. package/.tap/test-results/test/http2/secure.test.js.tap +27 -0
  75. package/.tap/test-results/test/http2/unknown-http-method.test.js.tap +9 -0
  76. package/.tap/test-results/test/https/custom-https-server.test.js.tap +10 -0
  77. package/.tap/test-results/test/https/https.test.js.tap +45 -0
  78. package/.tap/test-results/test/imports.test.js.tap +14 -0
  79. package/.tap/test-results/test/inject.test.js.tap +165 -0
  80. package/.tap/test-results/test/internals/all.test.js.tap +42 -0
  81. package/.tap/test-results/test/internals/contentTypeParser.test.js.tap +14 -0
  82. package/.tap/test-results/test/internals/context.test.js.tap +14 -0
  83. package/.tap/test-results/test/internals/decorator.test.js.tap +51 -0
  84. package/.tap/test-results/test/internals/errors.test.js.tap +1212 -0
  85. package/.tap/test-results/test/internals/handleRequest.test.js.tap +69 -0
  86. package/.tap/test-results/test/internals/hookRunner.test.js.tap +143 -0
  87. package/.tap/test-results/test/internals/hooks.test.js.tap +45 -0
  88. package/.tap/test-results/test/internals/initialConfig.test.js.tap +125 -0
  89. package/.tap/test-results/test/internals/logger.test.js.tap +71 -0
  90. package/.tap/test-results/test/internals/plugin.test.js.tap +48 -0
  91. package/.tap/test-results/test/internals/reply-serialize.test.js.tap +166 -0
  92. package/.tap/test-results/test/internals/reply.test.js.tap +688 -0
  93. package/.tap/test-results/test/internals/reqIdGenFactory.test.js.tap +74 -0
  94. package/.tap/test-results/test/internals/request-validate.test.js.tap +384 -0
  95. package/.tap/test-results/test/internals/request.test.js.tap +163 -0
  96. package/.tap/test-results/test/internals/server.test.js.tap +30 -0
  97. package/.tap/test-results/test/internals/validation.test.js.tap +121 -0
  98. package/.tap/test-results/test/keepAliveTimeout.test.js.tap +12 -0
  99. package/.tap/test-results/test/listen.1.test.js.tap +31 -0
  100. package/.tap/test-results/test/listen.2.test.js.tap +46 -0
  101. package/.tap/test-results/test/listen.3.test.js.tap +25 -0
  102. package/.tap/test-results/test/listen.4.test.js.tap +51 -0
  103. package/.tap/test-results/test/lock.test.js.tap +29 -0
  104. package/.tap/test-results/test/logger/instantiation.test.js.tap +92 -0
  105. package/.tap/test-results/test/logger/logging.test.js.tap +117 -0
  106. package/.tap/test-results/test/logger/options.test.js.tap +165 -0
  107. package/.tap/test-results/test/logger/request.test.js.tap +82 -0
  108. package/.tap/test-results/test/logger/response.test.js.tap +38 -0
  109. package/.tap/test-results/test/maxRequestsPerSocket.test.js.tap +44 -0
  110. package/.tap/test-results/test/method-missing.test.js.tap +8 -0
  111. package/.tap/test-results/test/middleware.test.js.tap +17 -0
  112. package/.tap/test-results/test/mkcalendar.test.js.tap +43 -0
  113. package/.tap/test-results/test/mkcol.test.js.tap +14 -0
  114. package/.tap/test-results/test/move.test.js.tap +15 -0
  115. package/.tap/test-results/test/noop-set.test.js.tap +8 -0
  116. package/.tap/test-results/test/nullable-validation.test.js.tap +36 -0
  117. package/.tap/test-results/test/options.error-handler.test.js.tap +186 -0
  118. package/.tap/test-results/test/options.test.js.tap +174 -0
  119. package/.tap/test-results/test/output-validation.test.js.tap +66 -0
  120. package/.tap/test-results/test/patch.error-handler.test.js.tap +206 -0
  121. package/.tap/test-results/test/patch.test.js.tap +182 -0
  122. package/.tap/test-results/test/plugin.1.test.js.tap +78 -0
  123. package/.tap/test-results/test/plugin.2.test.js.tap +102 -0
  124. package/.tap/test-results/test/plugin.3.test.js.tap +58 -0
  125. package/.tap/test-results/test/plugin.4.test.js.tap +164 -0
  126. package/.tap/test-results/test/post-empty-body.test.js.tap +8 -0
  127. package/.tap/test-results/test/pretty-print.test.js.tap +82 -0
  128. package/.tap/test-results/test/promises.test.js.tap +46 -0
  129. package/.tap/test-results/test/propfind.test.js.tap +43 -0
  130. package/.tap/test-results/test/proppatch.test.js.tap +29 -0
  131. package/.tap/test-results/test/proto-poisoning.test.js.tap +47 -0
  132. package/.tap/test-results/test/put.error-handler.test.js.tap +206 -0
  133. package/.tap/test-results/test/put.test.js.tap +182 -0
  134. package/.tap/test-results/test/register.test.js.tap +61 -0
  135. package/.tap/test-results/test/reply-code.test.js.tap +40 -0
  136. package/.tap/test-results/test/reply-earlyHints.test.js.tap +22 -0
  137. package/.tap/test-results/test/reply-error.test.js.tap +643 -0
  138. package/.tap/test-results/test/reply-trailers.test.js.tap +176 -0
  139. package/.tap/test-results/test/report.test.js.tap +43 -0
  140. package/.tap/test-results/test/request-error.test.js.tap +98 -0
  141. package/.tap/test-results/test/request-id.test.js.tap +38 -0
  142. package/.tap/test-results/test/request.deprecated.test.js.tap +13 -0
  143. package/.tap/test-results/test/requestTimeout.test.js.tap +21 -0
  144. package/.tap/test-results/test/route-hooks.test.js.tap +498 -0
  145. package/.tap/test-results/test/route-prefix.test.js.tap +195 -0
  146. package/.tap/test-results/test/route-shorthand.test.js.tap +190 -0
  147. package/.tap/test-results/test/route.1.test.js.tap +93 -0
  148. package/.tap/test-results/test/route.2.test.js.tap +28 -0
  149. package/.tap/test-results/test/route.3.test.js.tap +39 -0
  150. package/.tap/test-results/test/route.4.test.js.tap +32 -0
  151. package/.tap/test-results/test/route.5.test.js.tap +54 -0
  152. package/.tap/test-results/test/route.6.test.js.tap +81 -0
  153. package/.tap/test-results/test/route.7.test.js.tap +93 -0
  154. package/.tap/test-results/test/route.8.test.js.tap +38 -0
  155. package/.tap/test-results/test/router-options.test.js.tap +104 -0
  156. package/.tap/test-results/test/same-shape.test.js.tap +22 -0
  157. package/.tap/test-results/test/schema-examples.test.js.tap +85 -0
  158. package/.tap/test-results/test/schema-feature.test.js.tap +445 -0
  159. package/.tap/test-results/test/schema-serialization.test.js.tap +194 -0
  160. package/.tap/test-results/test/schema-special-usage.test.js.tap +186 -0
  161. package/.tap/test-results/test/schema-validation.test.js.tap +199 -0
  162. package/.tap/test-results/test/search.test.js.tap +77 -0
  163. package/.tap/test-results/test/serialize-response.test.js.tap +26 -0
  164. package/.tap/test-results/test/server.test.js.tap +65 -0
  165. package/.tap/test-results/test/set-error-handler.test.js.tap +7 -0
  166. package/.tap/test-results/test/skip-reply-send.test.js.tap +272 -0
  167. package/.tap/test-results/test/stream.1.test.js.tap +36 -0
  168. package/.tap/test-results/test/stream.2.test.js.tap +20 -0
  169. package/.tap/test-results/test/stream.3.test.js.tap +34 -0
  170. package/.tap/test-results/test/stream.4.test.js.tap +40 -0
  171. package/.tap/test-results/test/stream.5.test.js.tap +37 -0
  172. package/.tap/test-results/test/sync-routes.test.js.tap +19 -0
  173. package/.tap/test-results/test/throw.test.js.tap +116 -0
  174. package/.tap/test-results/test/trace.test.js.tap +7 -0
  175. package/.tap/test-results/test/trust-proxy.test.js.tap +109 -0
  176. package/.tap/test-results/test/type-provider.test.js.tap +12 -0
  177. package/.tap/test-results/test/unlock.test.js.tap +14 -0
  178. package/.tap/test-results/test/upgrade.test.js.tap +8 -0
  179. package/.tap/test-results/test/url-rewriting.test.js.tap +39 -0
  180. package/.tap/test-results/test/useSemicolonDelimiter.test.js.tap +33 -0
  181. package/.tap/test-results/test/validation-error-handling.test.js.tap +180 -0
  182. package/.tap/test-results/test/versioned-routes.test.js.tap +151 -0
  183. package/.tap/test-results/test/web-api.test.js.tap +51 -0
  184. package/.tap/test-results/test/wrapThenable.test.js.tap +11 -0
  185. package/.taprc +4 -8
  186. package/README.md +3 -6
  187. package/build/build-error-serializer.js +4 -1
  188. package/build/build-validation.js +5 -4
  189. package/docs/Guides/Database.md +1 -1
  190. package/docs/Guides/Delay-Accepting-Requests.md +3 -3
  191. package/docs/Guides/Ecosystem.md +2 -0
  192. package/docs/Guides/Migration-Guide-V5.md +20 -0
  193. package/docs/Guides/Write-Type-Provider.md +4 -2
  194. package/docs/Reference/ContentTypeParser.md +30 -1
  195. package/docs/Reference/Decorators.md +42 -16
  196. package/docs/Reference/Errors.md +10 -2
  197. package/docs/Reference/Hooks.md +48 -14
  198. package/docs/Reference/Logging.md +5 -5
  199. package/docs/Reference/Reply.md +29 -24
  200. package/docs/Reference/Request.md +5 -1
  201. package/docs/Reference/Routes.md +24 -28
  202. package/docs/Reference/Server.md +14 -53
  203. package/docs/Reference/Type-Providers.md +21 -26
  204. package/docs/Reference/TypeScript.md +46 -29
  205. package/docs/Reference/Warnings.md +2 -8
  206. package/eslint.config.js +27 -0
  207. package/examples/typescript-server.ts +14 -14
  208. package/fastify.d.ts +15 -14
  209. package/fastify.js +41 -15
  210. package/lib/configValidator.js +94 -76
  211. package/lib/contentTypeParser.js +54 -88
  212. package/lib/decorate.js +3 -7
  213. package/lib/error-serializer.js +77 -19
  214. package/lib/errors.js +31 -6
  215. package/lib/handleRequest.js +70 -39
  216. package/lib/httpMethods.js +34 -18
  217. package/lib/logger.js +24 -6
  218. package/lib/pluginUtils.js +5 -5
  219. package/lib/reply.js +16 -13
  220. package/lib/request.js +37 -19
  221. package/lib/route.js +7 -31
  222. package/lib/server.js +62 -123
  223. package/lib/warnings.js +28 -27
  224. package/lib/wrapThenable.js +46 -22
  225. package/package.json +38 -58
  226. package/test/404s.test.js +8 -12
  227. package/test/async-await.test.js +46 -2
  228. package/test/build/error-serializer.test.js +4 -2
  229. package/test/check.test.js +225 -0
  230. package/test/close-pipelining.test.js +2 -34
  231. package/test/close.test.js +1 -41
  232. package/test/content-parser.test.js +69 -117
  233. package/test/custom-parser.1.test.js +40 -1
  234. package/test/decorator-namespace.test._js_ +31 -0
  235. package/test/decorator.test.js +92 -43
  236. package/test/delete.test.js +21 -1
  237. package/test/diagnostics-channel/404.test.js +57 -0
  238. package/test/diagnostics-channel/async-delay-request.test.js +74 -0
  239. package/test/diagnostics-channel/async-request.test.js +72 -0
  240. package/test/diagnostics-channel/error-before-handler.test.js +36 -0
  241. package/test/diagnostics-channel/error-request.test.js +61 -0
  242. package/test/diagnostics-channel/error-status.test.js +39 -0
  243. package/test/{diagnostics-channel.test.js → diagnostics-channel/init.test.js} +6 -16
  244. package/test/diagnostics-channel/sync-delay-request.test.js +58 -0
  245. package/test/diagnostics-channel/sync-request-reply.test.js +58 -0
  246. package/test/diagnostics-channel/sync-request.test.js +61 -0
  247. package/test/encapsulated-error-handler.test.js +201 -14
  248. package/test/esm/index.test.js +2 -12
  249. package/test/findRoute.test.js +16 -0
  250. package/test/genReqId.test.js +9 -0
  251. package/test/get.test.js +28 -0
  252. package/test/has-route.test.js +18 -2
  253. package/test/helper.js +1 -5
  254. package/test/hooks.test.js +0 -4
  255. package/test/http2/constraint.test.js +22 -1
  256. package/test/http2/plain.test.js +21 -6
  257. package/test/http2/secure.test.js +12 -1
  258. package/test/https/https.test.js +57 -0
  259. package/test/inject.test.js +1 -2
  260. package/test/internals/decorator.test.js +0 -2
  261. package/test/internals/errors.test.js +57 -17
  262. package/test/internals/handleRequest.test.js +5 -1
  263. package/test/internals/initialConfig.test.js +5 -5
  264. package/test/internals/logger.test.js +31 -2
  265. package/test/internals/reply.test.js +38 -80
  266. package/test/internals/request.test.js +13 -11
  267. package/test/listen.1.test.js +5 -15
  268. package/test/listen.5.test.js +88 -0
  269. package/test/logger/instantiation.test.js +8 -8
  270. package/test/logger/logging.test.js +4 -4
  271. package/test/logger/options.test.js +102 -21
  272. package/test/logger/response.test.js +6 -6
  273. package/test/maxRequestsPerSocket.test.js +2 -5
  274. package/test/method-missing.test.js +24 -0
  275. package/test/plugin.1.test.js +2 -4
  276. package/test/plugin.2.test.js +0 -2
  277. package/test/plugin.3.test.js +0 -2
  278. package/test/plugin.4.test.js +92 -56
  279. package/test/register.test.js +2 -4
  280. package/test/reply-earlyHints.test.js +98 -0
  281. package/test/reply-error.test.js +0 -2
  282. package/test/route-hooks.test.js +0 -1
  283. package/test/route-shorthand.test.js +60 -0
  284. package/test/schema-special-usage.test.js +1 -1
  285. package/test/server.test.js +17 -2
  286. package/test/stream.2.test.js +1 -1
  287. package/test/stream.4.test.js +0 -42
  288. package/test/stream.5.test.js +2 -2
  289. package/test/trust-proxy.test.js +33 -27
  290. package/test/types/errors.test-d.ts +0 -2
  291. package/test/types/fastify.test-d.ts +14 -12
  292. package/test/types/hooks.test-d.ts +1 -0
  293. package/test/types/import.ts +1 -0
  294. package/test/types/instance.test-d.ts +10 -51
  295. package/test/types/logger.test-d.ts +43 -6
  296. package/test/types/plugin.test-d.ts +5 -2
  297. package/test/types/register.test-d.ts +2 -2
  298. package/test/types/reply.test-d.ts +13 -12
  299. package/test/types/request.test-d.ts +19 -8
  300. package/test/types/route.test-d.ts +30 -2
  301. package/test/types/schema.test-d.ts +2 -2
  302. package/test/types/serverFactory.test-d.ts +1 -1
  303. package/test/types/type-provider.test-d.ts +60 -13
  304. package/test/types/using.test-d.ts +4 -1
  305. package/test/url-rewriting.test.js +3 -2
  306. package/test/useSemicolonDelimiter.test.js +3 -6
  307. package/test/versioned-routes.test.js +1 -1
  308. package/test/web-api.test.js +0 -6
  309. package/types/content-type-parser.d.ts +3 -3
  310. package/types/context.d.ts +0 -1
  311. package/types/errors.d.ts +1 -0
  312. package/types/hooks.d.ts +6 -6
  313. package/types/instance.d.ts +28 -41
  314. package/types/logger.d.ts +3 -3
  315. package/types/plugin.d.ts +3 -3
  316. package/types/reply.d.ts +13 -14
  317. package/types/request.d.ts +5 -3
  318. package/types/route.d.ts +29 -29
  319. package/types/schema.d.ts +3 -3
  320. package/types/serverFactory.d.ts +2 -2
  321. package/types/type-provider.d.ts +22 -12
  322. package/types/utils.d.ts +18 -18
  323. package/.c8rc.json +0 -8
  324. package/.eslintrc +0 -4
  325. package/test/default-route.test.js +0 -88
  326. package/test/listen.deprecated.test.js +0 -229
  327. package/test/unsupported-httpversion.test.js +0 -31
  328. package/types/.eslintrc.json +0 -48
@@ -0,0 +1,69 @@
1
+ TAP version 14
2
+ # Subtest: handleRequest function - sent reply
3
+ 1..1
4
+ ok 1 - should be equal
5
+ ok 1 - handleRequest function - sent reply # time=5.535ms
6
+
7
+ # Subtest: handleRequest function - invoke with error
8
+ 1..1
9
+ ok 1 - should be equal
10
+ ok 2 - handleRequest function - invoke with error # time=0.37ms
11
+
12
+ # Subtest: handler function - invalid schema
13
+ 1..1
14
+ ok 1 - errorHandler called
15
+ ok 3 - handler function - invalid schema # time=22.321ms
16
+
17
+ # Subtest: handler function - reply
18
+ 1..3
19
+ ok 1 - should be equal
20
+ ok 2 - should be equal
21
+ ok 3 - (unnamed test)
22
+ ok 4 - handler function - reply # time=0.688ms
23
+
24
+ # Subtest: handler function - preValidationCallback with finished response
25
+ 1..0
26
+ ok 5 - handler function - preValidationCallback with finished response # time=0.203ms
27
+
28
+ # Subtest: request should be defined in onSend Hook on post request with content type application/json
29
+ 1..8
30
+ ok 1 - should not error
31
+ ok 2 - should be equal
32
+ ok 3 - should be equal
33
+ ok 4 - should be equal
34
+ ok 5 - should be equal
35
+ ok 6 - should be equal
36
+ ok 7 - should not error
37
+ ok 8 - should be equal
38
+ ok 6 - request should be defined in onSend Hook on post request with content type application/json # time=55.481ms
39
+
40
+ # Subtest: request should be defined in onSend Hook on post request with content type application/x-www-form-urlencoded
41
+ 1..7
42
+ ok 1 - should not error
43
+ ok 2 - should be equal
44
+ ok 3 - should be equal
45
+ ok 4 - should be equal
46
+ ok 5 - should be equal
47
+ ok 6 - should not error
48
+ ok 7 - should be equal
49
+ ok 7 - request should be defined in onSend Hook on post request with content type application/x-www-form-urlencoded # time=4.953ms
50
+
51
+ # Subtest: request should be defined in onSend Hook on options request with content type application/x-www-form-urlencoded
52
+ 1..7
53
+ ok 1 - should not error
54
+ ok 2 - should be equal
55
+ ok 3 - should be equal
56
+ ok 4 - should be equal
57
+ ok 5 - should be equal
58
+ ok 6 - should not error
59
+ ok 7 - should be equal
60
+ ok 8 - request should be defined in onSend Hook on options request with content type application/x-www-form-urlencoded # time=5.119ms
61
+
62
+ # Subtest: request should respond with an error if an unserialized payload is sent inside an async handler
63
+ 1..3
64
+ ok 1 - should not error
65
+ ok 2 - should be equal
66
+ ok 3 - should be equivalent strictly
67
+ ok 9 - request should respond with an error if an unserialized payload is sent inside an async handler # time=7.682ms
68
+
69
+ 1..9
@@ -0,0 +1,143 @@
1
+ TAP version 14
2
+ # Subtest: hookRunner - Basic
3
+ 1..9
4
+ ok 1 - should be equal
5
+ ok 2 - should be equal
6
+ ok 3 - should be equal
7
+ ok 4 - should be equal
8
+ ok 5 - should be equal
9
+ ok 6 - should be equal
10
+ ok 7 - should not error
11
+ ok 8 - should be equal
12
+ ok 9 - should be equal
13
+ ok 1 - hookRunner - Basic # time=12.238ms
14
+
15
+ # Subtest: hookRunner - In case of error should skip to done
16
+ 1..7
17
+ ok 1 - should be equal
18
+ ok 2 - should be equal
19
+ ok 3 - should be equal
20
+ ok 4 - should be equal
21
+ ok 5 - should be equal
22
+ ok 6 - should be equal
23
+ ok 7 - should be equal
24
+ ok 2 - hookRunner - In case of error should skip to done # time=0.566ms
25
+
26
+ # Subtest: hookRunner - Should handle throw
27
+ 1..7
28
+ ok 1 - should be equal
29
+ ok 2 - should be equal
30
+ ok 3 - should be equal
31
+ ok 4 - should be equal
32
+ ok 5 - should be equal
33
+ ok 6 - should be equal
34
+ ok 7 - should be equal
35
+ ok 3 - hookRunner - Should handle throw # time=0.479ms
36
+
37
+ # Subtest: hookRunner - Should handle promises
38
+ 1..9
39
+ ok 1 - should be equal
40
+ ok 2 - should be equal
41
+ ok 3 - should be equal
42
+ ok 4 - should be equal
43
+ ok 5 - should be equal
44
+ ok 6 - should be equal
45
+ ok 7 - should not error
46
+ ok 8 - should be equal
47
+ ok 9 - should be equal
48
+ ok 4 - hookRunner - Should handle promises # time=2.033ms
49
+
50
+ # Subtest: hookRunner - In case of error should skip to done (with promises)
51
+ 1..7
52
+ ok 1 - should be equal
53
+ ok 2 - should be equal
54
+ ok 3 - should be equal
55
+ ok 4 - should be equal
56
+ ok 5 - should be equal
57
+ ok 6 - should be equal
58
+ ok 7 - should be equal
59
+ ok 5 - hookRunner - In case of error should skip to done (with promises) # time=0.651ms
60
+
61
+ # Subtest: hookRunner - Be able to exit before its natural end
62
+ 1..4
63
+ ok 1 - should be equal
64
+ ok 2 - should be equal
65
+ ok 3 - should be equal
66
+ ok 4 - should be equal
67
+ ok 6 - hookRunner - Be able to exit before its natural end # time=1.591ms
68
+
69
+ # Subtest: hookRunner - Promises that resolve to a value do not change the state
70
+ 1..5
71
+ ok 1 - should be equal
72
+ ok 2 - should be equal
73
+ ok 3 - should be equal
74
+ ok 4 - should not error
75
+ ok 5 - should be equal
76
+ ok 7 - hookRunner - Promises that resolve to a value do not change the state # time=0.654ms
77
+
78
+ # Subtest: onSendHookRunner - Basic
79
+ 1..13
80
+ ok 1 - should be equivalent
81
+ ok 2 - should be equivalent
82
+ ok 3 - should be equal
83
+ ok 4 - should be equivalent
84
+ ok 5 - should be equivalent
85
+ ok 6 - should be equal
86
+ ok 7 - should be equivalent
87
+ ok 8 - should be equivalent
88
+ ok 9 - should be equal
89
+ ok 10 - should not error
90
+ ok 11 - should be equivalent
91
+ ok 12 - should be equivalent
92
+ ok 13 - should be equal
93
+ ok 8 - onSendHookRunner - Basic # time=1.271ms
94
+
95
+ # Subtest: onSendHookRunner - Can change the payload
96
+ 1..7
97
+ ok 1 - should be equivalent
98
+ ok 2 - should be equivalent
99
+ ok 3 - should be equivalent
100
+ ok 4 - should not error
101
+ ok 5 - should be equivalent
102
+ ok 6 - should be equivalent
103
+ ok 7 - should be equivalent
104
+ ok 9 - onSendHookRunner - Can change the payload # time=0.493ms
105
+
106
+ # Subtest: onSendHookRunner - In case of error should skip to done
107
+ 1..6
108
+ ok 1 - should be equivalent
109
+ ok 2 - should be equivalent
110
+ ok 3 - should be equal
111
+ ok 4 - should be equivalent
112
+ ok 5 - should be equivalent
113
+ ok 6 - should be equivalent
114
+ ok 10 - onSendHookRunner - In case of error should skip to done # time=0.573ms
115
+
116
+ # Subtest: onSendHookRunner - Should handle promises
117
+ 1..7
118
+ ok 1 - should be equivalent
119
+ ok 2 - should be equivalent
120
+ ok 3 - should be equivalent
121
+ ok 4 - should not error
122
+ ok 5 - should be equivalent
123
+ ok 6 - should be equivalent
124
+ ok 7 - should be equivalent
125
+ ok 11 - onSendHookRunner - Should handle promises # time=2.453ms
126
+
127
+ # Subtest: onSendHookRunner - In case of error should skip to done (with promises)
128
+ 1..6
129
+ ok 1 - should be equivalent
130
+ ok 2 - should be equivalent
131
+ ok 3 - should be equal
132
+ ok 4 - should be equivalent
133
+ ok 5 - should be equivalent
134
+ ok 6 - should be equivalent
135
+ ok 12 - onSendHookRunner - In case of error should skip to done (with promises) # time=0.536ms
136
+
137
+ # Subtest: onSendHookRunner - Be able to exit before its natural end
138
+ 1..2
139
+ ok 1 - should be equivalent
140
+ ok 2 - should be equivalent
141
+ ok 13 - onSendHookRunner - Be able to exit before its natural end # time=0.268ms
142
+
143
+ 1..13
@@ -0,0 +1,45 @@
1
+ TAP version 14
2
+ # Subtest: hooks should have 4 array with the registered hooks
3
+ ok 1 - should be equal
4
+ ok 2 - should be equal
5
+ ok 3 - should be equal
6
+ ok 4 - should be equal
7
+ ok 5 - should be equal
8
+ ok 6 - should be equal
9
+ ok 7 - should be equal
10
+ ok 8 - should be equal
11
+ 1..8
12
+ ok 1 - hooks should have 4 array with the registered hooks # time=2.183ms
13
+
14
+ # Subtest: hooks.add should add a hook to the given hook
15
+ ok 1 - should be equal
16
+ ok 2 - should be equal
17
+ ok 3 - should be equal
18
+ ok 4 - should be equal
19
+ ok 5 - should be equal
20
+ ok 6 - should be equal
21
+ ok 7 - should be equal
22
+ ok 8 - should be equal
23
+ ok 9 - should be equal
24
+ ok 10 - should be equal
25
+ ok 11 - should be equal
26
+ ok 12 - should be equal
27
+ ok 13 - should be equal
28
+ ok 14 - should be equal
29
+ 1..14
30
+ ok 2 - hooks.add should add a hook to the given hook # time=0.698ms
31
+
32
+ # Subtest: hooks should throw on unexisting handler
33
+ 1..1
34
+ ok 1 - (unnamed test)
35
+ ok 3 - hooks should throw on unexisting handler # time=2.112ms
36
+
37
+ # Subtest: should throw on wrong parameters
38
+ 1..4
39
+ ok 1 - should be equal
40
+ ok 2 - should be equal
41
+ ok 3 - should be equal
42
+ ok 4 - should be equal
43
+ ok 4 - should throw on wrong parameters # time=0.392ms
44
+
45
+ 1..4
@@ -0,0 +1,125 @@
1
+ TAP version 14
2
+ # Subtest: Fastify.initialConfig is an object
3
+ 1..1
4
+ ok 1 - type is object
5
+ ok 1 - Fastify.initialConfig is an object # time=6.851ms
6
+
7
+ # Subtest: without options passed to Fastify, initialConfig should expose default values
8
+ 1..1
9
+ ok 1 - should be equivalent
10
+ ok 2 - without options passed to Fastify, initialConfig should expose default values # time=1.458ms
11
+
12
+ # Subtest: Fastify.initialConfig should expose all options
13
+ 1..22
14
+ ok 1 - should be equal
15
+ ok 2 - for security reason the key cert is hidden
16
+ ok 3 - should be equal
17
+ ok 4 - should be equal
18
+ ok 5 - should be equal
19
+ ok 6 - should be equal
20
+ ok 7 - should be equal
21
+ ok 8 - should be equal
22
+ ok 9 - should be equal
23
+ ok 10 - should be equal
24
+ ok 11 - should be equal
25
+ ok 12 - should be equal
26
+ ok 13 - should be equal
27
+ ok 14 - should be equal
28
+ ok 15 - should be equal
29
+ ok 16 - should be equal
30
+ ok 17 - should be equal
31
+ ok 18 - should be equal
32
+ ok 19 - should be equal
33
+ ok 20 - should be equal
34
+ ok 21 - should be equal
35
+ ok 22 - should be equal
36
+ ok 3 - Fastify.initialConfig should expose all options # time=2.441ms
37
+
38
+ # Subtest: Should throw if you try to modify Fastify.initialConfig
39
+ 1..4
40
+ ok 1 - type is TypeError
41
+ ok 2 - should be equal
42
+ ok 3 - should be equal
43
+ ok 4 - (unnamed test)
44
+ ok 4 - Should throw if you try to modify Fastify.initialConfig # time=0.812ms
45
+
46
+ # Subtest: We must avoid shallow freezing and ensure that the whole object is freezed
47
+ 1..4
48
+ ok 1 - type is TypeError
49
+ ok 2 - should be equal
50
+ ok 3 - should be equal
51
+ ok 4 - key cert removed
52
+ ok 5 - We must avoid shallow freezing and ensure that the whole object is freezed # time=16.819ms
53
+
54
+ # Subtest: https value check
55
+ 1..1
56
+ ok 1 - should be equal
57
+ ok 6 - https value check # time=0.383ms
58
+
59
+ # Subtest: Return an error if options do not match the validation schema
60
+ 1..6
61
+ ok 1 - type is Error
62
+ ok 2 - should be equal
63
+ ok 3 - should be equal
64
+ ok 4 - should be equal
65
+ ok 5 - should be equal
66
+ ok 6 - (unnamed test)
67
+ ok 7 - Return an error if options do not match the validation schema # time=0.69ms
68
+
69
+ # Subtest: Original options must not be frozen
70
+ 1..4
71
+ ok 1 - should be equal
72
+ ok 2 - should be equal
73
+ ok 3 - should be equal
74
+ ok 4 - should be equal
75
+ ok 8 - Original options must not be frozen # time=1.182ms
76
+
77
+ # Subtest: Original options must not be altered (test deep cloning)
78
+ 1..3
79
+ ok 1 - should be equal
80
+ ok 2 - should be equivalent
81
+ ok 3 - should be equivalent
82
+ ok 9 - Original options must not be altered (test deep cloning) # time=1.089ms
83
+
84
+ # Subtest: Should not have issues when passing stream options to Pino.js
85
+ 1..17
86
+ ok 1 - type is object
87
+ ok 2 - should be equivalent
88
+ ok 3 - listen at log message is ok
89
+ ok 4 - should not error
90
+ ok 5 - reqId is defined
91
+ ok 6 - child logger binding is set
92
+ ok 7 - req is defined
93
+ ok 8 - message is set
94
+ ok 9 - method is get
95
+ ok 10 - should be equal
96
+ ok 11 - should be equal
97
+ ok 12 - reqId is defined
98
+ ok 13 - child logger binding is set
99
+ ok 14 - res is defined
100
+ ok 15 - message is set
101
+ ok 16 - statusCode is 200
102
+ ok 17 - responseTime is defined
103
+ ok 10 - Should not have issues when passing stream options to Pino.js # time=16.453ms
104
+
105
+ # Subtest: deepFreezeObject() should not throw on TypedArray
106
+ 1..5
107
+ ok 1 - should be equal
108
+ ok 2 - should be equal
109
+ ok 3 - should be equal
110
+ ok 4 - should be equal
111
+ ok 5 - (unnamed test)
112
+ ok 11 - deepFreezeObject() should not throw on TypedArray # time=0.515ms
113
+
114
+ # Subtest: Fastify.initialConfig should accept the deprecated versioning option
115
+ 1..1
116
+ ok 1 - should be equal
117
+ ok 12 - Fastify.initialConfig should accept the deprecated versioning option # time=1.594ms
118
+
119
+ # Subtest: pluginTimeout should be parsed correctly
120
+ ok 1 - should be equal
121
+ ok 2 - should be equal
122
+ 1..2
123
+ ok 13 - pluginTimeout should be parsed correctly # time=0.47ms
124
+
125
+ 1..13
@@ -0,0 +1,71 @@
1
+ TAP version 14
2
+ # Subtest: time resolution
3
+ 1..2
4
+ ok 1 - should be equal
5
+ ok 2 - should be equal
6
+ ok 1 - time resolution # time=4.452ms
7
+
8
+ # Subtest: The logger should add a unique id for every request
9
+ ok 1 - should not error
10
+ ok 2 - should be equal
11
+ ok 3 - should not error
12
+ ok 4 - the id should not be duplicated
13
+ ok 5 - should be equal
14
+ ok 6 - should not error
15
+ ok 7 - the id should not be duplicated
16
+ ok 8 - should be equal
17
+ ok 9 - should not error
18
+ ok 10 - the id should not be duplicated
19
+ ok 11 - should be equal
20
+ ok 12 - should not error
21
+ ok 13 - the id should not be duplicated
22
+ ok 14 - should be equal
23
+ ok 15 - should not error
24
+ ok 16 - the id should not be duplicated
25
+ ok 17 - should be equal
26
+ ok 18 - should not error
27
+ ok 19 - the id should not be duplicated
28
+ ok 20 - should be equal
29
+ ok 21 - should not error
30
+ ok 22 - the id should not be duplicated
31
+ ok 23 - should be equal
32
+ ok 24 - should not error
33
+ ok 25 - the id should not be duplicated
34
+ ok 26 - should be equal
35
+ ok 27 - should not error
36
+ ok 28 - the id should not be duplicated
37
+ ok 29 - should be equal
38
+ ok 30 - should not error
39
+ ok 31 - the id should not be duplicated
40
+ 1..31
41
+ ok 2 - The logger should add a unique id for every request # time=29.673ms
42
+
43
+ # Subtest: The logger should not reuse request id header for req.id
44
+ ok 1 - should not error
45
+ ok 2 - should be equal
46
+ ok 3 - should not error
47
+ ok 4 - the request id from the header should not be returned with default configuration
48
+ ok 5 - should be equal
49
+ 1..5
50
+ ok 3 - The logger should not reuse request id header for req.id # time=3.672ms
51
+
52
+ # Subtest: The logger should reuse request id header for req.id if requestIdHeader is set
53
+ ok 1 - should not error
54
+ ok 2 - should be equal
55
+ ok 3 - should not error
56
+ ok 4 - the request id from the header should be returned
57
+ 1..4
58
+ ok 4 - The logger should reuse request id header for req.id if requestIdHeader is set # time=4.857ms
59
+
60
+ # Subtest: The logger should error if both stream and file destination are given
61
+ 1..2
62
+ ok 1 - should be equal
63
+ ok 2 - should be equal
64
+ ok 5 - The logger should error if both stream and file destination are given # time=0.682ms
65
+
66
+ # Subtest: The serializer prevent fails if the request socket is undefined
67
+ 1..1
68
+ ok 1 - should be equivalent
69
+ ok 6 - The serializer prevent fails if the request socket is undefined # time=1.162ms
70
+
71
+ 1..6
@@ -0,0 +1,48 @@
1
+ TAP version 14
2
+ # Subtest: shouldSkipOverride should check the 'skip-override' symbol
3
+ 1..2
4
+ ok 1 - should be equal
5
+ ok 2 - should be equal
6
+ ok 1 - shouldSkipOverride should check the 'skip-override' symbol # time=4.76ms
7
+
8
+ # Subtest: getPluginName should return plugin name if the file is cached
9
+ 1..1
10
+ ok 1 - should be equal
11
+ ok 2 - getPluginName should return plugin name if the file is cached # time=0.655ms
12
+
13
+ # Subtest: getPluginName should not throw when require.cache is undefined
14
+ 1..1
15
+ ok 1 - should be equal
16
+ ok 3 - getPluginName should not throw when require.cache is undefined # time=0.532ms
17
+
18
+ # Subtest: getMeta should return the object stored with the 'plugin-meta' symbol
19
+ 1..1
20
+ ok 1 - should be equivalent
21
+ ok 4 - getMeta should return the object stored with the 'plugin-meta' symbol # time=0.818ms
22
+
23
+ # Subtest: checkDecorators should check if the given decorator is present in the instance
24
+ 1..1
25
+ ok 1 - Everything ok
26
+ ok 5 - checkDecorators should check if the given decorator is present in the instance # time=0.43ms
27
+
28
+ # Subtest: checkDecorators should check if the given decorator is present in the instance (errored)
29
+ 1..1
30
+ ok 1 - should be equal
31
+ ok 6 - checkDecorators should check if the given decorator is present in the instance (errored) # time=0.426ms
32
+
33
+ # Subtest: checkDecorators should accept optional decorators
34
+ 1..1
35
+ ok 1 - Everything ok
36
+ ok 7 - checkDecorators should accept optional decorators # time=0.3ms
37
+
38
+ # Subtest: checkDependencies should check if the given dependency is present in the instance
39
+ 1..1
40
+ ok 1 - Everything ok
41
+ ok 8 - checkDependencies should check if the given dependency is present in the instance # time=0.255ms
42
+
43
+ # Subtest: checkDependencies should check if the given dependency is present in the instance (errored)
44
+ 1..1
45
+ ok 1 - should be equal
46
+ ok 9 - checkDependencies should check if the given dependency is present in the instance (errored) # time=0.943ms
47
+
48
+ 1..9
@@ -0,0 +1,166 @@
1
+ TAP version 14
2
+ # Subtest: Reply\#compileSerializationSchema
3
+ 1..4
4
+ # Subtest: Should return a serialization function
5
+ 1..4
6
+ ok 1 - type is Function
7
+ ok 2 - type is string
8
+ ok 3 - should be equal
9
+ ok 4 - should be equal
10
+ ok 1 - Should return a serialization function # time=22.399ms
11
+
12
+ # Subtest: Should reuse the serialize fn across multiple invocations - Route without schema
13
+ 1..17
14
+ ok 1 - build the schema compilation function
15
+ ok 2 - type is Function
16
+ ok 3 - should be equal
17
+ ok 4 - should be equal
18
+ ok 5 - Are the same validate function
19
+ ok 6 - type is Function
20
+ ok 7 - should be equal
21
+ ok 8 - should be equal
22
+ ok 9 - Are the same validate function
23
+ ok 10 - type is Function
24
+ ok 11 - should be equal
25
+ ok 12 - should be equal
26
+ ok 13 - Are the same validate function
27
+ ok 14 - type is Function
28
+ ok 15 - should be equal
29
+ ok 16 - should be equal
30
+ ok 17 - should be equal
31
+ ok 2 - Should reuse the serialize fn across multiple invocations - Route without schema # time=3.375ms
32
+
33
+ # Subtest: Should use the custom serializer compiler for the route
34
+ 1..17
35
+ ok 1 - should be equal
36
+ ok 2 - should be equal
37
+ ok 3 - should be equal
38
+ ok 4 - should be equal
39
+ ok 5 - should be equal
40
+ ok 6 - should be equivalent
41
+ ok 7 - {"hello":"world"}
42
+ ok 8 - should be equivalent
43
+ ok 9 - {"hello":"world"}
44
+ ok 10 - should be equal
45
+ ok 11 - should be equal
46
+ ok 12 - should be equal
47
+ ok 13 - should be equal
48
+ ok 14 - should be equal
49
+ ok 15 - should be equal
50
+ ok 16 - should be equivalent
51
+ ok 17 - {"fullName":"Jone","phone":1090243795}
52
+ ok 3 - Should use the custom serializer compiler for the route # time=6.795ms
53
+
54
+ # Subtest: Should build a WeakMap for cache when called
55
+ 1..4
56
+ ok 1 - should be equal
57
+ ok 2 - should be equal
58
+ ok 3 - type is WeakMap
59
+ ok 4 - should be equal
60
+ ok 4 - Should build a WeakMap for cache when called # time=2.265ms
61
+
62
+ ok 1 - Reply\#compileSerializationSchema # time=41.651ms
63
+
64
+ # Subtest: Reply\#getSerializationFunction
65
+ 1..3
66
+ # Subtest: Should retrieve the serialization function from the Schema definition
67
+ 1..13
68
+ ok 1 - type is Function
69
+ ok 2 - type is Function
70
+ ok 3 - type is Function
71
+ ok 4 - should be equal
72
+ ok 5 - should be equal
73
+ ok 6 - should be equal
74
+ ok 7 - should be equal
75
+ ok 8 - should be equal
76
+ ok 9 - should be equal
77
+ ok 10 - should be equal
78
+ ok 11 - should be equal
79
+ ok 12 - should be equal
80
+ ok 13 - should be equal
81
+ ok 1 - Should retrieve the serialization function from the Schema definition # time=5.574ms
82
+
83
+ # Subtest: Should retrieve the serialization function from the cached one
84
+ 1..6
85
+ ok 1 - type is Function
86
+ ok 2 - should be equal
87
+ ok 3 - should be equal
88
+ ok 4 - should be equal
89
+ ok 5 - should be equal
90
+ ok 6 - should be equal
91
+ ok 2 - Should retrieve the serialization function from the cached one # time=1.9ms
92
+
93
+ # Subtest: Should not instantiate a WeakMap if it is not needed
94
+ 1..4
95
+ ok 1 - should be equal
96
+ ok 2 - should be equal
97
+ ok 3 - should be equal
98
+ ok 4 - should be equal
99
+ ok 3 - Should not instantiate a WeakMap if it is not needed # time=1.296ms
100
+
101
+ ok 2 - Reply\#getSerializationFunction # time=11.983ms
102
+
103
+ # Subtest: Reply\#serializeInput
104
+ 1..6
105
+ # Subtest: Should throw if missed serialization function from HTTP status
106
+ 1..2
107
+ ok 1 - should be equal
108
+ ok 2 - should be equivalent
109
+ ok 1 - Should throw if missed serialization function from HTTP status # time=3.875ms
110
+
111
+ # Subtest: Should throw if missed serialization function from HTTP status with specific content type
112
+ 1..2
113
+ ok 1 - should be equal
114
+ ok 2 - should be equivalent
115
+ ok 2 - Should throw if missed serialization function from HTTP status with specific content type # time=5.067ms
116
+
117
+ # Subtest: Should use a serializer fn from HTTP status
118
+ 1..6
119
+ ok 1 - should be equal
120
+ ok 2 - should be equal
121
+ ok 3 - should be equal
122
+ ok 4 - should be equal
123
+ ok 5 - should be equal
124
+ ok 6 - should be equal
125
+ ok 3 - Should use a serializer fn from HTTP status # time=3.483ms
126
+
127
+ # Subtest: Should compile a serializer out of a schema if serializer fn missed
128
+ 1..10
129
+ ok 1 - should be equal
130
+ ok 2 - should be equal
131
+ ok 3 - should be equal
132
+ ok 4 - should be equal
133
+ ok 5 - should be equal
134
+ ok 6 - should be equal
135
+ ok 7 - should be equal
136
+ ok 8 - should be equal
137
+ ok 9 - should be equal
138
+ ok 10 - should be equal
139
+ ok 4 - Should compile a serializer out of a schema if serializer fn missed # time=4.587ms
140
+
141
+ # Subtest: Should use a cached serializer fn
142
+ 1..12
143
+ ok 1 - should be equal
144
+ ok 2 - should be equal
145
+ ok 3 - should be equal
146
+ ok 4 - should be equal
147
+ ok 5 - should be equal
148
+ ok 6 - should be equal
149
+ ok 7 - should be equal
150
+ ok 8 - should be equal
151
+ ok 9 - should be equal
152
+ ok 10 - should be equal
153
+ ok 11 - should be equal
154
+ ok 12 - should be equal
155
+ ok 5 - Should use a cached serializer fn # time=1.61ms
156
+
157
+ # Subtest: Should instantiate a WeakMap after first call
158
+ 1..3
159
+ ok 1 - should be equal
160
+ ok 2 - should be equal
161
+ ok 3 - type is WeakMap
162
+ ok 6 - Should instantiate a WeakMap after first call # time=9.099ms
163
+
164
+ ok 3 - Reply\#serializeInput # time=29.553ms
165
+
166
+ 1..3