fix: Stricter Testing For Menu Items (#13992)

This PR includes stricter testing for empty objects so that false context menus are not created along with the tests to ensure future compatibility.
This commit is contained in:
Troy 2018-08-17 15:10:14 -05:00 committed by Shelley Vohr
parent 76a592a419
commit 5ea05ddee7
3 changed files with 31 additions and 8 deletions

View file

@ -42,6 +42,23 @@ describe('Menu module', () => {
}).to.not.throw()
})
it('does throw exceptions for empty objects and null values', () => {
expect(() => {
Menu.buildFromTemplate([{}, null])
}).to.throw(/Invalid template for MenuItem: must have at least one of label, role or type/)
})
it('does throw exception for object without role, label, or type attribute', () => {
expect(() => {
Menu.buildFromTemplate([{ 'visible': true }])
}).to.throw(/Invalid template for MenuItem: must have at least one of label, role or type/)
})
it('does throw exception for undefined', () => {
expect(() => {
Menu.buildFromTemplate([undefined])
}).to.throw(/Invalid template for MenuItem: must have at least one of label, role or type/)
})
describe('Menu sorting and building', () => {
describe('sorts groups', () => {
it('does a simple sort', () => {