Skip to content

Commit c0a9755

Browse files
committed
test(prettydebugelement): test pretty debug element
1 parent af9d914 commit c0a9755

1 file changed

Lines changed: 62 additions & 0 deletions

File tree

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
import * as prettyDebugElement from './pretty-debugElement';
2+
import { prettyPrintDebugElement } from './pretty-debugElement';
3+
import { DebugElement } from '@angular/core';
4+
import * as prettyHTMLLog from 'pretty-html-log';
5+
import { THEMES } from 'pretty-html-log';
6+
7+
describe('pretty debug element', () => {
8+
it('should call prettyDebugelement with the debugElement and pass it to console.log', () => {
9+
console.log = jest.fn();
10+
const debugElement = {} as DebugElement;
11+
spyOn(prettyDebugElement, 'prettyDebugelement');
12+
prettyDebugElement.prettyPrintDebugElement(debugElement, THEMES.DRACULA);
13+
14+
expect(console.log).toHaveBeenCalledWith(
15+
prettyPrintDebugElement(debugElement, THEMES.DRACULA)
16+
);
17+
});
18+
19+
it(`should call prettyDebugelement with the debugElement for each debugElement. It should then
20+
pass the returned value to console.log
21+
for each `, () => {
22+
console.log = jest.fn();
23+
24+
const debugElementOne = { name: 'DebugElementOne' } as DebugElement;
25+
const debugElementTwo = { name: 'DebugElementTwo' } as DebugElement;
26+
const debugElementThree = { name: 'DebugElementThree' } as DebugElement;
27+
28+
const debugElements = [
29+
debugElementOne,
30+
debugElementTwo,
31+
debugElementThree
32+
] as DebugElement[];
33+
spyOn(prettyDebugElement, 'prettyDebugelement');
34+
prettyDebugElement.prettyPrintDebugElements(debugElements, THEMES.DRACULA);
35+
36+
expect(console.log).toHaveBeenCalledWith(
37+
prettyPrintDebugElement(debugElementOne, THEMES.DRACULA)
38+
);
39+
expect(console.log).toHaveBeenCalledWith(
40+
prettyPrintDebugElement(debugElementTwo, THEMES.DRACULA)
41+
);
42+
expect(console.log).toHaveBeenCalledWith(
43+
prettyPrintDebugElement(debugElementThree, THEMES.DRACULA)
44+
);
45+
});
46+
47+
it('should call the highlight method with the innerHTML', () => {
48+
const innerHTML = '<h1>Foo</h1>';
49+
const debugElement = {
50+
nativeElement: {
51+
innerHTML
52+
}
53+
} as DebugElement;
54+
spyOn(prettyHTMLLog, 'highlight');
55+
56+
prettyDebugElement.prettyDebugelement(debugElement, THEMES.DRACULA);
57+
expect(prettyHTMLLog.highlight).toHaveBeenCalledWith(
58+
innerHTML,
59+
THEMES.DRACULA
60+
);
61+
});
62+
});

0 commit comments

Comments
 (0)