UNPKG

chrome-devtools-frontend

Version:
81 lines (69 loc) 2.6 kB
// 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')); }); });