UNPKG

under-the-sun

Version:

A nothing-new-under-the-sun testing framework.

2 lines (1 loc) 2.12 kB
"use strict";var D=Object.create;var i=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var G=Object.getPrototypeOf,L=Object.prototype.hasOwnProperty;var _=(e,t)=>{for(var r in t)i(e,r,{get:t[r],enumerable:!0})},R=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of P(t))!L.call(e,o)&&o!==r&&i(e,o,{get:()=>t[o],enumerable:!(s=E(t,o))||s.enumerable});return e};var M=(e,t,r)=>(r=e!=null?D(G(e)):{},R(t||!e||!e.__esModule?i(r,"default",{value:e,enumerable:!0}):r,e)),N=e=>R(i({},"__esModule",{value:!0}),e);var $={};_($,{defineTestGroup:()=>k,setTestReporter:()=>v,test:()=>d});module.exports=N($);var f=require("node:perf_hooks");var u=require("perf_hooks");function g(){let e=u.performance.now(),t=0,r=0;return{reportStart(){e=u.performance.now()},reportResult(s,o){if(!o.error){t++;return}r++,h("FAIL: "+s),console.error(o.error.stack??o.error.message),console.error()},reportFinish(){let s=t+r,o=u.performance.now()-e,T=`${t}/${s} tests passed (${Math.ceil(o)}ms)`;(r>0?h:F)(T)}}}function h(e){console.error("\x1B[31m%s\x1B[0m",e)}function F(e){console.info("\x1B[32m%s\x1B[0m",e)}var S=M(require("node:assert"));function x(e){let t=n();t.testsRunning!==null&&t.filterByDescription.test(e.description)&&t.testsRunning.push(t.scheduler.schedule(e))}function a(e){S.default.strictEqual(n().testsRunning,null,e)}function y(){return{schedule(e){return e.run()}}}var b=y;var m=global??window??{},c=Symbol.for("__UNDER_THE_SUN_STATE__"),l;function n(){return l||(m[c]||(m[c]={testsRunning:null,reporter:g(),scheduler:b(),filterByDescription:/.*/}),l=m[c],l)}function B(e){return e instanceof Error?e:new Error(JSON.stringify(e))}async function w(e){try{return await e(),null}catch(t){return B(t)}}function d(e,t){x({description:e,run:async()=>{let s=f.performance.now(),o=await w(t),p={runtimeMs:f.performance.now()-s,error:o};return await n().reporter.reportResult(e,p),p}})}function k(e){return(t,r)=>d(e+t,r)}function v(e){a("Reporter should not be set in the middle of a test run"),n().reporter=e}0&&(module.exports={defineTestGroup,setTestReporter,test});