diff --git a/apps/app/ui-tests-app/mainPage.ts b/apps/app/ui-tests-app/mainPage.ts index 296a51e2e..b2f03541b 100644 --- a/apps/app/ui-tests-app/mainPage.ts +++ b/apps/app/ui-tests-app/mainPage.ts @@ -38,6 +38,8 @@ export function pageLoaded(args: EventData) { examples.set("issues", "issues/main-page"); examples.set("page", "page/main-page"); + examples.set("perf", "perf/main-page"); + //examples.set("listview_binding", "pages/listview_binding"); //examples.set("textfield", "text-field/text-field"); diff --git a/apps/app/ui-tests-app/perf/main-page.ts b/apps/app/ui-tests-app/perf/main-page.ts new file mode 100644 index 000000000..032d4d621 --- /dev/null +++ b/apps/app/ui-tests-app/perf/main-page.ts @@ -0,0 +1,24 @@ +import { EventData } from "tns-core-modules/data/observable"; +import { MainPageViewModel } from "../mainPage"; +import { WrapLayout } from "tns-core-modules/ui/layouts/wrap-layout"; +import { Page } from "tns-core-modules/ui/page"; + +export function pageLoaded(args: EventData) { + let page = args.object; + let view = require("ui/core/view"); + + let wrapLayout = view.getViewById(page, "wrapLayoutWithExamples"); + + let examples: Map = new Map(); + examples.set("properties", "perf/properties/main-page"); + examples.set("memory-leaks", "perf/memory-leaks/main-page"); + + let viewModel = new SubMainPageViewModel(wrapLayout, examples); + page.bindingContext = viewModel; +} + +export class SubMainPageViewModel extends MainPageViewModel { + constructor(container: WrapLayout, examples: Map) { + super(container, examples); + } +} diff --git a/apps/app/ui-tests-app/perf/main-page.xml b/apps/app/ui-tests-app/perf/main-page.xml new file mode 100644 index 000000000..33306f0d0 --- /dev/null +++ b/apps/app/ui-tests-app/perf/main-page.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/apps/app/ui-tests-app/perf/memory-leaks/background-image.css b/apps/app/ui-tests-app/perf/memory-leaks/background-image.css new file mode 100644 index 000000000..0f4448e48 --- /dev/null +++ b/apps/app/ui-tests-app/perf/memory-leaks/background-image.css @@ -0,0 +1,15 @@ +/*.bg-main-page{ + background-image: url('~/ui-tests-app/image-view/gravatar.png'); +}*/ + +/*.image { +width:100; +height:100; + background-image: url('~/ui-tests-app/image-view/gravatar.png'); +clip-path: polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%); +}*/ + + +.info { + font-size: 20; +} \ No newline at end of file diff --git a/apps/app/ui-tests-app/perf/memory-leaks/background-image.ts b/apps/app/ui-tests-app/perf/memory-leaks/background-image.ts new file mode 100644 index 000000000..6e9de08c8 --- /dev/null +++ b/apps/app/ui-tests-app/perf/memory-leaks/background-image.ts @@ -0,0 +1,46 @@ +import * as frame from "tns-core-modules/ui/frame"; +import { EventData } from "tns-core-modules/data/observable"; +import { Page } from "tns-core-modules/ui/page"; +import { Label } from "tns-core-modules/ui/label"; +import * as application from "tns-core-modules/application"; + +var indexCounter = 0; +var navCounter = 0; +var images = ["gravatar", "gravatar2", "red"]; + +export function onLoad(args: EventData) { + let index = indexCounter++ % 3; + let page = args.object; + page.backgroundImage = '~/ui-tests-app/image-view/' + images[index] + '.png'; + setLabelText(page, navCounter, "countInfo"); + getMemoryUsage(args); +} + +export function navigate(args: EventData) { + navCounter++; + frame.topmost().navigate("ui-tests-app/perf/memory-leaks/background-image"); +} + +export function navigateBack(args: EventData) { + navCounter--; + frame.topmost().goBack(); +} + +function setLabelText(page: Page, text: number, id: string) { + let label =