diff --git a/packages/happy-dom/src/nodes/element/Element.ts b/packages/happy-dom/src/nodes/element/Element.ts index be8358c0c..93f04e326 100644 --- a/packages/happy-dom/src/nodes/element/Element.ts +++ b/packages/happy-dom/src/nodes/element/Element.ts @@ -44,6 +44,7 @@ export default class Element extends Node implements IElement { public shadowRoot: IShadowRoot = null; public prefix: string = null; + public scrollHeight = 0; public scrollTop = 0; public scrollLeft = 0; public children: IHTMLCollection = new HTMLCollection(); @@ -369,6 +370,7 @@ export default class Element extends Node implements IElement { (clone.tagName) = this.tagName; clone.scrollLeft = this.scrollLeft; clone.scrollTop = this.scrollTop; + clone.scrollHeight = this.scrollHeight; (clone.namespaceURI) = this.namespaceURI; return clone; diff --git a/packages/happy-dom/src/nodes/element/IElement.ts b/packages/happy-dom/src/nodes/element/IElement.ts index b0b544893..f157c419c 100644 --- a/packages/happy-dom/src/nodes/element/IElement.ts +++ b/packages/happy-dom/src/nodes/element/IElement.ts @@ -23,6 +23,7 @@ export default interface IElement extends IChildNode, INonDocumentTypeChildNode, prefix: string | null; scrollTop: number; scrollLeft: number; + scrollHeight: number; id: string; className: string; role: string; diff --git a/packages/happy-dom/test/nodes/element/Element.test.ts b/packages/happy-dom/test/nodes/element/Element.test.ts index b9b236bd8..5a4cc34f2 100644 --- a/packages/happy-dom/test/nodes/element/Element.test.ts +++ b/packages/happy-dom/test/nodes/element/Element.test.ts @@ -1512,6 +1512,12 @@ describe('Element', () => { }); } + describe('scrollHeight', () => { + it('Returns the scroll height.', () => { + expect(element.scrollHeight).toBe(0); + }); + }); + describe('toString()', () => { it('Returns the same as outerHTML.', () => { expect(element.toString()).toBe(element.outerHTML);