blob: e3e72d0912de8c0d811c48ee6d0cc6fb3e4f7684 [file] [log] [blame]
/**
* @license
* Copyright (C) 2017 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import '../../../test/common-test-setup-karma.js';
import './gr-limited-text.js';
const basicFixture = fixtureFromElement('gr-limited-text');
suite('gr-limited-text tests', () => {
let element;
setup(async () => {
element = basicFixture.instantiate();
await element.updateComplete;
});
test('tooltip without title input', async () => {
element.text = 'abc 123';
await element.updateComplete;
assert.isNotOk(element.shadowRoot.querySelector('gr-tooltip-content'));
element.limit = 10;
await element.updateComplete;
assert.isNotOk(element.shadowRoot.querySelector('gr-tooltip-content'));
element.limit = 3;
await element.updateComplete;
assert.isOk(element.shadowRoot.querySelector('gr-tooltip-content'));
assert.equal(
element.shadowRoot.querySelector('gr-tooltip-content').title,
'abc 123');
element.limit = 100;
await element.updateComplete;
assert.isNotOk(element.shadowRoot.querySelector('gr-tooltip-content'));
element.limit = null;
await element.updateComplete;
assert.isNotOk(element.shadowRoot.querySelector('gr-tooltip-content'));
});
test('with tooltip input', async () => {
element.tooltip = 'abc 123';
await element.updateComplete;
let tooltipContent = element.shadowRoot.querySelector('gr-tooltip-content');
assert.isOk(tooltipContent);
assert.equal(tooltipContent.title, 'abc 123');
element.text = 'abc';
await element.updateComplete;
tooltipContent = element.shadowRoot.querySelector('gr-tooltip-content');
assert.isOk(tooltipContent);
assert.equal(tooltipContent.title, 'abc 123');
element.text = 'abcdef';
element.limit = 3;
await element.updateComplete;
tooltipContent = element.shadowRoot.querySelector('gr-tooltip-content');
assert.isOk(tooltipContent);
assert.equal(tooltipContent.title, 'abcdef (abc 123)');
});
test('_computeDisplayText', () => {
element.text = 'foo bar';
element.limit = 100;
assert.equal(element.renderText(), 'foo bar');
element.limit = 4;
assert.equal(element.renderText(), 'foo…');
element.limit = 0;
assert.equal(element.renderText(), 'foo bar');
});
});