diff options
author | Florian Dold <florian.dold@gmail.com> | 2016-11-08 15:07:07 +0100 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2016-11-08 15:07:07 +0100 |
commit | 6e5fb04d3f3f9a6cd43ac20896d73321dd079f96 (patch) | |
tree | 6e9f4002ba1f682eb2dca0c320ab1e9933665a33 /test/shared/h.js | |
parent | 30b577138dda685f65a8529be1866afa6e321845 (diff) |
Squashed 'thirdparty/preact/' changes from b2d90cc..ba094e2
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
Diffstat (limited to 'test/shared/h.js')
-rw-r--r-- | test/shared/h.js | 53 |
1 files changed, 24 insertions, 29 deletions
diff --git a/test/shared/h.js b/test/shared/h.js index b0cf7f0e8..ae692e3e5 100644 --- a/test/shared/h.js +++ b/test/shared/h.js @@ -6,7 +6,12 @@ import { expect } from 'chai'; /** @jsx h */ -let flatten = obj => JSON.parse(JSON.stringify(obj)); +const buildVNode = (nodeName, attributes, children=[]) => ({ + nodeName, + children, + attributes, + key: attributes && attributes.key +}); describe('h(jsx)', () => { it('should return a VNode', () => { @@ -16,7 +21,7 @@ describe('h(jsx)', () => { expect(r).to.be.an.instanceof(VNode); expect(r).to.have.property('nodeName', 'foo'); expect(r).to.have.property('attributes', undefined); - expect(r).to.have.property('children', undefined); + expect(r).to.have.property('children').that.eql([]); }); it('should perserve raw attributes', () => { @@ -38,8 +43,8 @@ describe('h(jsx)', () => { expect(r).to.be.an('object') .with.property('children') .that.deep.equals([ - new VNode('bar'), - new VNode('baz') + buildVNode('bar'), + buildVNode('baz') ]); }); @@ -51,15 +56,13 @@ describe('h(jsx)', () => { h('baz', null, h('test')) ); - r = flatten(r); - expect(r).to.be.an('object') .with.property('children') .that.deep.equals([ - { nodeName:'bar' }, - { nodeName:'baz', children:[ - { nodeName:'test' } - ]} + buildVNode('bar'), + buildVNode('baz', undefined, [ + buildVNode('test') + ]) ]); }); @@ -73,15 +76,13 @@ describe('h(jsx)', () => { ] ); - r = flatten(r); - expect(r).to.be.an('object') .with.property('children') .that.deep.equals([ - { nodeName:'bar' }, - { nodeName:'baz', children:[ - { nodeName:'test' } - ]} + buildVNode('bar'), + buildVNode('baz', undefined, [ + buildVNode('test') + ]) ]); }); @@ -95,15 +96,13 @@ describe('h(jsx)', () => { ] ); - r = flatten(r); - expect(r).to.be.an('object') .with.property('children') .that.deep.equals([ - { nodeName:'bar' }, - { nodeName:'baz', children:[ - { nodeName:'test' } - ]} + buildVNode('bar'), + buildVNode('baz', undefined, [ + buildVNode('test') + ]) ]); }); @@ -164,16 +163,14 @@ describe('h(jsx)', () => { 'six' ); - r = flatten(r); - expect(r).to.be.an('object') .with.property('children') .that.deep.equals([ 'onetwo', - { nodeName:'bar' }, + buildVNode('bar'), 'three', - { nodeName:'baz' }, - { nodeName:'baz' }, + buildVNode('baz'), + buildVNode('baz'), 'fourfivesix' ]); }); @@ -190,8 +187,6 @@ describe('h(jsx)', () => { null ); - r = flatten(r); - expect(r).to.be.an('object') .with.property('children') .that.deep.equals([ |