From 6e5fb04d3f3f9a6cd43ac20896d73321dd079f96 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Tue, 8 Nov 2016 15:07:07 +0100 Subject: Squashed 'thirdparty/preact/' changes from b2d90cc..ba094e2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ba094e2 Run only local tests for pull requests (#390) e9fc3c2 Fix CI build (#386) 70a5ca3 This adds a link to preact-i18nline. (#382) 5dffd85 Merge branch 'pr-fix-build-for-windows' of https://github.com/Download/preact f14edf7 kilobits => kilobytes (#383) c193547 Test for #292 284e4aa 6.4.0 24eab2f Prevent accidental duplicate recycling of elements when swapping the base element of a component. Fixes #373. 76c5ef7 fix lint error 8008886 When swapping the base of a composed child component, update its parent's base reference. Fixes #349. fd4f21f Add an equality check prior to setting `.nodeValue` on text nodes, since Firefox (and maybe others) don't do this internally by default. Fixes #368 - thanks @zbinlin! 1555e2b Add CDNJS version badge in readme (#365) 79c8bae Disable React Developer Tools integration tests under IE (#362) 84f4eeb Refactor `linkState()` a bit to drop around 40 bytes. Coincidentally, that's the exact size of the hooks just added for DevTools... 👌 22bbfcb Little tweaks 👯 f8b326e Document how to use the React DevTools with Preact (#354) 1f4a8eb Correct "preact/devtools" type definitions (#355) 68f22eb Add React Developer Tools integration (#339) 2a7a027 Add ref and allow objects in className (#316) 4a59cca fix readme todomvc link (#345) 37ca4e0 Fixes build for Windows #343 cf93387 6.3.0 ff05818 Make `VNode.children` *always* be an Array, even when there are no children. 9b095f4 Added link to preact-layout (#342) git-subtree-dir: thirdparty/preact git-subtree-split: ba094e27b602cb16aded7dcad95f71e44b7b0476 --- test/browser/refs.js | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'test/browser/refs.js') diff --git a/test/browser/refs.js b/test/browser/refs.js index 89678b76e..337a9717b 100644 --- a/test/browser/refs.js +++ b/test/browser/refs.js @@ -200,8 +200,8 @@ describe('refs', () => { ), scratch); - expect(Foo.prototype.render).to.have.been.calledWithExactly({ a:'a' }, { }, { }); - expect(Bar).to.have.been.calledWithExactly({ b:'b', ref:bar }, { }); + expect(Foo.prototype.render).to.have.been.calledWithMatch({ ref:sinon.match.falsy, a:'a' }, { }, { }); + expect(Bar).to.have.been.calledWithMatch({ b:'b', ref:bar }, { }); }); // Test for #232 @@ -284,4 +284,22 @@ describe('refs', () => { expect(inst.handleMount.firstCall).to.have.been.calledWith(null); expect(inst.handleMount.secondCall).to.have.been.calledWith(scratch.querySelector('#div')); }); + + + it('should add refs to components representing DOM nodes with no attributes if they have been pre-rendered', () => { + // Simulate pre-render + let parent = document.createElement('div'); + let child = document.createElement('div'); + parent.appendChild(child); + scratch.appendChild(parent); // scratch contains:
+ + let ref = spy('ref'); + + function Wrapper() { + return
; + } + + render(
, scratch, scratch.firstChild); + expect(ref).to.have.been.calledOnce.and.calledWith(scratch.firstChild.firstChild); + }); }); -- cgit v1.2.3