UNPKG

chrome-devtools-frontend

Version:
153 lines (142 loc) 3.43 kB
// Copyright 2023 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import * as Trace from '../../../../models/trace/trace.js'; import {describeWithLocale} from '../../../../testing/EnvironmentHelpers.js'; import * as PerfUI from './perf_ui.js'; const {Milli: MilliSeconds} = Trace.Types.Timing; describeWithLocale('TimelineGrid', () => { it('calculates a set of dividers for the grid', async () => { const calculator = new PerfUI.TimelineOverviewCalculator.TimelineOverviewCalculator(); calculator.setDisplayWidth(200); calculator.setBounds(MilliSeconds(0), MilliSeconds(200)); const dividers = PerfUI.TimelineGrid.TimelineGrid.calculateGridOffsets(calculator); assert.deepEqual(dividers, { offsets: [ { position: 0, time: 0, }, { position: 100, time: 100, }, { position: 200, time: 200, }, ], precision: 0, }); }); it('ups the precision if it is showing decimal values', async () => { const calculator = new PerfUI.TimelineOverviewCalculator.TimelineOverviewCalculator(); calculator.setDisplayWidth(1000); calculator.setBounds(MilliSeconds(0), MilliSeconds(2)); const dividers = PerfUI.TimelineGrid.TimelineGrid.calculateGridOffsets(calculator); assert.deepEqual(dividers, { offsets: [ { position: 0, time: 0, }, { position: 100, time: 0.2, }, { position: 200, time: 0.4, }, { position: 300, time: 0.6, }, { position: 400, time: 0.8, }, { position: 500, time: 1, }, { position: 600, time: 1.2, }, { position: 700, time: 1.4, }, { position: 800, time: 1.6, }, { position: 900, time: 1.8, }, { position: 1000, time: 2, }, ], precision: 1, }); }); it('generates more dividers if there is more pixel room', async () => { const calculator = new PerfUI.TimelineOverviewCalculator.TimelineOverviewCalculator(); calculator.setDisplayWidth(1000); calculator.setBounds(MilliSeconds(0), MilliSeconds(200)); const dividers = PerfUI.TimelineGrid.TimelineGrid.calculateGridOffsets(calculator); assert.deepEqual(dividers, { offsets: [ { position: 0, time: 0, }, { position: 100, time: 20, }, { position: 200, time: 40, }, { position: 300, time: 60, }, { position: 400, time: 80, }, { position: 500, time: 100, }, { position: 600, time: 120, }, { position: 700, time: 140, }, { position: 800, time: 160, }, { position: 900, time: 180, }, { position: 1000, time: 200, }, ], precision: 0, }); }); });