{"version":3,"sources":["../test/childrenOf.jsx"],"names":["SFC","Component","React","describe","assertPasses","validator","element","propName","componentName","to","equal","assertFails","be","instanceOf","Error","it","node","isRequired","number","string"],"mappings":"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","sourcesContent":["import { expect } from 'chai';\nimport { node, number, string } from 'prop-types';\nimport React from 'react';\n\nimport { childrenOf, elementType, or } from '..';\n\nimport callValidator from './_callValidator';\n\nfunction SFC() {}\nclass Component extends React.Component {} // eslint-disable-line react/prefer-stateless-function\n\ndescribe('childrenOf', () => {\n function assertPasses(validator, element, propName, componentName) {\n expect(callValidator(validator, element, propName, componentName)).to.equal(null);\n }\n\n function assertFails(validator, element, propName, componentName) {\n expect(callValidator(validator, element, propName, componentName)).to.be.instanceOf(Error);\n }\n\n it('fails on a non-children prop', () => {\n const validator = childrenOf(node);\n\n assertFails(\n validator,\n (
),\n 'foo',\n 'non-children optional',\n );\n\n assertFails(\n validator.isRequired,\n (
),\n 'foo',\n 'non-children optional',\n );\n });\n\n describe('with no children', () => {\n it('passes when optional', () => {\n assertPasses(\n childrenOf(node),\n (
),\n 'children',\n 'optional empty',\n );\n\n assertPasses(\n childrenOf(node),\n (
{[]}
),\n 'children',\n 'optional empty array',\n );\n });\n\n it('fails when required', () => assertFails(\n childrenOf(node).isRequired,\n (
),\n 'children',\n 'optional empty',\n ));\n });\n\n describe('with non-element children', () => {\n it('passes with multiple numbers', () => assertPasses(\n childrenOf(number),\n (\n
\n {1}\n {2}\n {3}\n
\n ),\n 'children',\n 'numbers',\n ));\n\n it('passes with multiple numbers when required', () => assertPasses(\n childrenOf(number).isRequired,\n (\n
\n {1}\n {2}\n {3}\n
\n ),\n 'children',\n 'numbers',\n ));\n\n it('passes with multiple strings', () => assertPasses(\n childrenOf(string),\n (\n
\n a\n b\n c\n
\n ),\n 'children',\n 'strings',\n ));\n\n it('passes with multiple strings when required', () => assertPasses(\n childrenOf(string).isRequired,\n (\n
\n a\n b\n c\n
\n ),\n 'children',\n 'strings',\n ));\n\n it('passes with strings and numbers', () => assertPasses(\n childrenOf(or([string, number])),\n (\n
\n a\n b\n c\n {1}\n {2}\n {3}\n
\n ),\n 'children',\n 'strings + numbers',\n ));\n\n it('passes with strings and numbers when required', () => assertPasses(\n childrenOf(or([string, number])).isRequired,\n (\n
\n a\n b\n c\n {1}\n {2}\n {3}\n
\n ),\n 'children',\n 'strings + numbers',\n ));\n });\n\n describe('with a single child of the specified type', () => {\n it('passes with a DOM element', () => assertPasses(\n childrenOf(elementType('span')),\n (
),\n 'children',\n 'span!',\n ));\n\n it('passes with an SFC', () => assertPasses(\n childrenOf(elementType(SFC)),\n (
),\n 'children',\n 'SFC!',\n ));\n\n it('passes with a Component', () => assertPasses(\n childrenOf(elementType(Component)),\n (
),\n 'children',\n 'Component!',\n ));\n });\n\n describe('with multiple children of the specified type', () => {\n it('passes with a DOM element', () => assertPasses(\n childrenOf(elementType('span')),\n (\n
\n \n \n \n \n
\n ),\n 'children',\n 'span!',\n ));\n\n it('passes with an SFC', () => assertPasses(\n childrenOf(elementType(SFC)),\n (\n
\n \n \n \n \n
\n ),\n 'children',\n 'SFC!',\n ));\n\n it('passes with a Component', () => assertPasses(\n childrenOf(elementType(Component)),\n (\n
\n \n \n \n \n
\n ),\n 'children',\n 'Component!',\n ));\n });\n\n describe('with children of the specified types passed as an array', () => {\n it('passes with a DOM element', () => assertPasses(\n childrenOf(elementType('span')),\n (\n
\n {[\n ,\n ,\n ,\n ]}\n
\n ),\n 'children',\n 'span!',\n ));\n\n it('passes with an SFC', () => assertPasses(\n childrenOf(elementType(SFC)),\n (\n
\n {[\n ,\n ,\n ,\n ]}\n
\n ),\n 'children',\n 'SFC!',\n ));\n\n it('passes with a Component', () => assertPasses(\n childrenOf(elementType(Component)),\n (\n
\n {[\n ,\n ,\n ,\n ]}\n
\n ),\n 'children',\n 'Component!',\n ));\n });\n\n describe('when an unspecified type is provided as a child', () => {\n it('fails expecting a DOM element', () => assertFails(\n childrenOf(elementType('span')),\n (\n
\n \n
No way.
\n
\n ),\n 'children',\n 'span!',\n ));\n\n it('fails expecting an SFC', () => assertFails(\n childrenOf(elementType(SFC)),\n (\n
\n \n
No way.
\n
\n ),\n 'children',\n 'SFC!',\n ));\n\n it('fails expecting a Component', () => assertFails(\n childrenOf(elementType(Component)),\n (\n
\n \n
No way.
\n
\n ),\n 'children',\n 'Component!',\n ));\n });\n});\n"],"file":"childrenOf.js"}