Skip to content
This repository was archived by the owner on Jul 30, 2018. It is now read-only.

Commit 1e80603

Browse files
committed
adding integration test
1 parent 10b0db9 commit 1e80603

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

tests/unit/meta/meta.ts

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ import * as assert from 'intern/chai!assert';
44
import { Base as MetaBase } from '../../../src/meta/Base';
55
import { stub, SinonStub, spy } from 'sinon';
66
import NodeHandler from '../../../src/NodeHandler';
7+
import { v } from '../../../src/d';
8+
import { ProjectorMixin } from '../../../src/main';
9+
import { WidgetBase } from '../../../src/WidgetBase';
10+
import { ThemeableMixin } from './../../../src/mixins/Themeable';
711

812
let rAFStub: SinonStub;
913
let cancelrAFStub: SinonStub;
@@ -179,5 +183,35 @@ registerSuite({
179183
meta.callInvalidate();
180184
resolveRAF();
181185
assert.isTrue(cancelrAFStub.calledThrice);
186+
},
187+
'integration'() {
188+
// class TestWidgetBase<P = any> extends ThemeableMixin(WidgetBase)<P> {}
189+
190+
class MyMeta extends MetaBase {
191+
callGetNode(key: string) {
192+
return this.getNode(key);
193+
}
194+
}
195+
196+
class TestWidget extends ProjectorMixin(WidgetBase) {
197+
render() {
198+
return v('div', { key: 'foo' }, [
199+
v('div', { 'key': 'bar' }, [ 'hello world' ])
200+
]);
201+
}
202+
203+
getMeta() {
204+
return this.meta(MyMeta);
205+
}
206+
}
207+
208+
const div = document.createElement('div');
209+
210+
const widget = new TestWidget();
211+
widget.append(div);
212+
const meta = widget.getMeta();
213+
214+
assert.isTrue(meta.has('foo'));
215+
assert.isTrue(meta.has('bar'));
182216
}
183217
});

0 commit comments

Comments
 (0)