Skip to content

Tests for resizing window fails for Node.js v7 while working fine for v4-v6 #10660

@yury-dymov

Description

@yury-dymov

Version: v7.4.0
Platform: Linux filo 4.8.0-30-generic #32-Ubuntu SMP Fri Dec 2 03:43:27 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

For my react-autocomplete-input package some tests are failing now. For node.js versions 4+ everything works fine as you can see. I updated all packages to the latest versions and it didn't help.

I am testing if my component reacts on window resize action.

Component Code

componentDidMount() {
    window.addEventListener('resize', this.handleResize);
  }

  componentWillUnmount() {
    window.removeEventListener('resize', this.handleResize);
  }

Failing tests code

 it('resize event is attached on componentDidMount', () => {
    window.addEventListener = spy();

    const component = mount(<TextField options={["aa", "ab"]} />);

    expect(window.addEventListener.calledOnce).to.equal(true);
  });

it('resize event removed attached on componentWillUnmount', () => {
    window.removeEventListener = spy();

    const component = mount(<TextField options={["aa", "ab"]} />, { attachTo: document.body.getElementsByTagName('div')[0] });

    component.detach();

    expect(window.removeEventListener.calledOnce).to.equal(true);
  });


/* Output
 1) resize resize event is attached on componentDidMount:
     AssertionError: expected undefined to equal true
      at Context.<anonymous> (test/AutoCompleteTextField.spec.js:524:51)

  2) resize resize event removed attached on componentWillUnmount:
     AssertionError: expected undefined to equal true
      at Context.<anonymous> (test/AutoCompleteTextField.spec.js:534:54)
*/

Packages involved:

  • "chai": "^3.5.0",
  • "chai-enzyme": "^0.5.1",
  • "cheerio": "^0.20.0",
  • "enzyme": "^2.4.1",
  • "jsdom": "^9.5.0",
  • "mocha": "^3.0.2",
  • "react": "^15.3.2",
  • "react-addons-test-utils": "^15.3.2",
  • "react-dom": "^15.3.2",
  • "sinon": "^1.17.6",

Updating those packages to the latest versions didn't help :/

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionIssues that look for answers.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions