chrome-devtools-frontend
Version:
Chrome DevTools UI
81 lines (69 loc) • 2.6 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 {assertNodeTextContent, renderElementIntoDOM} from '../../../testing/DOMHelpers.js';
import * as NodeText from './node_text.js';
describe('NodeText', () => {
const NodeTextComponent = NodeText.NodeText.NodeText;
it('renders element with a title', async () => {
const component = new NodeTextComponent();
renderElementIntoDOM(component);
component.data = {
nodeTitle: 'test',
};
assertNodeTextContent(component, 'test');
});
it('renders element with a title and id', async () => {
const component = new NodeTextComponent();
renderElementIntoDOM(component);
component.data = {
nodeTitle: 'test',
nodeId: 'id',
};
assertNodeTextContent(component, 'test#id');
});
it('renders element with a title, id and classes', async () => {
const component = new NodeTextComponent();
renderElementIntoDOM(component);
component.data = {
nodeTitle: 'test',
nodeId: 'id',
nodeClasses: ['class1', 'class2'],
};
assertNodeTextContent(component, 'test#id.class1.class2');
});
it('renders element with a title, id and empty classes', async () => {
const component = new NodeTextComponent();
renderElementIntoDOM(component);
component.data = {
nodeTitle: 'test',
nodeId: 'id',
nodeClasses: [],
};
assertNodeTextContent(component, 'test#id');
});
it('applies the multiple descriptors class when a node has both an ID and some classes', () => {
const component = new NodeTextComponent();
renderElementIntoDOM(component);
component.data = {
nodeTitle: 'test',
nodeId: 'id',
nodeClasses: ['foo'],
};
const idLabel = component.shadowRoot!.querySelector('.node-label-id');
assert.isTrue(idLabel!.classList.contains('node-multiple-descriptors'));
const classLabel = component.shadowRoot!.querySelector('.node-label-class');
assert.isTrue(classLabel!.classList.contains('node-multiple-descriptors'));
});
it('does not apply the multiple descriptors class when the node has only an ID', () => {
const component = new NodeTextComponent();
renderElementIntoDOM(component);
component.data = {
nodeTitle: 'test',
nodeId: 'id',
nodeClasses: [],
};
const idLabel = component.shadowRoot!.querySelector('.node-label-id');
assert.isFalse(idLabel!.classList.contains('node-multiple-descriptors'));
});
});