1 | import './setup';
|
2 | import {Container} from 'aurelia-dependency-injection';
|
3 | import {createOverrideContext} from 'aurelia-binding';
|
4 | import {TemplatingEngine} from '../src/templating-engine';
|
5 | import {ViewResources} from '../src/view-resources';
|
6 | import {DOM} from 'aurelia-pal';
|
7 |
|
8 | describe('enhance', () => {
|
9 | let container;
|
10 | let element;
|
11 | let templatingEngine;
|
12 |
|
13 | beforeEach(() => {
|
14 | container = new Container();
|
15 | element = DOM.createElement('div');
|
16 | templatingEngine = container.get(TemplatingEngine);
|
17 | });
|
18 |
|
19 | it('passes bindingContext and overrideContext to .bind()', () => {
|
20 | let bindingContext = { some: 'var' };
|
21 | let overrideContext = createOverrideContext(bindingContext);
|
22 | overrideContext.foo = 'bar';
|
23 |
|
24 | let view = templatingEngine.enhance({
|
25 | element: element,
|
26 | bindingContext: bindingContext,
|
27 | overrideContext: overrideContext
|
28 | });
|
29 |
|
30 | expect(view.bindingContext).toBe(bindingContext);
|
31 | expect(view.overrideContext).toBe(overrideContext);
|
32 | expect(view.bindingContext.some).toBe('var');
|
33 | expect(view.overrideContext.foo).toBe('bar');
|
34 | });
|
35 |
|
36 | it('supports passing of ViewResources to the view-compiler', () => {
|
37 | let compileNodeSpy = spyOn(templatingEngine._viewCompiler, '_compileNode');
|
38 | let resources = new ViewResources();
|
39 |
|
40 | templatingEngine.enhance({
|
41 | element: element,
|
42 | resources: resources
|
43 | });
|
44 |
|
45 | let r = compileNodeSpy.calls.argsFor(0)[1];
|
46 |
|
47 | expect(r).toBe(resources);
|
48 | });
|
49 | });
|