diff --git a/apps/tests/TKUnit.ts b/apps/tests/TKUnit.ts index 119986f1e..c27906a67 100644 --- a/apps/tests/TKUnit.ts +++ b/apps/tests/TKUnit.ts @@ -115,7 +115,7 @@ function runAsync(testInfo: TestInfoEntry, recursiveIndex: number, testTimeout?: runTests(testsQueue, recursiveIndex + 1); } else { - setTimeout(checkFinished, 200); + setTimeout(checkFinished, 10); } } } @@ -208,8 +208,15 @@ export function assertNull(actual: any, message?: string) { } }; -export function assertAreClose(actual: number, expected: number, delta: number, message?: string) { +export function areClose(actual: number, expected: number, delta: number): boolean { if (isNaN(actual) || Math.abs(actual - expected) > delta) { + return false; + } + + return true; +} +export function assertAreClose(actual: number, expected: number, delta: number, message?: string) { + if (!areClose(actual, expected, delta)) { throw new Error(message + " Numbers are not close enough. Actual: " + actual + " Expected: " + expected + " Delta: " + delta); } }; diff --git a/apps/tests/layouts/absolute-layout-tests.ts b/apps/tests/layouts/absolute-layout-tests.ts index 2d380229d..44d7eeacc 100644 --- a/apps/tests/layouts/absolute-layout-tests.ts +++ b/apps/tests/layouts/absolute-layout-tests.ts @@ -1,4 +1,5 @@ -import TKUnit = require("../TKUnit"); +import testModule = require("../ui-test"); +import TKUnit = require("../TKUnit"); import viewModule = require("ui/core/view"); import labelModule = require("ui/label"); import helper = require("../ui/helper"); @@ -23,63 +24,83 @@ import absoluteLayoutModule = require("ui/layouts/absolute-layout"); //``` //  -export var testAll = function () { - // - // ## Creating and populating a AbsoluteLayout with children - // ``` JavaScript - var absoluteLayout = new absoluteLayoutModule.AbsoluteLayout(); - absoluteLayout.width = 230; - absoluteLayout.height = 230; - absoluteLayout.style.backgroundColor = new colorModule.Color("LightGray"); - var label = new labelModule.Label(); - //// In absolute layout place of an UI element is determined by 4 parameters : left, top, width and height. - absoluteLayoutModule.AbsoluteLayout.setLeft(label, 10); - absoluteLayoutModule.AbsoluteLayout.setTop(label, 10); - label.width = 100; - label.height = 100; - label.text = "LT"; - label.id = "LT"; - label.style.backgroundColor = new colorModule.Color("Red"); - absoluteLayout.addChild(label); - // ``` - // +export class AbsoluteLayoutTest extends testModule.UITest { - helper.buildUIAndRunTest(absoluteLayout, function (views: Array) { - TKUnit.waitUntilReady(function isReady() { - return absoluteLayout.isLayoutValid; - }, 1); + public create(): absoluteLayoutModule.AbsoluteLayout { + return new absoluteLayoutModule.AbsoluteLayout(); + } - var actualValue = viewModule.getViewById(absoluteLayout, "LT")._getCurrentLayoutBounds(); - var width = actualValue.right - actualValue.left; - var height = actualValue.bottom - actualValue.top; + public snippet() { + + // + // ## Creating and populating a AbsoluteLayout with children + // ``` JavaScript + var absoluteLayout = new absoluteLayoutModule.AbsoluteLayout(); + absoluteLayout.width = 230; + absoluteLayout.height = 230; + absoluteLayout.style.backgroundColor = new colorModule.Color("LightGray"); + var label = new labelModule.Label(); + //// In absolute layout place of an UI element is determined by 4 parameters : left, top, width and height. + absoluteLayoutModule.AbsoluteLayout.setLeft(label, 10); + absoluteLayoutModule.AbsoluteLayout.setTop(label, 10); + label.width = 100; + label.height = 100; + label.text = "LT"; + label.id = "LT"; + label.style.backgroundColor = new colorModule.Color("Red"); + absoluteLayout.addChild(label); + // ``` + // + } + + public testAll() { + + let absoluteLayout = this.testView; + absoluteLayout.width = 230; + absoluteLayout.height = 230; + absoluteLayout.style.backgroundColor = new colorModule.Color("LightGray"); + let label = new labelModule.Label(); + + absoluteLayoutModule.AbsoluteLayout.setLeft(label, 10); + absoluteLayoutModule.AbsoluteLayout.setTop(label, 10); + label.width = 100; + label.height = 100; + label.text = "LT"; + label.style.backgroundColor = new colorModule.Color("Red"); + absoluteLayout.addChild(label); + + this.waitUntilTestElementLayoutIsValid(); + + let actualValue = label._getCurrentLayoutBounds(); + let width = actualValue.right - actualValue.left; + let height = actualValue.bottom - actualValue.top; TKUnit.assertEqual(actualValue.left, layoutHelper.dip(10), "ActualLeft"); TKUnit.assertEqual(actualValue.top, layoutHelper.dip(10), "ActualTop"); TKUnit.assertEqual(width, layoutHelper.dip(100), "ActualWidth"); TKUnit.assertEqual(height, layoutHelper.dip(100), "Actualheight"); - }); -} + } -export function test_padding() { - var absoluteLayout = new absoluteLayoutModule.AbsoluteLayout(); - absoluteLayout.width = 200; - absoluteLayout.height = 200; - absoluteLayout.paddingLeft = 5; - absoluteLayout.paddingTop = 15; + public test_padding() { + let absoluteLayout = this.testView; + absoluteLayout.width = 200; + absoluteLayout.height = 200; + absoluteLayout.paddingLeft = 5; + absoluteLayout.paddingTop = 15; - // Left Top - var btn = new layoutHelper.MyButton(); - btn.width = 100; - btn.height = 100; - absoluteLayoutModule.AbsoluteLayout.setLeft(btn, 20); - absoluteLayoutModule.AbsoluteLayout.setTop(btn, 20); - absoluteLayout.addChild(btn); - - helper.buildUIAndRunTest(absoluteLayout, function (views: Array) { - TKUnit.waitUntilReady(function isReady() { - return absoluteLayout.isLayoutValid; - }, 1); + // Left Top + let btn = new layoutHelper.MyButton(); + btn.width = 100; + btn.height = 100; + absoluteLayoutModule.AbsoluteLayout.setLeft(btn, 20); + absoluteLayoutModule.AbsoluteLayout.setTop(btn, 20); + absoluteLayout.addChild(btn); + this.waitUntilTestElementLayoutIsValid(); layoutHelper.assertMeasure(btn, 100, 100); layoutHelper.assertLayout(btn, 25, 35, 100, 100); - }); + } } + +export function createTestCase(): AbsoluteLayoutTest { + return new AbsoluteLayoutTest(); +} \ No newline at end of file diff --git a/apps/tests/layouts/dock-layout-tests.ts b/apps/tests/layouts/dock-layout-tests.ts index d26349d3b..6a584fa08 100644 --- a/apps/tests/layouts/dock-layout-tests.ts +++ b/apps/tests/layouts/dock-layout-tests.ts @@ -4,6 +4,7 @@ import {DockLayout} from "ui/layouts/dock-layout"; import TKUnit = require("../TKUnit"); import helper = require("./layout-helper"); import navHelper = require("../ui/helper"); +import testModule = require("../ui-test"); // // # DockLayout @@ -16,11 +17,11 @@ import dockModule = require("ui/layouts/dock-layout"); //```XML // // -//