Skip to content

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

Closed
@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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions