blob: b2fed78331d887e4c3e0794c19aeb91dc9461a46 [file] [log] [blame]
/**
* @license
* Copyright 2018 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
import * as sinon from 'sinon';
import '../../../test/common-test-setup';
import './gr-shell-command';
import {GrShellCommand} from './gr-shell-command';
import {GrCopyClipboard} from '../gr-copy-clipboard/gr-copy-clipboard';
import {queryAndAssert} from '../../../test/test-utils';
import {fixture, html, assert} from '@open-wc/testing';
suite('gr-shell-command tests', () => {
let element: GrShellCommand;
setup(async () => {
element = await fixture(html`<gr-shell-command></gr-shell-command>`);
element.command = `git fetch http://gerrit@localhost:8080/a/test-project
refs/changes/05/5/1 && git checkout FETCH_HEAD`;
await element.updateComplete;
});
test('render', async () => {
element.label = 'label1';
await element.updateComplete;
assert.shadowDom.equal(
element,
/* HTML */ `
<label> label1 </label>
<div class="commandContainer">
<gr-copy-clipboard buttontitle="" hastooltip=""> </gr-copy-clipboard>
</div>
`
);
});
test('focusOnCopy', async () => {
const focusStub = sinon.stub(
queryAndAssert<GrCopyClipboard>(element, 'gr-copy-clipboard')!,
'focusOnCopy'
);
await element.focusOnCopy();
assert.isTrue(focusStub.called);
});
});