aboutsummaryrefslogtreecommitdiff
path: root/thirdparty/preact/test/shared/h.js
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/preact/test/shared/h.js')
-rw-r--r--thirdparty/preact/test/shared/h.js196
1 files changed, 0 insertions, 196 deletions
diff --git a/thirdparty/preact/test/shared/h.js b/thirdparty/preact/test/shared/h.js
deleted file mode 100644
index ae692e3e5..000000000
--- a/thirdparty/preact/test/shared/h.js
+++ /dev/null
@@ -1,196 +0,0 @@
-import { h } from '../../src/preact';
-import { VNode } from '../../src/vnode';
-import { expect } from 'chai';
-
-/*eslint-env browser, mocha */
-
-/** @jsx h */
-
-const buildVNode = (nodeName, attributes, children=[]) => ({
- nodeName,
- children,
- attributes,
- key: attributes && attributes.key
-});
-
-describe('h(jsx)', () => {
- it('should return a VNode', () => {
- let r;
- expect( () => r = h('foo') ).not.to.throw();
- expect(r).to.be.an('object');
- 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').that.eql([]);
- });
-
- it('should perserve raw attributes', () => {
- let attrs = { foo:'bar', baz:10, func:()=>{} },
- r = h('foo', attrs);
- expect(r).to.be.an('object')
- .with.property('attributes')
- .that.deep.equals(attrs);
- });
-
- it('should support element children', () => {
- let r = h(
- 'foo',
- null,
- h('bar'),
- h('baz')
- );
-
- expect(r).to.be.an('object')
- .with.property('children')
- .that.deep.equals([
- buildVNode('bar'),
- buildVNode('baz')
- ]);
- });
-
- it('should support multiple element children, given as arg list', () => {
- let r = h(
- 'foo',
- null,
- h('bar'),
- h('baz', null, h('test'))
- );
-
- expect(r).to.be.an('object')
- .with.property('children')
- .that.deep.equals([
- buildVNode('bar'),
- buildVNode('baz', undefined, [
- buildVNode('test')
- ])
- ]);
- });
-
- it('should handle multiple element children, given as an array', () => {
- let r = h(
- 'foo',
- null,
- [
- h('bar'),
- h('baz', null, h('test'))
- ]
- );
-
- expect(r).to.be.an('object')
- .with.property('children')
- .that.deep.equals([
- buildVNode('bar'),
- buildVNode('baz', undefined, [
- buildVNode('test')
- ])
- ]);
- });
-
- it('should handle multiple children, flattening one layer as needed', () => {
- let r = h(
- 'foo',
- null,
- h('bar'),
- [
- h('baz', null, h('test'))
- ]
- );
-
- expect(r).to.be.an('object')
- .with.property('children')
- .that.deep.equals([
- buildVNode('bar'),
- buildVNode('baz', undefined, [
- buildVNode('test')
- ])
- ]);
- });
-
- it('should support nested children', () => {
- const m = x => h(x);
- expect(
- h('foo', null, m('a'), [m('b'), m('c')], m('d'))
- ).to.have.property('children').that.eql(['a', 'b', 'c', 'd'].map(m));
-
- expect(
- h('foo', null, [m('a'), [m('b'), m('c')], m('d')])
- ).to.have.property('children').that.eql(['a', 'b', 'c', 'd'].map(m));
-
- expect(
- h('foo', { children: [m('a'), [m('b'), m('c')], m('d')] })
- ).to.have.property('children').that.eql(['a', 'b', 'c', 'd'].map(m));
-
- expect(
- h('foo', { children: [[m('a'), [m('b'), m('c')], m('d')]] })
- ).to.have.property('children').that.eql(['a', 'b', 'c', 'd'].map(m));
-
- expect(
- h('foo', { children: m('a') })
- ).to.have.property('children').that.eql([m('a')]);
-
- expect(
- h('foo', { children: 'a' })
- ).to.have.property('children').that.eql(['a']);
- });
-
- it('should support text children', () => {
- let r = h(
- 'foo',
- null,
- 'textstuff'
- );
-
- expect(r).to.be.an('object')
- .with.property('children')
- .with.length(1)
- .with.property('0')
- .that.equals('textstuff');
- });
-
- it('should merge adjacent text children', () => {
- let r = h(
- 'foo',
- null,
- 'one',
- 'two',
- h('bar'),
- 'three',
- h('baz'),
- h('baz'),
- 'four',
- null,
- 'five',
- 'six'
- );
-
- expect(r).to.be.an('object')
- .with.property('children')
- .that.deep.equals([
- 'onetwo',
- buildVNode('bar'),
- 'three',
- buildVNode('baz'),
- buildVNode('baz'),
- 'fourfivesix'
- ]);
- });
-
- it('should merge nested adjacent text children', () => {
- let r = h(
- 'foo',
- null,
- 'one',
- ['two', null, 'three'],
- null,
- ['four', null, 'five', null],
- 'six',
- null
- );
-
- expect(r).to.be.an('object')
- .with.property('children')
- .that.deep.equals([
- 'onetwothreefourfivesix'
- ]);
- });
-});