UNPKG

e2ed

Version:

E2E testing framework over Playwright

35 lines (34 loc) 1.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getDurationWithUnits = getDurationWithUnits; /** * Get the duration of time interval in hours, minutes, seconds and milliseconds. * `getDurationWithUnits(1213)` = `'1s 213ms'`. * Should be a pure function without dependencies in the form of a function declaration, * because it is used in the JS code of HTML report. */ function getDurationWithUnits(durationInMs) { const msInSecond = 1_000; const timeMultiplicator = 60; const roundedDuration = Math.round(durationInMs); const remainderInMs = roundedDuration % msInSecond; const durationInSeconds = Math.round((roundedDuration - remainderInMs) / msInSecond); const remainderInSeconds = durationInSeconds % timeMultiplicator; const durationInMinutes = Math.round((durationInSeconds - remainderInSeconds) / timeMultiplicator); const remainderInMinutes = durationInMinutes % timeMultiplicator; const durationInHours = Math.round((durationInMinutes - remainderInMinutes) / timeMultiplicator); const parts = []; if (remainderInMs > 0) { parts.unshift(`${remainderInMs}ms`); } if (remainderInSeconds > 0) { parts.unshift(`${remainderInSeconds}s`); } if (remainderInMinutes > 0) { parts.unshift(`${remainderInMinutes}m`); } if (durationInHours > 0) { parts.unshift(`${durationInHours}h`); } return parts.slice(0, 2).join(' ') || '0ms'; }