35 lines
1.3 KiB
TypeScript
35 lines
1.3 KiB
TypeScript
import { expect, tap } from '@git.zone/tstest/tapbundle';
|
|
import { DeesContextmenu } from '../ts_web/elements/dees-contextmenu.js';
|
|
import { demoFunc } from '../ts_web/elements/dees-contextmenu.demo.js';
|
|
|
|
tap.test('should render context menu demo', async () => {
|
|
// Create demo container
|
|
const demoContainer = document.createElement('div');
|
|
document.body.appendChild(demoContainer);
|
|
|
|
// Render the demo
|
|
const demoContent = demoFunc();
|
|
|
|
// Create a temporary element to hold the rendered template
|
|
const tempDiv = document.createElement('div');
|
|
tempDiv.innerHTML = demoContent.strings.join('');
|
|
|
|
// Check that panels are rendered
|
|
const panels = tempDiv.querySelectorAll('dees-panel');
|
|
expect(panels.length).toEqual(4);
|
|
|
|
// Check panel headings
|
|
expect(panels[0].getAttribute('heading')).toEqual('Basic Context Menu with Nested Submenus');
|
|
expect(panels[1].getAttribute('heading')).toEqual('Component-Specific Context Menu');
|
|
expect(panels[2].getAttribute('heading')).toEqual('Advanced Context Menu Example');
|
|
expect(panels[3].getAttribute('heading')).toEqual('Static Context Menu (Always Visible)');
|
|
|
|
// Check that static context menu exists
|
|
const staticMenu = tempDiv.querySelector('dees-contextmenu');
|
|
expect(staticMenu).toBeTruthy();
|
|
|
|
// Clean up
|
|
demoContainer.remove();
|
|
});
|
|
|
|
export default tap.start(); |