mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-16 03:31:45 +08:00
timer tests and snippets added
This commit is contained in:
@ -200,6 +200,7 @@
|
||||
<TypeScriptCompile Include="local-settings\local-settings-common.ts" />
|
||||
<TypeScriptCompile Include="location\location-common.ts" />
|
||||
<TypeScriptCompile Include="location\location-types.ts" />
|
||||
<TypeScriptCompile Include="Tests\timer-tests.ts" />
|
||||
<Content Include="_references.ts" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
@ -6,6 +6,7 @@ allTests["HTTP"] = require("Tests/http-tests");
|
||||
allTests["LOCATION"] = require("Tests/location-tests");
|
||||
allTests["LOCAL SETTINGS"] = require("Tests/local-settings-tests");
|
||||
allTests["IMAGE SOURCE"] = require("Tests/image-tests");
|
||||
allTests["TIMER"] = require("Tests/timer-tests");
|
||||
|
||||
export var runAll = function (moduleName?: string) {
|
||||
for (var name in allTests) {
|
||||
|
146
Tests/timer-tests.ts
Normal file
146
Tests/timer-tests.ts
Normal file
@ -0,0 +1,146 @@
|
||||
import TKUnit = require("Tests/TKUnit");
|
||||
var timer = require("timer/timer");
|
||||
|
||||
// <snippet name="timer">
|
||||
// # Timer module
|
||||
// ``` JavaScript
|
||||
// require("globals");
|
||||
//// OR
|
||||
// var timer = require("timer");
|
||||
// ```
|
||||
// </snippet>
|
||||
|
||||
export var test_setTimeout_isDefined = function () {
|
||||
TKUnit.assert(typeof (timer.setTimeout) !== "undefined", "Method timer.setTimeout() should be defined!");
|
||||
};
|
||||
|
||||
export var test_clearTimeout_isDefined = function () {
|
||||
TKUnit.assert(typeof (timer.clearTimeout) !== "undefined", "Method timer.clearTimeout() should be defined!");
|
||||
};
|
||||
|
||||
export var test_setInterval_isDefined = function () {
|
||||
TKUnit.assert(typeof (timer.setInterval) !== "undefined", "Method timer.setInterval() should be defined!");
|
||||
};
|
||||
|
||||
export var test_clearInterval_isDefined = function () {
|
||||
TKUnit.assert(typeof (timer.clearInterval) !== "undefined", "Method timer.clearInterval() should be defined!");
|
||||
};
|
||||
|
||||
export var test_setTimeout = function () {
|
||||
var completed: boolean;
|
||||
var isReady = function () { return completed; }
|
||||
|
||||
// <snippet name="timer">
|
||||
// ### Evaluates an expression after 0 milliseconds.
|
||||
// ``` JavaScript
|
||||
timer.setTimeout(function () {
|
||||
// <hide>
|
||||
completed = true;
|
||||
// </hide>
|
||||
});
|
||||
// ```
|
||||
// </snippet>
|
||||
|
||||
TKUnit.waitUntilReady(isReady, 0.5);
|
||||
TKUnit.assert(completed, "Callback should be called!");
|
||||
};
|
||||
|
||||
export var test_setTimeout_callbackCalledAfterSpecifedTime = function () {
|
||||
var completed: boolean;
|
||||
var isReady = function () { return completed; }
|
||||
|
||||
// <snippet name="timer">
|
||||
// ### Evaluates an expression after a specified number of milliseconds.
|
||||
// ``` JavaScript
|
||||
timer.setTimeout(function () {
|
||||
// <hide>
|
||||
completed = true;
|
||||
// </hide>
|
||||
}, 500);
|
||||
// ```
|
||||
// </snippet>
|
||||
|
||||
TKUnit.waitUntilReady(isReady, 1);
|
||||
TKUnit.assert(completed, "Callback should be called after specified time!");
|
||||
};
|
||||
|
||||
export var test_setTimeout_callbackNotCalled = function () {
|
||||
var completed: boolean;
|
||||
var isReady = function () { return completed; }
|
||||
|
||||
timer.setTimeout(function () {
|
||||
completed = true;
|
||||
}, 1000);
|
||||
|
||||
TKUnit.waitUntilReady(isReady, 0.5);
|
||||
TKUnit.assert(!completed, "Callback should be called after specified time!");
|
||||
};
|
||||
|
||||
export var test_setTimeout_shouldReturnNumber = function () {
|
||||
var id = timer.setTimeout(function () { });
|
||||
TKUnit.assert(typeof id === "number", "Callback should return number!");
|
||||
};
|
||||
|
||||
export var test_setTimeout_callbackShouldBeCleared = function () {
|
||||
var completed: boolean;
|
||||
var isReady = function () { return completed; }
|
||||
|
||||
// <snippet name="timer">
|
||||
// ### Cancels the evaluation with the clearTimeout method.
|
||||
// ``` JavaScript
|
||||
var id = timer.setTimeout(function () {
|
||||
// <hide>
|
||||
completed = true;
|
||||
// </hide>
|
||||
}, 2000);
|
||||
|
||||
//// Clear timeout with specified id.
|
||||
timer.clearTimeout(id);
|
||||
|
||||
// ```
|
||||
// </snippet>
|
||||
|
||||
TKUnit.waitUntilReady(isReady, 3);
|
||||
TKUnit.assert(!completed, "Callback should be cleared when clearTimeout() is executed for specified id!");
|
||||
};
|
||||
|
||||
export var test_setInterval_callbackCalledDuringPeriod = function () {
|
||||
var counter = 0;
|
||||
var expected = 4;
|
||||
var isReady = function () { return counter >= expected; }
|
||||
|
||||
// <snippet name="timer">
|
||||
// ### Evaluates an expression each time a specified number of milliseconds has elapsed.
|
||||
// ``` JavaScript
|
||||
timer.setInterval(function () {
|
||||
// <hide>
|
||||
counter++;
|
||||
// </hide>
|
||||
}, 100);
|
||||
// ```
|
||||
// </snippet>
|
||||
|
||||
TKUnit.waitUntilReady(isReady, 0.5);
|
||||
TKUnit.assert(isReady(), "Callback should be raised at least" + expected + "times! Callback raised " + counter + " times.");
|
||||
};
|
||||
|
||||
export var test_setInterval_callbackShouldBeCleared = function () {
|
||||
var counter = 0;
|
||||
var expected = 1;
|
||||
var isReady = function () { return counter == expected; }
|
||||
|
||||
// <snippet name="timer">
|
||||
// ### Cancel the interval previously started using the setInterval method.
|
||||
// ``` JavaScript
|
||||
var id = timer.setInterval(function () {
|
||||
// <hide>
|
||||
counter++;
|
||||
// </hide>
|
||||
timer.clearInterval(id);
|
||||
}, 100);
|
||||
// ```
|
||||
// </snippet>
|
||||
|
||||
TKUnit.waitUntilReady(isReady, 0.5);
|
||||
TKUnit.assert(isReady(), "Callback should be raised only once!");
|
||||
};
|
@ -5,6 +5,6 @@ import consoleModule = require("console/console");
|
||||
setTimeout = timer.setTimeout;
|
||||
clearTimeout = timer.clearTimeout;
|
||||
setInterval = timer.setInterval;
|
||||
clearInterval = timer.clearTimeout;
|
||||
clearInterval = timer.clearInterval;
|
||||
|
||||
console = new consoleModule.Console();
|
@ -56,3 +56,5 @@ export function setInterval(callback: Function, milliseconds = 0): number {
|
||||
|
||||
return id;
|
||||
}
|
||||
|
||||
export var clearInterval = clearTimeout;
|
@ -30,3 +30,5 @@ export function clearTimeout(id: number): void {
|
||||
export function setInterval(callback: Function, milliseconds = 0): number {
|
||||
return createTimerAndGetId(callback, milliseconds, true);
|
||||
}
|
||||
|
||||
export var clearInterval = clearTimeout;
|
Reference in New Issue
Block a user