aboutsummaryrefslogtreecommitdiff
path: root/thirdparty/preact/test/browser/spec.js
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/preact/test/browser/spec.js')
-rw-r--r--thirdparty/preact/test/browser/spec.js127
1 files changed, 0 insertions, 127 deletions
diff --git a/thirdparty/preact/test/browser/spec.js b/thirdparty/preact/test/browser/spec.js
deleted file mode 100644
index d33cdb93f..000000000
--- a/thirdparty/preact/test/browser/spec.js
+++ /dev/null
@@ -1,127 +0,0 @@
-import { h, render, rerender, Component } from '../../src/preact';
-/** @jsx h */
-
-const EMPTY_CHILDREN = [];
-
-describe('Component spec', () => {
- let scratch;
-
- before( () => {
- scratch = document.createElement('div');
- (document.body || document.documentElement).appendChild(scratch);
- });
-
- beforeEach( () => {
- scratch.innerHTML = '';
- });
-
- after( () => {
- scratch.parentNode.removeChild(scratch);
- scratch = null;
- });
-
- describe('defaultProps', () => {
- it('should apply default props on initial render', () => {
- class WithDefaultProps extends Component {
- constructor(props, context) {
- super(props, context);
- expect(props).to.be.deep.equal({
- children: EMPTY_CHILDREN,
- fieldA: 1, fieldB: 2,
- fieldC: 1, fieldD: 2
- });
- }
- render() {
- return <div />;
- }
- }
- WithDefaultProps.defaultProps = { fieldC: 1, fieldD: 1 };
- render(<WithDefaultProps fieldA={1} fieldB={2} fieldD={2} />, scratch);
- });
-
- it('should apply default props on rerender', () => {
- let doRender;
- class Outer extends Component {
- constructor() {
- super();
- this.state = { i:1 };
- }
- componentDidMount() {
- doRender = () => this.setState({ i: 2 });
- }
- render(props, { i }) {
- return <WithDefaultProps fieldA={1} fieldB={i} fieldD={i} />;
- }
- }
- class WithDefaultProps extends Component {
- constructor(props, context) {
- super(props, context);
- this.ctor(props, context);
- }
- ctor(){}
- componentWillReceiveProps() {}
- render() {
- return <div />;
- }
- }
- WithDefaultProps.defaultProps = { fieldC: 1, fieldD: 1 };
-
- let proto = WithDefaultProps.prototype;
- sinon.spy(proto, 'ctor');
- sinon.spy(proto, 'componentWillReceiveProps');
- sinon.spy(proto, 'render');
-
- render(<Outer />, scratch);
- doRender();
-
- const PROPS1 = {
- fieldA: 1, fieldB: 1,
- fieldC: 1, fieldD: 1
- };
-
- const PROPS2 = {
- fieldA: 1, fieldB: 2,
- fieldC: 1, fieldD: 2
- };
-
- expect(proto.ctor).to.have.been.calledWithMatch(PROPS1);
- expect(proto.render).to.have.been.calledWithMatch(PROPS1);
-
- rerender();
-
- // expect(proto.ctor).to.have.been.calledWith(PROPS2);
- expect(proto.componentWillReceiveProps).to.have.been.calledWithMatch(PROPS2);
- expect(proto.render).to.have.been.calledWithMatch(PROPS2);
- });
-
- // @TODO: migrate this to preact-compat
- xit('should cache default props', () => {
- class WithDefaultProps extends Component {
- constructor(props, context) {
- super(props, context);
- expect(props).to.be.deep.equal({
- fieldA: 1, fieldB: 2,
- fieldC: 1, fieldD: 2,
- fieldX: 10
- });
- }
- getDefaultProps() {
- return { fieldA: 1, fieldB: 1 };
- }
- render() {
- return <div />;
- }
- }
- WithDefaultProps.defaultProps = { fieldC: 1, fieldD: 1 };
- sinon.spy(WithDefaultProps.prototype, 'getDefaultProps');
- render((
- <div>
- <WithDefaultProps fieldB={2} fieldD={2} fieldX={10} />
- <WithDefaultProps fieldB={2} fieldD={2} fieldX={10} />
- <WithDefaultProps fieldB={2} fieldD={2} fieldX={10} />
- </div>
- ), scratch);
- expect(WithDefaultProps.prototype.getDefaultProps).to.be.calledOnce;
- });
- });
-});