blob: acb309f7ae139d1d16ea1837585b09ed95778049 [file] [log] [blame]
/**
* @license
* Copyright 2023 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
import '../../../test/common-test-setup';
import {fixture, assert} from '@open-wc/testing';
import {html} from 'lit';
import './gr-weblink';
import {GrWeblink} from './gr-weblink';
import {WebLinkInfo} from '../../../api/rest-api';
suite('gr-weblink tests', () => {
test('renders with image', async () => {
const info: WebLinkInfo = {
name: 'gitiles',
url: 'https://www.google.com',
image_url: 'https://www.google.com/favicon.ico',
tooltip: 'Open in Gitiles',
};
const element = await fixture<GrWeblink>(
html`<gr-weblink .info=${info}></gr-weblink>`
);
assert.shadowDom.equal(
element,
/* HTML */ `
<a href="https://www.google.com" rel="noopener" target="_blank">
<gr-tooltip-content title="Open in Gitiles" has-tooltip>
<img src="https://www.google.com/favicon.ico" />
</gr-tooltip-content>
</a>
`
);
});
test('renders with text', async () => {
const info: WebLinkInfo = {
name: 'gitiles',
url: 'https://www.google.com',
tooltip: 'Open in Gitiles',
};
const element = await fixture<GrWeblink>(
html`<gr-weblink .info=${info}></gr-weblink>`
);
assert.shadowDom.equal(
element,
/* HTML */ `
<a href="https://www.google.com" rel="noopener" target="_blank">
<gr-tooltip-content title="Open in Gitiles" has-tooltip>
<span>gitiles</span>
</gr-tooltip-content>
</a>
`
);
});
});