github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/web/src/time.test.ts (about) 1 import moment from "moment" 2 import { formatBuildDuration } from "./time" 3 4 it("format durations correctly", () => { 5 function assertFormatted(expected: string, ms: number) { 6 expect(formatBuildDuration(moment.duration(ms))).toEqual(expected) 7 } 8 9 let second = 1000 10 assertFormatted("1.0s", second) 11 assertFormatted("20s", 20 * second) 12 assertFormatted("40s", 40 * second) 13 assertFormatted("50s", 50 * second) 14 assertFormatted("1m", 70 * second) 15 assertFormatted("2m", 150 * second) 16 assertFormatted("1h", 4000 * second) 17 18 // there used to be a bug where the UI would flip from 19 // "10.0s" to "10s", which looked weird. 20 assertFormatted("9.9s", 10 * second - 100) 21 assertFormatted("9.9s", 10 * second - 51) 22 assertFormatted("10s", 10 * second - 50) 23 assertFormatted("10s", 10 * second - 1) 24 assertFormatted("10s", 10 * second) 25 assertFormatted("10s", 10 * second + 1) 26 })