diff --git a/package.json b/package.json index 5d2b389..8127744 100644 --- a/package.json +++ b/package.json @@ -34,6 +34,7 @@ "lolex": "^1.3.2", "nodeunit": "^0.9.1", "react": "^0.14.0-rc1", + "react-addons-pure-render-mixin": "^0.14.2", "react-addons-test-utils": "^0.14.0-rc1", "react-dom": "^0.14.0-rc1", "sinon": "^1.17.1", diff --git a/tests/Element-spec.js b/tests/Element-spec.js index 83acf34..38b93ac 100644 --- a/tests/Element-spec.js +++ b/tests/Element-spec.js @@ -1,5 +1,7 @@ import React from 'react'; import TestUtils from 'react-addons-test-utils'; +import PureRenderMixin from 'react-addons-pure-render-mixin'; +import sinon from 'sinon'; import Formsy from './..'; import TestInput, { InputFactory } from './utils/TestInput'; @@ -537,6 +539,30 @@ export default { test.done(); + }, + + 'input should rendered once with PureRenderMixin': function (test) { + + var renderSpy = sinon.spy(); + + const Input = InputFactory({ + mixins: [Formsy.Mixin, PureRenderMixin], + render() { + renderSpy(); + return ; + } + }); + + const form = TestUtils.renderIntoDocument( + + + + ); + + test.equal(renderSpy.calledOnce, true); + + test.done(); + } };