UNPKG

chrome-devtools-frontend

Version:
36 lines (31 loc) 1.66 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 * as UI from './legacy.js'; describe('ShortcutTreeNode', () => { it('can be instantiated without issues', () => { const node = new UI.ShortcutRegistry.ShortcutTreeNode(0, 0); assert.isEmpty(node.actions(), 'node should not have any actions upon instantiation'); assert.isFalse(node.hasChords(), 'node should not have any chords'); assert.strictEqual(node.key(), 0, 'node should set key property'); }); it('can add a mapping', () => { const node = new UI.ShortcutRegistry.ShortcutTreeNode(0, 0); node.addKeyMapping([12, 154, 36], 'test action'); const leafNode = node.getNode(12)?.getNode(154)?.getNode(36); assert.isOk(leafNode, 'node should have a descendant for the mapping'); assert.include( leafNode?.actions() || [], 'test action', 'the mapping\'s node should have the \'test action\' action'); assert.isTrue(node.hasChords(), 'node should have chords'); assert.isOk(node.getNode(12), 'node should have a child for key=12'); assert.isNotOk(node.getNode(154), 'node should not have a direct child for key=154'); }); it('can clear itself', () => { const node = new UI.ShortcutRegistry.ShortcutTreeNode(0, 0); node.addKeyMapping([12, 154, 36], 'test action'); node.addAction('another action'); node.clear(); assert.isEmpty(node.actions(), 'node should not have any actions after being cleared'); assert.isFalse(node.hasChords(), 'node should not have any chords after being cleared'); }); });