UNPKG

@drozdik.m/slow-scroll

Version:
76 lines (59 loc) 2.04 kB
import { UnitTest, Assert } from "@drozdik.m/unit-test"; import { BrowserTestAgent } from "@drozdik.m/web-unit-test"; import { SlowScroll } from "../../src/SlowScroll"; let unitTest = new UnitTest("Slow Scroll"); unitTest.AddAsyncTestCase("Scroll to an achor and to top", function (Done, Fail) { SlowScroll.AnchorScroll("slowScroll"); let link = document.getElementById("toBlock2"); var clickEvent = new Event("click"); clickEvent.initEvent("click"); link.dispatchEvent(clickEvent); setTimeout(function () { try { console.log(document.documentElement.scrollTop); Assert.IsTrue(document.documentElement.scrollTop > 100); SlowScroll.ToTop(); setTimeout(function () { try { console.log(document.documentElement.scrollTop); Assert.AreEqual(0, document.documentElement.scrollTop); Done(); } catch { Fail(); } }, 750); } catch { Fail(); } }, 750); }); document.addEventListener("DOMContentLoaded", function () { document.documentElement.insertAdjacentHTML("beforeend", ` <style> .block{ height: 50rem; } </style> <div id="block1" class="block" style="background-color: aqua;"> <a href="#block2" id="toBlock2" class="slowScroll">Scroll</a> </div> <div id="block2" class="block" style="background-color: brown;"> <a href="#block3" class="slowScroll">Scroll</a> </div> <div id="block3" class="block" style="background-color: darkviolet;"> <a href="#block1" class="slowScroll">Scroll</a> </div> `); let browserTestAgent = new BrowserTestAgent(unitTest); browserTestAgent.Run(); });