chrome-devtools-frontend
Version:
Chrome DevTools UI
57 lines (53 loc) • 2.33 kB
text/typescript
// Copyright 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 {
getElementWithinComponent,
renderElementIntoDOM,
} from '../../../testing/DOMHelpers.js';
import * as IconButton from '../icon_button/icon_button.js';
import * as RenderCoordinator from '../render_coordinator/render_coordinator.js';
import * as MarkdownView from './markdown_view.js';
describe('MarkdownImage', () => {
const imageSource = 'Images/lighthouse_logo.svg';
before(async () => {
MarkdownView.MarkdownImagesMap.markdownImages.set('test-icon', {
src: new URL('../../../Images/review.svg', import.meta.url).toString(),
width: '20px',
height: '20px',
isIcon: true,
});
MarkdownView.MarkdownImagesMap.markdownImages.set('test-image', {
src: new URL(`../../../${imageSource}`, import.meta.url).toString(),
width: '100px',
height: '100px',
isIcon: false,
});
});
it('renders icon correctly', async () => {
const component = new MarkdownView.MarkdownImage.MarkdownImage();
component.data = {key: 'test-icon', title: 'Test icon'};
renderElementIntoDOM(component);
await RenderCoordinator.done();
assert.isNotNull(component.shadowRoot);
const iconComponent = getElementWithinComponent(component, 'devtools-icon', IconButton.Icon.Icon);
assert.isNotNull(iconComponent);
const boundingClient = iconComponent.getBoundingClientRect();
assert.strictEqual(boundingClient.width, 20);
assert.strictEqual(boundingClient.height, 20);
});
it('renders image correctly', () => {
const component = new MarkdownView.MarkdownImage.MarkdownImage();
const markdownImageTitle = 'Test image';
const markdownImageKey = 'test-image';
component.data = {key: markdownImageKey, title: markdownImageTitle};
renderElementIntoDOM(component);
assert.isNotNull(component.shadowRoot);
const imageComponent = getElementWithinComponent(component, 'img', HTMLImageElement);
assert.isNotNull(imageComponent);
assert.include(imageComponent.src, imageSource);
assert.strictEqual(imageComponent.alt, markdownImageTitle);
assert.strictEqual(imageComponent.width, 100);
assert.strictEqual(imageComponent.height, 100);
});
});