chrome-devtools-frontend
Version:
Chrome DevTools UI
55 lines (45 loc) • 1.94 kB
text/typescript
// Copyright (c) 2020 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 {describeWithEnvironment} from '../../testing/EnvironmentHelpers.js';
import * as LinearMemoryInspector from './linear_memory_inspector.js';
function createArray() {
const array = [];
for (let i = 0; i < 100; ++i) {
array.push(i);
}
return new Uint8Array(array);
}
describeWithEnvironment('LinearMemoryInspectorPane', () => {
class Uint8Wrapper {
private array: Uint8Array<ArrayBuffer>;
constructor(array: Uint8Array<ArrayBuffer>) {
this.array = array;
}
getRange(start: number, end: number): Promise<Uint8Array<ArrayBuffer>> {
return Promise.resolve(this.array.slice(start, end));
}
length(): number {
return this.array.length;
}
}
it('can be created', () => {
const instance = LinearMemoryInspector.LinearMemoryInspectorPane.LinearMemoryInspectorPane.instance();
const arrayWrapper = new Uint8Wrapper(createArray());
const scriptId = 'script-id';
const title = 'Test Title';
instance.create(scriptId, title, arrayWrapper, 10);
const tabbedPane = instance.contentElement.querySelector('.tabbed-pane');
assert.exists(tabbedPane);
const inspector = tabbedPane.querySelector('devtools-linear-memory-inspector-inspector');
assert.notInstanceOf(inspector, HTMLSpanElement);
});
it('placeholder is as expected', () => {
const instance = LinearMemoryInspector.LinearMemoryInspectorPane.LinearMemoryInspectorPane.instance();
const placeholder = instance.createPlaceholder();
assert.deepEqual(placeholder.querySelector('.empty-state-header')?.textContent, 'No open inspections');
assert.deepEqual(
placeholder.querySelector('.empty-state-description > span')?.textContent,
'On this page you can inspect binary data.');
});
});