UNPKG

1.47 kBJavaScriptView Raw
1import './setup';
2import {Container} from 'aurelia-dependency-injection';
3import {createOverrideContext} from 'aurelia-binding';
4import {TemplatingEngine} from '../src/templating-engine';
5import {ViewResources} from '../src/view-resources';
6import {DOM} from 'aurelia-pal';
7
8describe('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});