Skip to content

Commit c92bf41

Browse files
committed
fix(mock-doc): title.text
1 parent afa6fc6 commit c92bf41

File tree

2 files changed

+32
-0
lines changed

2 files changed

+32
-0
lines changed

src/mock-doc/element.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ export function createElement(ownerDocument: any, tagName: string) {
3838

3939
case 'template':
4040
return new MockTemplateElement(ownerDocument);
41+
42+
case 'title':
43+
return new MockTitleElement(ownerDocument);
4144
}
4245

4346
if (ownerDocument != null && tagName.includes('-')) {
@@ -230,6 +233,21 @@ export class MockTemplateElement extends MockElement {
230233
}
231234

232235

236+
class MockTitleElement extends MockElement {
237+
constructor(ownerDocument: any) {
238+
super(ownerDocument, 'title');
239+
}
240+
241+
get text() {
242+
return this.textContent;
243+
}
244+
set text(value: string) {
245+
this.textContent = value;
246+
}
247+
}
248+
249+
250+
233251
function fullUrl(elm: MockElement, attrName: string) {
234252
const val = elm.getAttribute(attrName) || '';
235253
if (elm.ownerDocument != null) {

src/mock-doc/test/element.spec.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,20 @@ describe('element', () => {
77
doc = new MockDocument();
88
});
99

10+
it('document.title', () => {
11+
document.title = 'Hello Title';
12+
expect(document.title).toBe('Hello Title');
13+
14+
const titleElm = document.head.querySelector('title');
15+
expect(titleElm.textContent).toBe('Hello Title');
16+
expect(titleElm.text).toBe('Hello Title');
17+
18+
titleElm.text = 'Hello Text';
19+
expect(document.title).toBe('Hello Text');
20+
expect(titleElm.text).toBe('Hello Text');
21+
expect(titleElm.textContent).toBe('Hello Text');
22+
});
23+
1024
it('isConnected nested true', () => {
1125
const elmParent = document.createElement('div');
1226
const elmChild = document.createElement('div');

0 commit comments

Comments
 (0)