@drozdik.m/dimensions-helper
Version:
Simple helper for getting dimensions (basic, padding, border, margin)
161 lines (139 loc) • 5.38 kB
text/typescript
import { BrowserTestAgent } from "@drozdik.m/web-unit-test";
import { UnitTest, Assert } from "@drozdik.m/unit-test";
import { DimensionsHelper } from "../../src/DimensionsHelper";
let unitTest = new UnitTest("Dimensions Helper");
document.body.insertAdjacentHTML("beforeend", `
<div id="div1"></div>
<style>
#div1 {
height: 1px;
width: 2px;
padding-top: 3px;
padding-bottom: 4px;
padding-left: 5px;
padding-right: 6px;
margin-top: 7px;
margin-bottom: 8px;
margin-left: 9px;
margin-right: 10px;
border: 1px solid black;
border-left-width: 11px;
border-right-width: 12px;
border-top-width: 13px;
border-bottom-width: 14px;
}
</style>
`);
unitTest.AddSyncTestCase("Height, Width", function ()
{
let dimensionHelper = new DimensionsHelper(document.getElementById("div1"));
Assert.AreEqual(1, dimensionHelper.Height());
Assert.AreEqual(2, dimensionHelper.Width());
});
unitTest.AddSyncTestCase("Height padding, Width padding", function ()
{
let dimensionHelper = new DimensionsHelper(document.getElementById("div1"));
Assert.AreEqual(8, dimensionHelper.HeightWithPadding());
Assert.AreEqual(13, dimensionHelper.WidthWithPadding());
});
unitTest.AddSyncTestCase("Height border, Width border", function ()
{
let dimensionHelper = new DimensionsHelper(document.getElementById("div1"));
Assert.AreEqual(35, dimensionHelper.HeightWithBorder());
Assert.AreEqual(36, dimensionHelper.WidthWithBorder());
});
unitTest.AddSyncTestCase("Height margin, Width margin", function ()
{
let dimensionHelper = new DimensionsHelper(document.getElementById("div1"));
Assert.AreEqual(50, dimensionHelper.HeightWithMargin());
Assert.AreEqual(55, dimensionHelper.WidthWithMargin());
});
unitTest.AddSyncTestCase("Change style", function ()
{
let dimensionHelper = new DimensionsHelper(document.getElementById("div1"));
Assert.AreEqual(1, dimensionHelper.Height());
Assert.AreEqual(2, dimensionHelper.Width());
Assert.AreEqual(8, dimensionHelper.HeightWithPadding());
Assert.AreEqual(13, dimensionHelper.WidthWithPadding());
Assert.AreEqual(35, dimensionHelper.HeightWithBorder());
Assert.AreEqual(36, dimensionHelper.WidthWithBorder());
Assert.AreEqual(50, dimensionHelper.HeightWithMargin());
Assert.AreEqual(55, dimensionHelper.WidthWithMargin());
document.body.insertAdjacentHTML("beforeend", `
<style>
#div1 {
height: 2px;
width: 3px;
padding-top: 4px;
padding-bottom: 5px;
padding-left: 6px;
padding-right: 7px;
margin-top: 8px;
margin-bottom: 9px;
margin-left: 10px;
margin-right: 11px;
border: 1px solid black;
border-left-width: 12px;
border-right-width: 13px;
border-top-width: 14px;
border-bottom-width: 15px;
}
</style>
`);
Assert.AreEqual(2, dimensionHelper.Height());
Assert.AreEqual(3, dimensionHelper.Width());
Assert.AreEqual(11, dimensionHelper.HeightWithPadding());
Assert.AreEqual(16, dimensionHelper.WidthWithPadding());
Assert.AreEqual(40, dimensionHelper.HeightWithBorder());
Assert.AreEqual(41, dimensionHelper.WidthWithBorder());
Assert.AreEqual(57, dimensionHelper.HeightWithMargin());
Assert.AreEqual(62, dimensionHelper.WidthWithMargin());
document.body.insertAdjacentHTML("beforeend", `
<style>
#div1 {
height: 1px;
width: 2px;
padding-top: 3px;
padding-bottom: 4px;
padding-left: 5px;
padding-right: 6px;
margin-top: 7px;
margin-bottom: 8px;
margin-left: 9px;
margin-right: 10px;
border: 1px solid black;
border-left-width: 11px;
border-right-width: 12px;
border-top-width: 13px;
border-bottom-width: 14px;
}
</style>
`);
});
unitTest.AddSyncTestCase("Set height, width", function ()
{
let dimensionHelper = new DimensionsHelper(document.getElementById("div1"));
Assert.AreEqual(1, dimensionHelper.Height());
Assert.AreEqual(2, dimensionHelper.Width());
Assert.AreEqual(8, dimensionHelper.HeightWithPadding());
Assert.AreEqual(13, dimensionHelper.WidthWithPadding());
Assert.AreEqual(35, dimensionHelper.HeightWithBorder());
Assert.AreEqual(36, dimensionHelper.WidthWithBorder());
Assert.AreEqual(50, dimensionHelper.HeightWithMargin());
Assert.AreEqual(55, dimensionHelper.WidthWithMargin());
dimensionHelper.SetHeight(2);
dimensionHelper.SetWidth(3);
Assert.AreEqual(2, dimensionHelper.Height());
Assert.AreEqual(3, dimensionHelper.Width());
Assert.AreEqual(9, dimensionHelper.HeightWithPadding());
Assert.AreEqual(14, dimensionHelper.WidthWithPadding());
Assert.AreEqual(36, dimensionHelper.HeightWithBorder());
Assert.AreEqual(37, dimensionHelper.WidthWithBorder());
Assert.AreEqual(51, dimensionHelper.HeightWithMargin());
Assert.AreEqual(56, dimensionHelper.WidthWithMargin());
});
document.addEventListener("DOMContentLoaded", function ()
{
let browserTestAgent = new BrowserTestAgent(unitTest);
browserTestAgent.Run();
});