From 9304aa5456253cd5f588748a293b7652c09cf9ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=B3=D0=B0=D1=84=D0=BE=D0=BD=D0=BE=D0=B2=20=D0=98?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD?= Date: Fri, 9 Sep 2016 17:28:28 +0300 Subject: [PATCH] support short prop declaration as prop: true --- src/core/util/props.js | 2 +- test/unit/features/options/props.spec.js | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/core/util/props.js b/src/core/util/props.js index 5cf5e16671d..36acf6a2a39 100644 --- a/src/core/util/props.js +++ b/src/core/util/props.js @@ -91,7 +91,7 @@ function assertProp ( return } let type = prop.type - let valid = !type + let valid = !type || type === true const expectedTypes = [] if (type) { if (!Array.isArray(type)) { diff --git a/test/unit/features/options/props.spec.js b/test/unit/features/options/props.spec.js index efcec3f2261..e0d2f08f114 100644 --- a/test/unit/features/options/props.spec.js +++ b/test/unit/features/options/props.spec.js @@ -244,6 +244,19 @@ describe('Options props', () => { expect(console.error.calls.count()).toBe(2) expect('Expected Boolean').toHaveBeenWarned() }) + + it('optional prop of any type (type: true or prop: true)', () => { + makeInstance(1, true) + expect(console.error.calls.count()).toBe(0) + makeInstance('any', true) + expect(console.error.calls.count()).toBe(0) + makeInstance({}, true) + expect(console.error.calls.count()).toBe(0) + makeInstance(undefined, true) + expect(console.error.calls.count()).toBe(0) + makeInstance(null, true) + expect(console.error.calls.count()).toBe(0) + }) }) it('should warn data fields already defined as a prop', () => {