1 | import test from 'ava';
|
2 | import sinon from 'sinon';
|
3 | import {mount} from 'vuenit';
|
4 | import {createHOC, createRenderFn} from '../dist';
|
5 |
|
6 | const Component = {
|
7 | template : `<div>
|
8 | <slot></slot>
|
9 | <slot name="named_slot"></slot>
|
10 | </div>`
|
11 | };
|
12 |
|
13 | test('it renders a slot', t => {
|
14 | const vm = mount(Component, {
|
15 | slots: {
|
16 | default: '<div id="default"></div>',
|
17 | named_slot: '<div id="named"></div>'
|
18 | }
|
19 | });
|
20 | t.true(vm.$contains('#default'));
|
21 | t.true(vm.$contains('#named'));
|
22 | });
|
23 |
|
24 | test('it passes slots through a hoc', t => {
|
25 | const hoc = createHOC(Component);
|
26 | const vm = mount(hoc, {
|
27 | slots: {
|
28 | default: '<div id="default"></div>',
|
29 | named_slot: '<div id="named"></div>'
|
30 | }
|
31 | });
|
32 | t.true(vm.$contains('#default'));
|
33 | t.true(vm.$contains('#named'));
|
34 | });
|
35 |
|
36 | test('passes slots through multiple hocs', t => {
|
37 | const hoc1 = createHOC(Component);
|
38 | const hoc2 = createHOC(hoc1);
|
39 | const vm = mount(hoc2, {
|
40 | slots: {
|
41 | default: '<div id="default"></div>',
|
42 | named_slot: '<div id="named"></div>'
|
43 | }
|
44 | });
|
45 | t.true(vm.$contains('#default'));
|
46 | t.true(vm.$contains('#named'));
|
47 | });
|