// Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License.txt in the project root for license information. // /// /// /// module CorsicaTests { "use strict"; export class Queue { testSimpleQueue(complete) { WinJS.Utilities._setImmediate(complete); } testQueueOrdering(complete) { var i = 0; WinJS.Utilities._setImmediate(function () { i++; LiveUnit.Assert.areEqual(1, i); }); WinJS.Utilities._setImmediate(function () { i++; LiveUnit.Assert.areEqual(2, i); }); WinJS.Utilities._setImmediate(function () { i++; LiveUnit.Assert.areEqual(3, i); }); WinJS.Utilities._setImmediate(complete); LiveUnit.Assert.areEqual(0, i); } testFrameSkipping(complete) { var i = 0; WinJS.Utilities._setImmediate(function () { i++; LiveUnit.Assert.areEqual(1, i); // wait for 20ms, force us to miss a frame var start = new Date(); while ((new Date().valueOf() - start.valueOf()) < 20) { } }); WinJS.Utilities._setImmediate(function () { i++; LiveUnit.Assert.areEqual(2, i); }); WinJS.Utilities._setImmediate(complete); LiveUnit.Assert.areEqual(0, i); } }; } LiveUnit.registerTestClass("CorsicaTests.Queue");