mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-18 13:51:27 +08:00
77 lines
2.3 KiB
TypeScript
77 lines
2.3 KiB
TypeScript
import { StackLayout } from "tns-core-modules/ui/layouts/stack-layout";
|
|
import { TextView } from "tns-core-modules/ui/text-view";
|
|
import { Button } from "tns-core-modules/ui/button";
|
|
|
|
import * as tests from "./tests";
|
|
|
|
const c = [10, 100, 1000, 10000, 100000];
|
|
|
|
function getStack(stack: StackLayout): StackLayout {
|
|
let p = new StackLayout();
|
|
stack.removeChildren();
|
|
stack.addChild(p);
|
|
return p;
|
|
}
|
|
|
|
let runner;
|
|
|
|
export function onNavigatingFrom() {
|
|
clearInterval(runner);
|
|
}
|
|
|
|
export function onTap3(args) {
|
|
let btn = <Button>args.object;
|
|
const p = btn.page.getViewById<StackLayout>("placeholder");
|
|
btn.text = "Start tests...";
|
|
|
|
let result = btn.page.getViewById<TextView>("result");
|
|
|
|
result.text = "";
|
|
|
|
function track(line: string) {
|
|
console.log(line);
|
|
result.fontSize = 10;
|
|
result.text += line + "\n";
|
|
}
|
|
|
|
let text = "Count";
|
|
c.forEach(e => {
|
|
text += `\t${e}`;
|
|
});
|
|
track(text);
|
|
|
|
let tasks = [
|
|
() => track(tests.setBackgroundColor(c)),
|
|
() => track(tests.setBackgroundColor(c, getStack(p))),
|
|
() => track(tests.setBindingContext(c)),
|
|
() => track(tests.setBindingContext(c, getStack(p))),
|
|
() => track(tests.setBindingContextWithParents(c, getStack(p))),
|
|
() => track(tests.setBindingContextWithParentsBound(c, getStack(p))),
|
|
() => track(tests.setBorderWidths(c)),
|
|
() => track(tests.setBorderWidths(c, getStack(p))),
|
|
() => track(tests.setFontSize(c)),
|
|
() => track(tests.setFontSize(c, getStack(p))),
|
|
() => track(tests.setFontSizeWithParents(c, getStack(p))),
|
|
() => track(tests.setFontWeight(c)),
|
|
() => track(tests.setFontWeight(c, getStack(p))),
|
|
() => track(tests.setFontWeightWithParents(c, getStack(p))),
|
|
() => track(tests.setColor(c)),
|
|
() => track(tests.setColor(c, getStack(p))),
|
|
() => track(tests.setColorWithParents(c, getStack(p))),
|
|
() => track(tests.setText(c)),
|
|
() => track(tests.setText(c, getStack(p))),
|
|
() => track(tests.addRemove(c, getStack(p))),
|
|
() => track("Complete!")
|
|
];
|
|
let i = 0;
|
|
runner = setInterval(nextTask, 1);
|
|
function nextTask() {
|
|
if (i < tasks.length) {
|
|
tasks[i]();
|
|
i++;
|
|
} else {
|
|
clearInterval(runner);
|
|
}
|
|
}
|
|
}
|