nodejs / node

Node.js JavaScript runtime ✨🐢🚀✨
https://nodejs.org
Other
107.61k stars 29.59k forks source link

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

Closed yury-dymov closed 7 years ago

yury-dymov commented 7 years ago

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:

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

mscdex commented 7 years ago

Unless you can reproduce the issue without third party modules, I think this kind of question is better suited for the nodejs/help repo instead.

kenany commented 7 years ago

FWIW: git bisect reported https://github.com/nodejs/node/commit/ec2f13fe66c5b65a5b028ea1833dd2091ca90963 as being the commit that your tests start failing at.

kenany commented 7 years ago

(so perhaps another case of https://github.com/nodejs/node/issues/10492)

Trott commented 7 years ago

Closing as #10492 has been resolved. But if you're still experiencing this problem or if this otherwise shouldn't be closed, please comment and it can be re-opened.