{"version":3,"sources":["../test/ref.jsx"],"names":["itIfReact","version","args","it","skip","describe","ref","to","equal","assertPasses","validator","element","propName","assertFails","be","instanceOf","Error","undefined","React","createRef","A","props","Component","B","PureComponent","isRequired"],"mappings":"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","sourcesContent":["import { expect } from 'chai';\nimport React from 'react';\nimport ifReact from 'enzyme-adapter-react-helper/build/ifReact';\n\nimport { ref } from '..';\n\nimport callValidator from './_callValidator';\n\nconst itIfReact = (version, ...args) => ifReact(version, () => it(...args), () => it.skip(...args));\n\ndescribe('ref', () => {\n it('is a function', () => {\n expect(typeof ref).to.equal('function');\n });\n\n function assertPasses(validator, element, propName) {\n expect(callValidator(validator, element, propName, '\"ref\" test')).to.equal(null);\n }\n\n function assertFails(validator, element, propName) {\n expect(callValidator(validator, element, propName, '\"ref\" test')).to.be.instanceOf(Error);\n }\n\n describe('not required', () => {\n const validator = ref();\n\n it('passes on null or undefined', () => {\n assertPasses(validator,
, 'someRef');\n assertPasses(validator,
, 'someRef');\n });\n\n it('passes when not present', () => {\n assertPasses(validator,
, 'someRef');\n });\n\n it('passes with callback refs', () => {\n assertPasses(validator,
{}} />, 'someRef');\n });\n\n itIfReact('>= 16.3', 'passes with ref objects', () => {\n assertPasses(validator,
, 'someRef');\n });\n\n it('fails with React components', () => {\n class A extends React.Component {\n constructor(props) {} // eslint-disable-line\n }\n assertFails(validator,
, 'someRef');\n });\n\n itIfReact('>= 15.2', 'fails with React pure components', () => {\n class B extends React.PureComponent {\n constructor(props) {} // eslint-disable-line\n }\n assertFails(validator,
, 'someRef');\n });\n\n it('fails with other non-refs', () => {\n assertFails(validator,
, 'someRef');\n });\n });\n\n describe('required', () => {\n const validator = ref().isRequired;\n\n it('fails on null or undefined', () => {\n assertFails(validator,
, 'someRef');\n assertFails(validator,
, 'someRef');\n });\n\n it('fails when not present', () => {\n assertFails(validator,
, 'someRef');\n });\n\n it('passes with callback refs', () => {\n assertPasses(validator,
{}} />, 'someRef');\n });\n\n itIfReact('>= 16.3', 'passes with ref objects', () => {\n assertPasses(validator,
, 'someRef');\n });\n\n it('fails with React components', () => {\n class A extends React.Component {\n constructor(props) {} // eslint-disable-line\n }\n assertFails(validator,
, 'someRef');\n });\n\n itIfReact('>= 15.2', 'fails with React pure components', () => {\n class B extends React.PureComponent {\n constructor(props) {} // eslint-disable-line\n }\n assertFails(validator,
, 'someRef');\n });\n\n it('fails with other non-refs', () => {\n assertFails(validator,
, 'someRef');\n });\n });\n});\n"],"file":"ref.js"}