@spectrum-web-components/menu 0.15.1-devmode.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +9 -9
- package/sp-menu-divider.js +1 -2
- package/sp-menu-divider.js.map +1 -1
- package/sp-menu-group.js +1 -2
- package/sp-menu-group.js.map +1 -1
- package/sp-menu-item.js +1 -2
- package/sp-menu-item.js.map +1 -1
- package/sp-menu.js +1 -2
- package/sp-menu.js.map +1 -1
- package/src/Menu.js +2 -493
- package/src/Menu.js.map +1 -1
- package/src/MenuDivider.js +1 -12
- package/src/MenuDivider.js.map +1 -1
- package/src/MenuGroup.js +2 -71
- package/src/MenuGroup.js.map +1 -1
- package/src/MenuItem.js +7 -406
- package/src/MenuItem.js.map +1 -1
- package/src/index.js +1 -4
- package/src/index.js.map +1 -1
- package/src/menu-divider.css.js +2 -4
- package/src/menu-divider.css.js.map +1 -1
- package/src/menu-group.css.js +2 -4
- package/src/menu-group.css.js.map +1 -1
- package/src/menu-item.css.js +2 -4
- package/src/menu-item.css.js.map +1 -1
- package/src/menu.css.js +2 -4
- package/src/menu.css.js.map +1 -1
- package/src/spectrum-checkmark.css.js +2 -4
- package/src/spectrum-checkmark.css.js.map +1 -1
- package/src/spectrum-chevron.css.js +2 -4
- package/src/spectrum-chevron.css.js.map +1 -1
- package/src/spectrum-itemLabel.css.js +2 -4
- package/src/spectrum-itemLabel.css.js.map +1 -1
- package/src/spectrum-menu-divider.css.js +2 -4
- package/src/spectrum-menu-divider.css.js.map +1 -1
- package/src/spectrum-menu-item.css.js +2 -4
- package/src/spectrum-menu-item.css.js.map +1 -1
- package/src/spectrum-menu-sectionHeading.css.js +2 -4
- package/src/spectrum-menu-sectionHeading.css.js.map +1 -1
- package/src/spectrum-menu.css.js +2 -4
- package/src/spectrum-menu.css.js.map +1 -1
- package/stories/menu-group.stories.js +9 -60
- package/stories/menu-group.stories.js.map +1 -1
- package/stories/menu-item.stories.js +4 -24
- package/stories/menu-item.stories.js.map +1 -1
- package/stories/menu.stories.js +8 -46
- package/stories/menu.stories.js.map +1 -1
- package/stories/submenu.stories.js +16 -153
- package/stories/submenu.stories.js.map +1 -1
- package/test/benchmark/test-basic.js +1 -7
- package/test/benchmark/test-basic.js.map +1 -1
- package/test/menu-group.test-vrt.js +1 -3
- package/test/menu-group.test-vrt.js.map +1 -1
- package/test/menu-group.test.js +6 -170
- package/test/menu-group.test.js.map +1 -1
- package/test/menu-item.test-vrt.js +1 -3
- package/test/menu-item.test-vrt.js.map +1 -1
- package/test/menu-item.test.js +8 -101
- package/test/menu-item.test.js.map +1 -1
- package/test/menu-selects.test.js +5 -504
- package/test/menu-selects.test.js.map +1 -1
- package/test/menu.test-vrt.js +1 -3
- package/test/menu.test-vrt.js.map +1 -1
- package/test/menu.test.js +17 -258
- package/test/menu.test.js.map +1 -1
- package/test/submenu.test-vrt.js +1 -3
- package/test/submenu.test-vrt.js.map +1 -1
- package/test/submenu.test.js +21 -482
- package/test/submenu.test.js.map +1 -1
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["menu-group.test.ts"],
|
|
4
4
|
"sourcesContent": ["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\nimport '@spectrum-web-components/menu/sp-menu-group.js';\nimport '@spectrum-web-components/menu/sp-menu.js';\nimport '@spectrum-web-components/menu/sp-menu-item.js';\nimport '@spectrum-web-components/menu/sp-menu-divider.js';\nimport { Menu, MenuGroup, MenuItem } from '@spectrum-web-components/menu';\nimport {\n elementUpdated,\n expect,\n fixture,\n html,\n oneEvent,\n waitUntil,\n} from '@open-wc/testing';\nimport { testForLitDevWarnings } from '../../../test/testing-helpers.js';\n\nconst managedItems = (menu: Menu | MenuGroup): MenuItem[] => {\n return menu.childItems.filter(\n (item: MenuItem) => item.menuData.selectionRoot === menu\n );\n};\n\ndescribe('Menu group', () => {\n testForLitDevWarnings(\n async () =>\n await fixture<Menu>(\n html`\n <sp-menu selects=\"single\">\n <sp-menu-group selects=\"inherit\">\n <span slot=\"header\">Section Heading</span>\n <sp-menu-item>Action 1</sp-menu-item>\n <sp-menu-item>Action 2</sp-menu-item>\n <sp-menu-item>Action 3</sp-menu-item>\n </sp-menu-group>\n <sp-menu-divider></sp-menu-divider>\n <sp-menu-group selects=\"inherit\">\n <span slot=\"header\">Section Heading</span>\n <sp-menu-item>Save</sp-menu-item>\n <sp-menu-item disabled>Download</sp-menu-item>\n </sp-menu-group>\n </sp-menu>\n `\n )\n );\n it('renders', async () => {\n const el = await fixture<Menu>(\n html`\n <sp-menu selects=\"single\">\n <sp-menu-group selects=\"inherit\">\n <span slot=\"header\">Section Heading</span>\n <sp-menu-item>Action 1</sp-menu-item>\n <sp-menu-item>Action 2</sp-menu-item>\n <sp-menu-item>Action 3</sp-menu-item>\n </sp-menu-group>\n <sp-menu-divider></sp-menu-divider>\n <sp-menu-group selects=\"inherit\">\n <span slot=\"header\">Section Heading</span>\n <sp-menu-item>Save</sp-menu-item>\n <sp-menu-item disabled>Download</sp-menu-item>\n </sp-menu-group>\n </sp-menu>\n `\n );\n\n await waitUntil(() => {\n return managedItems(el).length === 5;\n }, `expected menu group to manage 5 children, received ${managedItems(el).length} of ${el.childItems.length}`);\n await elementUpdated(el);\n\n await expect(el).to.be.accessible();\n });\n it('manages [slot=\"header\"] content', async () => {\n const el = await fixture<MenuGroup>(\n html`\n <sp-menu-group></sp-menu-group>\n `\n );\n await elementUpdated(el);\n const slot = el.shadowRoot.querySelector(\n '[name=\"header\"'\n ) as HTMLSlotElement;\n const header = document.createElement('span');\n header.textContent = 'Header';\n header.slot = 'header';\n expect(header.id).to.equal('');\n let slotchanged = oneEvent(slot, 'slotchange');\n el.append(header);\n await slotchanged;\n expect(header.id).to.equal(\n (el as unknown as { headerId: string }).headerId\n );\n\n slotchanged = oneEvent(slot, 'slotchange');\n header.remove();\n await slotchanged;\n expect(header.id).to.equal('');\n });\n it('handles selects for nested menu groups', async () => {\n const el = await fixture<Menu>(\n html`\n <sp-menu selects=\"single\">\n <sp-menu-item selected>First</sp-menu-item>\n <sp-menu-item>Second</sp-menu-item>\n <sp-menu-group id=\"mg-multi\" selects=\"multiple\">\n <sp-menu-item selected>Multi1</sp-menu-item>\n <sp-menu-item>Multi2</sp-menu-item>\n <sp-menu-group id=\"mg-sub-inherit\" selects=\"inherit\">\n <sp-menu-item>SubInherit1</sp-menu-item>\n <sp-menu-item>SubInherit2</sp-menu-item>\n </sp-menu-group>\n </sp-menu-group>\n <sp-menu-group id=\"mg-single\" selects=\"single\">\n <sp-menu-item selected>Single1</sp-menu-item>\n <sp-menu-item>Single2</sp-menu-item>\n </sp-menu-group>\n <sp-menu-group id=\"mg-none\">\n <sp-menu-item>Inherit1</sp-menu-item>\n <sp-menu-item>Inherit2</sp-menu-item>\n </sp-menu-group>\n <sp-menu-group id=\"mg-inherit\" selects=\"inherit\">\n <sp-menu-item>Inherit1</sp-menu-item>\n <sp-menu-item>Inherit2</sp-menu-item>\n </sp-menu-group>\n </sp-menu>\n `\n );\n\n await waitUntil(\n () => managedItems(el).length === 4,\n `expected outer menu to manage 4 items (2 are inherited), got ${\n managedItems(el).length\n }, with ${el.childItems.length} total`\n );\n await waitUntil(\n () => el.selectedItems.length === 1,\n 'expected 1 selected item'\n );\n await elementUpdated(el);\n\n const firstItem = el.querySelector(\n 'sp-menu-item:nth-of-type(1)'\n ) as MenuItem;\n\n const secondItem = el.querySelector(\n 'sp-menu-item:nth-of-type(2)'\n ) as MenuItem;\n\n const multiGroup = el.querySelector(\n 'sp-menu-group#mg-multi'\n ) as MenuGroup;\n const multiItem1 = multiGroup.querySelector(\n 'sp-menu-item:nth-of-type(1)'\n ) as MenuItem;\n const multiItem2 = multiGroup.querySelector(\n 'sp-menu-item:nth-of-type(2)'\n ) as MenuItem;\n await waitUntil(\n () => managedItems(multiGroup).length === 4,\n `selects=\"#mg-multi should manage 4 items (2 are inherited), received ${\n managedItems(multiGroup).length\n }`\n );\n\n const singleGroup = el.querySelector(\n 'sp-menu-group#mg-single'\n ) as MenuGroup;\n\n const singleItem1 = singleGroup.querySelector(\n 'sp-menu-item:nth-of-type(1)'\n ) as MenuItem;\n const singleItem2 = singleGroup.querySelector(\n 'sp-menu-item:nth-of-type(2)'\n ) as MenuItem;\n await waitUntil(\n () => managedItems(singleGroup).length === 2,\n 'selects=\"#mg-none should manage 4 items (2 are inherited)'\n );\n\n const noneGroup = el.querySelector(\n 'sp-menu-group#mg-none'\n ) as MenuGroup;\n const noneItem1 = noneGroup.querySelector(\n 'sp-menu-item:nth-of-type(1)'\n ) as MenuItem;\n const noneItem2 = noneGroup.querySelector(\n 'sp-menu-item:nth-of-type(2)'\n ) as MenuItem;\n await waitUntil(\n () => managedItems(noneGroup).length === 2,\n `selects=\"#mg-none\" should manage 2 items, received ${\n managedItems(noneGroup).length\n }`\n );\n\n const inheritGroup = el.querySelector(\n 'sp-menu-group#mg-inherit'\n ) as MenuGroup;\n const inheritItem1 = inheritGroup.querySelector(\n 'sp-menu-item:nth-of-type(1)'\n ) as MenuItem;\n const inheritItem2 = inheritGroup.querySelector(\n 'sp-menu-item:nth-of-type(2)'\n ) as MenuItem;\n\n expect(firstItem.getAttribute('role')).to.equal('menuitemradio');\n expect(secondItem.getAttribute('role')).to.equal('menuitemradio');\n expect(multiItem1.getAttribute('role')).to.equal('menuitemcheckbox');\n expect(multiItem2.getAttribute('role')).to.equal('menuitemcheckbox');\n expect(singleItem1.getAttribute('role')).to.equal('menuitemradio');\n expect(singleItem2.getAttribute('role')).to.equal('menuitemradio');\n expect(noneItem1.getAttribute('role')).to.equal('menuitem');\n expect(noneItem2.getAttribute('role')).to.equal('menuitem');\n expect(inheritItem1.getAttribute('role')).to.equal('menuitemradio');\n expect(inheritItem2.getAttribute('role')).to.equal('menuitemradio');\n\n await elementUpdated(firstItem);\n expect(singleItem1.selected).to.be.true;\n expect(firstItem.selected).to.be.true;\n expect(secondItem.selected, 'second item not selected').to.be.false;\n expect(el.value).to.equal('First');\n expect(el.selectedItems.length).to.equal(1);\n\n expect(firstItem.getAttribute('aria-checked')).to.equal('true');\n expect(secondItem.getAttribute('aria-checked')).to.equal('false');\n\n secondItem.click();\n await elementUpdated(el);\n await elementUpdated(firstItem);\n await elementUpdated(secondItem);\n expect(firstItem.selected, 'first item not selected').to.be.false;\n expect(secondItem.selected).to.be.true;\n expect(firstItem.getAttribute('aria-checked')).to.equal('false');\n expect(secondItem.getAttribute('aria-checked')).to.equal('true');\n expect(el.value).to.equal('Second');\n expect(el.selectedItems.length).to.equal(1);\n\n inheritItem1.click();\n await elementUpdated(el);\n await elementUpdated(inheritItem1);\n await elementUpdated(secondItem);\n expect(secondItem.selected, 'second item not selected again').to.be\n .false;\n expect(inheritItem1.selected).to.be.true;\n expect(secondItem.getAttribute('aria-checked')).to.equal('false');\n expect(inheritItem1.getAttribute('aria-checked')).to.equal('true');\n expect(el.value).to.equal('Inherit1');\n expect(el.selectedItems.length).to.equal(1);\n\n noneItem2.click();\n await elementUpdated(noneGroup);\n await elementUpdated(noneItem2);\n expect(inheritItem1.selected).to.be.true;\n expect(noneItem2.selected, 'none item not selected').to.be.false;\n expect(el.value).to.equal('Inherit1');\n expect(el.selectedItems.length).to.equal(1);\n\n singleItem2.click();\n await elementUpdated(singleGroup);\n await elementUpdated(singleItem1);\n await elementUpdated(singleItem2);\n expect(singleItem1.selected, 'first item not selected').to.be.false;\n expect(singleItem2.selected).to.be.true;\n expect(inheritItem1.selected).to.be.true;\n expect(singleItem1.getAttribute('aria-checked')).to.equal('false');\n expect(singleItem2.getAttribute('aria-checked')).to.equal('true');\n expect(el.value).to.equal('Inherit1');\n expect(el.selectedItems.length).to.equal(1);\n //expect(singleGroup.value).to.equal('Inherit1')\n expect(singleGroup.selectedItems.length).to.equal(1);\n\n multiItem2.click();\n await elementUpdated(el);\n await elementUpdated(multiItem2);\n expect(multiItem1.selected).to.be.true;\n expect(multiItem2.selected).to.be.true;\n expect(inheritItem1.selected).to.be.true;\n expect(multiItem1.getAttribute('aria-checked')).to.equal('true');\n expect(multiItem2.getAttribute('aria-checked')).to.equal('true');\n //expect(multiGroup.value).to.equal('Inherit1')\n expect(multiGroup.selectedItems.length).to.equal(2);\n });\n\n it('handles changing managed items for selects changes', async () => {\n const el = await fixture<Menu>(\n html`\n <sp-menu selects=\"multiple\" value-separator=\"--\">\n <sp-menu-item selected>First</sp-menu-item>\n <sp-menu-item>Second</sp-menu-item>\n <sp-menu-group id=\"mg-inherit\" selects=\"inherit\">\n <sp-menu-item>Inherit1</sp-menu-item>\n <sp-menu-item>Inherit2</sp-menu-item>\n <sp-menu-group id=\"mg-sub-inherit\" selects=\"inherit\">\n <sp-menu-item>SubInherit1</sp-menu-item>\n <sp-menu-item selected>SubInherit2</sp-menu-item>\n </sp-menu-group>\n </sp-menu-group>\n </sp-menu>\n `\n );\n\n await waitUntil(\n () => managedItems(el).length == 6,\n `expected outer menu to manage 6 items, manages ${\n managedItems(el).length\n }`\n );\n await waitUntil(\n () => el.selectedItems.length == 2,\n 'expected 2 selected item'\n );\n await elementUpdated(el);\n\n const inheritGroup = el.querySelector(\n 'sp-menu-group#mg-inherit'\n ) as MenuGroup;\n const inheritItem1 = inheritGroup.querySelector(\n 'sp-menu-item:nth-of-type(1)'\n ) as MenuItem;\n const inheritItem2 = inheritGroup.querySelector(\n 'sp-menu-item:nth-of-type(2)'\n ) as MenuItem;\n\n const subInheritGroup = el.querySelector(\n 'sp-menu-group#mg-sub-inherit'\n ) as MenuGroup;\n const subInheritItem1 = subInheritGroup.querySelector(\n 'sp-menu-item:nth-of-type(1)'\n ) as MenuItem;\n const subInheritItem2 = subInheritGroup.querySelector(\n 'sp-menu-item:nth-of-type(2)'\n ) as MenuItem;\n\n expect(inheritItem1.getAttribute('role')).to.equal('menuitemcheckbox');\n expect(inheritItem2.getAttribute('role')).to.equal('menuitemcheckbox');\n expect(subInheritItem1.getAttribute('role')).to.equal(\n 'menuitemcheckbox'\n );\n expect(subInheritItem2.getAttribute('role')).to.equal(\n 'menuitemcheckbox'\n );\n expect(el.value).to.equal('First--SubInherit2');\n expect(el.selectedItems.length).to.equal(2);\n inheritGroup.setAttribute('selects', 'single');\n\n await elementUpdated(inheritGroup);\n await elementUpdated(el);\n\n await waitUntil(() => {\n return managedItems(inheritGroup).length === 4;\n }, `expected new single sub-group to manage 4 items, received ${managedItems(inheritGroup).length} because \"selects === ${inheritGroup.selects}`);\n\n await waitUntil(\n () => managedItems(el).length === 2,\n `expected outer menu to manage 2 items with none inherited, received ${\n managedItems(el).length\n }`\n );\n expect(inheritGroup.value).to.equal('SubInherit2');\n expect(inheritGroup.selectedItems.length).to.equal(1);\n expect(el.value).to.equal('First');\n expect(inheritItem1.getAttribute('role')).to.equal('menuitemradio');\n expect(inheritItem2.getAttribute('role')).to.equal('menuitemradio');\n expect(subInheritItem1.getAttribute('role')).to.equal('menuitemradio');\n expect(subInheritItem2.getAttribute('role')).to.equal('menuitemradio');\n });\n});\n"],
|
|
5
|
-
"mappings": "AAWA
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { regressVisuals } from "../../../test/visual/test.js";
|
|
3
|
-
regressVisuals("MenuItemStories", stories);
|
|
1
|
+
import*as r from"../stories/menu-item.stories.js";import{regressVisuals as s}from"../../../test/visual/test.js";s("MenuItemStories",r);
|
|
4
2
|
//# sourceMappingURL=menu-item.test-vrt.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["menu-item.test-vrt.ts"],
|
|
4
4
|
"sourcesContent": ["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport * as stories from '../stories/menu-item.stories.js';\nimport { regressVisuals } from '../../../test/visual/test.js';\n\nregressVisuals('MenuItemStories', stories);\n"],
|
|
5
|
-
"mappings": "AAYA
|
|
5
|
+
"mappings": "AAYA,kDACA,8DAEA,EAAe,kBAAmB,CAAO",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/test/menu-item.test.js
CHANGED
|
@@ -1,76 +1,17 @@
|
|
|
1
|
-
import
|
|
2
|
-
import "@spectrum-web-components/menu/sp-menu-item.js";
|
|
3
|
-
import {
|
|
4
|
-
elementUpdated,
|
|
5
|
-
expect,
|
|
6
|
-
fixture,
|
|
7
|
-
html,
|
|
8
|
-
waitUntil
|
|
9
|
-
} from "@open-wc/testing";
|
|
10
|
-
import { spy } from "sinon";
|
|
11
|
-
import { sendMouse } from "../../../test/plugins/browser.js";
|
|
12
|
-
describe("Menu item", () => {
|
|
13
|
-
it("renders", async () => {
|
|
14
|
-
const el = await fixture(html`
|
|
1
|
+
import"@spectrum-web-components/menu/sp-menu.js";import"@spectrum-web-components/menu/sp-menu-item.js";import{elementUpdated as l,expect as t,fixture as s,html as u,waitUntil as o}from"@open-wc/testing";import{spy as m}from"sinon";import{sendMouse as d}from"../../../test/plugins/browser.js";describe("Menu item",()=>{it("renders",async()=>{const e=await s(u`
|
|
15
2
|
<sp-menu>
|
|
16
3
|
<sp-menu-item selected>Selected</sp-menu-item>
|
|
17
4
|
</sp-menu>
|
|
18
|
-
`);
|
|
19
|
-
await waitUntil(() => el.childItems.length == 1, "expected menu group to manage 1 child");
|
|
20
|
-
await elementUpdated(el);
|
|
21
|
-
await expect(el).to.be.accessible();
|
|
22
|
-
});
|
|
23
|
-
it("can be disabled", async () => {
|
|
24
|
-
const el = await fixture(html`
|
|
5
|
+
`);await o(()=>e.childItems.length==1,"expected menu group to manage 1 child"),await l(e),await t(e).to.be.accessible()}),it("can be disabled",async()=>{const e=await s(u`
|
|
25
6
|
<sp-menu selects="single">
|
|
26
7
|
<sp-menu-item selected label="This is not disabled">
|
|
27
8
|
Selected
|
|
28
9
|
</sp-menu-item>
|
|
29
10
|
<sp-menu-item disabled>Disabled</sp-menu-item>
|
|
30
11
|
</sp-menu>
|
|
31
|
-
`);
|
|
32
|
-
await elementUpdated(el);
|
|
33
|
-
expect(el.value).to.equal("Selected");
|
|
34
|
-
const disabled = el.querySelector("[disabled]");
|
|
35
|
-
const boundingRect = disabled.getBoundingClientRect();
|
|
36
|
-
sendMouse({
|
|
37
|
-
steps: [
|
|
38
|
-
{
|
|
39
|
-
type: "move",
|
|
40
|
-
position: [
|
|
41
|
-
boundingRect.x + boundingRect.width / 2,
|
|
42
|
-
boundingRect.y + boundingRect.height / 2
|
|
43
|
-
]
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
type: "down"
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
type: "up"
|
|
50
|
-
}
|
|
51
|
-
]
|
|
52
|
-
});
|
|
53
|
-
await elementUpdated(el);
|
|
54
|
-
expect(el.value).to.equal("Selected");
|
|
55
|
-
disabled.click();
|
|
56
|
-
await elementUpdated(el);
|
|
57
|
-
expect(el.value).to.equal("Selected");
|
|
58
|
-
disabled.dispatchEvent(new Event("click", {
|
|
59
|
-
bubbles: true,
|
|
60
|
-
composed: true
|
|
61
|
-
}));
|
|
62
|
-
await elementUpdated(el);
|
|
63
|
-
expect(el.value).to.equal("Selected");
|
|
64
|
-
});
|
|
65
|
-
it("proxies `click()`", async () => {
|
|
66
|
-
const clickTargetSpy = spy();
|
|
67
|
-
const el = await fixture(html`
|
|
12
|
+
`);await l(e),t(e.value).to.equal("Selected");const n=e.querySelector("[disabled]"),a=n.getBoundingClientRect();d({steps:[{type:"move",position:[a.x+a.width/2,a.y+a.height/2]},{type:"down"},{type:"up"}]}),await l(e),t(e.value).to.equal("Selected"),n.click(),await l(e),t(e.value).to.equal("Selected"),n.dispatchEvent(new Event("click",{bubbles:!0,composed:!0})),await l(e),t(e.value).to.equal("Selected")}),it("proxies `click()`",async()=>{const e=m(),n=await s(u`
|
|
68
13
|
<sp-menu
|
|
69
|
-
@click=${(
|
|
70
|
-
clickTargetSpy(event.composedPath()[0]);
|
|
71
|
-
event.stopPropagation();
|
|
72
|
-
event.preventDefault();
|
|
73
|
-
}}
|
|
14
|
+
@click=${i=>{e(i.composedPath()[0]),i.stopPropagation(),i.preventDefault()}}
|
|
74
15
|
>
|
|
75
16
|
<sp-menu-item
|
|
76
17
|
href="https://opensource.adobe.com/spectrum-web-components"
|
|
@@ -78,47 +19,13 @@ describe("Menu item", () => {
|
|
|
78
19
|
Selected Text
|
|
79
20
|
</sp-menu-item>
|
|
80
21
|
</sp-menu>
|
|
81
|
-
`);
|
|
82
|
-
await elementUpdated(el);
|
|
83
|
-
const item = el.querySelector("sp-menu-item");
|
|
84
|
-
const { anchorElement } = item;
|
|
85
|
-
item.anchorElement.dispatchEvent(new FocusEvent("focus"));
|
|
86
|
-
await elementUpdated(item);
|
|
87
|
-
expect(el === document.activeElement).to.be.true;
|
|
88
|
-
item.click();
|
|
89
|
-
expect(clickTargetSpy.calledWith(anchorElement)).to.be.true;
|
|
90
|
-
});
|
|
91
|
-
it("value attribute", async () => {
|
|
92
|
-
const el = await fixture(html`
|
|
22
|
+
`);await l(n);const a=n.querySelector("sp-menu-item"),{anchorElement:c}=a;a.anchorElement.dispatchEvent(new FocusEvent("focus")),await l(a),t(n===document.activeElement).to.be.true,a.click(),t(e.calledWith(c)).to.be.true}),it("value attribute",async()=>{const e=await s(u`
|
|
93
23
|
<sp-menu-item value="selected" selected>
|
|
94
24
|
Selected Text
|
|
95
25
|
</sp-menu-item>
|
|
96
|
-
`);
|
|
97
|
-
expect(el.itemText).to.equal("Selected Text");
|
|
98
|
-
expect(el.value).to.equal("selected");
|
|
99
|
-
});
|
|
100
|
-
it("no value attribute", async () => {
|
|
101
|
-
const el = await fixture(html`
|
|
26
|
+
`);t(e.itemText).to.equal("Selected Text"),t(e.value).to.equal("selected")}),it("no value attribute",async()=>{const e=await s(u`
|
|
102
27
|
<sp-menu-item selected>Selected Text</sp-menu-item>
|
|
103
|
-
`);
|
|
104
|
-
expect(el.itemText).to.equal("Selected Text");
|
|
105
|
-
expect(el.value).to.equal("Selected Text");
|
|
106
|
-
});
|
|
107
|
-
it("value property", async () => {
|
|
108
|
-
const el = await fixture(html`
|
|
28
|
+
`);t(e.itemText).to.equal("Selected Text"),t(e.value).to.equal("Selected Text")}),it("value property",async()=>{const e=await s(u`
|
|
109
29
|
<sp-menu-item selected>Selected Text</sp-menu-item>
|
|
110
|
-
`);
|
|
111
|
-
expect(el.itemText).to.equal("Selected Text");
|
|
112
|
-
expect(el.value).to.equal("Selected Text");
|
|
113
|
-
expect(el.hasAttribute("value")).to.be.false;
|
|
114
|
-
el.value = "Selected Text";
|
|
115
|
-
await elementUpdated(el);
|
|
116
|
-
expect(el.value).to.equal("Selected Text");
|
|
117
|
-
expect(el.getAttribute("value")).to.equal("Selected Text");
|
|
118
|
-
el.value = "";
|
|
119
|
-
await elementUpdated(el);
|
|
120
|
-
expect(el.value).to.equal("Selected Text");
|
|
121
|
-
expect(el.hasAttribute("value")).to.be.false;
|
|
122
|
-
});
|
|
123
|
-
});
|
|
30
|
+
`);t(e.itemText).to.equal("Selected Text"),t(e.value).to.equal("Selected Text"),t(e.hasAttribute("value")).to.be.false,e.value="Selected Text",await l(e),t(e.value).to.equal("Selected Text"),t(e.getAttribute("value")).to.equal("Selected Text"),e.value="",await l(e),t(e.value).to.equal("Selected Text"),t(e.hasAttribute("value")).to.be.false})});
|
|
124
31
|
//# sourceMappingURL=menu-item.test.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["menu-item.test.ts"],
|
|
4
4
|
"sourcesContent": ["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport '@spectrum-web-components/menu/sp-menu.js';\nimport '@spectrum-web-components/menu/sp-menu-item.js';\nimport { Menu, MenuItem } from '@spectrum-web-components/menu';\nimport {\n elementUpdated,\n expect,\n fixture,\n html,\n waitUntil,\n} from '@open-wc/testing';\nimport { spy } from 'sinon';\nimport { sendMouse } from '../../../test/plugins/browser.js';\n\ndescribe('Menu item', () => {\n it('renders', async () => {\n const el = await fixture<Menu>(\n html`\n <sp-menu>\n <sp-menu-item selected>Selected</sp-menu-item>\n </sp-menu>\n `\n );\n await waitUntil(\n () => el.childItems.length == 1,\n 'expected menu group to manage 1 child'\n );\n await elementUpdated(el);\n\n await expect(el).to.be.accessible();\n });\n it('can be disabled', async () => {\n const el = await fixture<Menu>(\n html`\n <sp-menu selects=\"single\">\n <sp-menu-item selected label=\"This is not disabled\">\n Selected\n </sp-menu-item>\n <sp-menu-item disabled>Disabled</sp-menu-item>\n </sp-menu>\n `\n );\n await elementUpdated(el);\n expect(el.value).to.equal('Selected');\n\n const disabled = el.querySelector('[disabled]') as MenuItem;\n const boundingRect = disabled.getBoundingClientRect();\n sendMouse({\n steps: [\n {\n type: 'move',\n position: [\n boundingRect.x + boundingRect.width / 2,\n boundingRect.y + boundingRect.height / 2,\n ],\n },\n {\n type: 'down',\n },\n {\n type: 'up',\n },\n ],\n });\n await elementUpdated(el);\n expect(el.value).to.equal('Selected');\n\n disabled.click();\n await elementUpdated(el);\n expect(el.value).to.equal('Selected');\n\n disabled.dispatchEvent(\n new Event('click', {\n bubbles: true,\n composed: true,\n })\n );\n await elementUpdated(el);\n expect(el.value).to.equal('Selected');\n });\n it('proxies `click()`', async () => {\n const clickTargetSpy = spy();\n const el = await fixture<Menu>(\n html`\n <sp-menu\n @click=${(event: Event) => {\n clickTargetSpy(\n event.composedPath()[0] as HTMLAnchorElement\n );\n event.stopPropagation();\n event.preventDefault();\n }}\n >\n <sp-menu-item\n href=\"https://opensource.adobe.com/spectrum-web-components\"\n >\n Selected Text\n </sp-menu-item>\n </sp-menu>\n `\n );\n\n await elementUpdated(el);\n\n const item = el.querySelector('sp-menu-item') as MenuItem;\n const { anchorElement } = item as unknown as {\n anchorElement: HTMLAnchorElement;\n };\n (\n item as unknown as { anchorElement: HTMLAnchorElement }\n ).anchorElement.dispatchEvent(new FocusEvent('focus'));\n\n await elementUpdated(item);\n expect(el === document.activeElement).to.be.true;\n item.click();\n\n expect(clickTargetSpy.calledWith(anchorElement)).to.be.true;\n });\n it('value attribute', async () => {\n const el = await fixture<MenuItem>(\n html`\n <sp-menu-item value=\"selected\" selected>\n Selected Text\n </sp-menu-item>\n `\n );\n expect(el.itemText).to.equal('Selected Text');\n expect(el.value).to.equal('selected');\n });\n it('no value attribute', async () => {\n const el = await fixture<MenuItem>(\n html`\n <sp-menu-item selected>Selected Text</sp-menu-item>\n `\n );\n expect(el.itemText).to.equal('Selected Text');\n expect(el.value).to.equal('Selected Text');\n });\n it('value property', async () => {\n const el = await fixture<MenuItem>(\n html`\n <sp-menu-item selected>Selected Text</sp-menu-item>\n `\n );\n expect(el.itemText).to.equal('Selected Text');\n expect(el.value).to.equal('Selected Text');\n expect(el.hasAttribute('value')).to.be.false;\n\n el.value = 'Selected Text';\n await elementUpdated(el);\n\n expect(el.value).to.equal('Selected Text');\n expect(el.getAttribute('value')).to.equal('Selected Text');\n\n el.value = '';\n await elementUpdated(el);\n\n expect(el.value).to.equal('Selected Text');\n expect(el.hasAttribute('value')).to.be.false;\n });\n});\n"],
|
|
5
|
-
"mappings": "AAYA
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|