{"version":3,"sources":["../test/requiredBy.jsx"],"names":["assertPasses","validator","element","propName","to","equal","assertFails","be","instanceOf","Error","describe","it","bool","number","NaN","isRequired"],"mappings":"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","sourcesContent":["import { expect } from 'chai';\nimport React from 'react';\nimport { bool, number } from 'prop-types';\n\nimport { requiredBy } from '..';\nimport callValidator from './_callValidator';\n\nfunction assertPasses(validator, element, propName) {\n expect(callValidator(validator, element, propName, '\"requiredBy\" test')).to.equal(null);\n}\n\nfunction assertFails(validator, element, propName) {\n expect(callValidator(validator, element, propName, '\"requiredBy\" test')).to.be.instanceOf(Error);\n}\n\ndescribe('requiredBy propTypes', () => {\n describe('passed prop name into requiredBy exists', () => {\n it('passes when no props are present', () => {\n assertPasses(requiredBy('bar', bool), (
), 'foo');\n });\n\n it('passes when the prop that the requiredBy prop needs is passed in', () => {\n assertPasses(requiredBy('bar', bool), (
), 'foo');\n assertPasses(requiredBy('bar', number, 42), (
), 'foo');\n assertPasses(requiredBy('bar', number, NaN), (
), 'foo');\n });\n\n it('fails when the prop the requiredBy prop needs matches the defaultValue', () => {\n assertFails(requiredBy('bar', number, 42), (
), 'foo');\n assertFails(requiredBy('bar', number, 0), (
), 'foo');\n assertFails(requiredBy('bar', number, NaN), (
), 'foo');\n });\n\n it('fails when the prop the requiredBy prop needs has the wrong prop type', () => {\n assertFails(requiredBy('bar', bool), (
), 'foo');\n });\n\n it('fails when the prop the requiredBy prop needs does not exist', () => {\n assertFails(requiredBy('bar', bool), (
), 'foo');\n });\n });\n\n describe('passed prop name into requiredBy does not exist', () => {\n it('passes when the prop the required prop needs is passed in', () => {\n assertPasses(requiredBy('bar', bool), (
), 'foo');\n });\n\n it('passes when the prop the required prop needs does not exist', () => {\n assertPasses(requiredBy('bar', bool), (
), 'foo');\n });\n });\n\n describe('.isRequired', () => {\n it('is required when the requiredBy prop is present', () => {\n const validator = requiredBy('bar', bool).isRequired;\n assertFails(validator, (
), 'foo');\n assertPasses(validator, (
), 'foo');\n });\n it('is required when the requiredBy prop is absent', () => {\n const validator = requiredBy('bar', bool).isRequired;\n assertFails(validator, (
), 'foo');\n assertPasses(validator, (
), 'foo');\n });\n it('is required when the prop matches the defaultValue', () => {\n const validator = requiredBy('bar', number, 42).isRequired;\n assertFails(validator, (
), 'foo');\n assertFails(validator, (
), 'foo');\n assertFails(validator, (
), 'foo');\n assertPasses(validator, (
), 'foo');\n assertPasses(validator, (
), 'foo');\n });\n });\n});\n"],"file":"requiredBy.js"}