Skip to content

Commit d398678

Browse files
Merge pull request NativeScript#2468 from NativeScript/tsenov/ui-tests
Implement new logic for loading ui tests
2 parents 6f4e687 + e765176 commit d398678

23 files changed

+565
-179
lines changed
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import { EventData } from "data/observable";
2+
import { Page } from "ui/page";
3+
import observable = require("data/observable");
4+
5+
export function navigatingTo(args: EventData) {
6+
let page = <Page>args.object;
7+
page.bindingContext = new ActionItemPostitionView();
8+
}
9+
10+
export class ActionItemPostitionView extends observable.Observable {
11+
private _values = ["-i---", "---i---", "---i-"];
12+
private _count: number;
13+
private _text: string;
14+
15+
constructor() {
16+
super();
17+
this._count = 0;
18+
}
19+
20+
get text(): string {
21+
return this._text;
22+
}
23+
24+
set text(value: string) {
25+
if (this._text !== value) {
26+
this._text = value;
27+
this.notifyPropertyChange("text", value)
28+
}
29+
}
30+
31+
public onTap() {
32+
this.change();
33+
}
34+
35+
public change() {
36+
let index = this._count++ % 3;
37+
this.text = this._values[index];
38+
}
39+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<Page
2+
xmlns="http://schemas.nativescript.org/tns.xsd" navigatingTo="navigatingTo">
3+
<Page.actionBar>
4+
<ActionBar>
5+
<NavigationButton text="Go Back" android.systemIcon="ic_menu_back"></NavigationButton>
6+
<ActionItem ios.position="right" >
7+
<Button text="{{ text }}" backgroundColor="red" tap="change"/>
8+
</ActionItem>
9+
</ActionBar>
10+
</Page.actionBar>
11+
<StackLayout>
12+
<Label text="Tap to change the text in the actionbar" class="title"/>
13+
<Button text="Tap" tap="{{ onTap }}" />
14+
<Label text="{{ text }}"/>
15+
</StackLayout>
16+
</Page>
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import { EventData } from "data/observable";
2+
import { MianPageViewModel } from "../mainPage";
3+
import { WrapLayout } from "ui/layouts/wrap-layout";
4+
import { Page } from "ui/page";
5+
6+
export function pageLoaded(args: EventData) {
7+
let page = <Page>args.object;
8+
let view = require("ui/core/view");
9+
10+
let wrapLayout = view.getViewById(page, "wrapLayoutWithExamples");
11+
12+
let examples: Map<string, string> = new Map<string, string>();
13+
examples.set("actColor", "action-bar/color");
14+
examples.set("actBG", "action-bar/background");
15+
examples.set("actStyle", "action-bar/all");
16+
examples.set("actIcons", "action-bar/system-icons");
17+
examples.set("actView", "action-bar/action-view");
18+
examples.set("actionItemPosition", "action-bar/action-item-position");
19+
20+
let viewModel = new SubMianPageViewModel(wrapLayout, examples);
21+
page.bindingContext = viewModel;
22+
}
23+
24+
export class SubMianPageViewModel extends MianPageViewModel {
25+
constructor(container: WrapLayout, examples: Map<string, string>) {
26+
super(container, examples);
27+
}
28+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" encoding="UTF-8" ?>
2+
<Page loaded="pageLoaded">
3+
<ScrollView orientation="vertical" row="1">
4+
<WrapLayout id="wrapLayoutWithExamples"/>
5+
</ScrollView>
6+
</Page>
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import { EventData } from "data/observable";
2+
import { MianPageViewModel } from "../mainPage";
3+
import { WrapLayout } from "ui/layouts/wrap-layout";
4+
import { Page } from "ui/page";
5+
6+
export function pageLoaded(args: EventData) {
7+
let page = <Page>args.object;
8+
let view = require("ui/core/view");
9+
10+
let wrapLayout = view.getViewById(page, "wrapLayoutWithExamples");
11+
12+
let examples: Map<string, string> = new Map<string, string>();
13+
examples.set("basics", "bindings/basics");
14+
examples.set("xmlbasics", "bindings/xmlbasics");
15+
16+
let viewModel = new SubMianPageViewModel(wrapLayout, examples);
17+
page.bindingContext = viewModel;
18+
}
19+
20+
export class SubMianPageViewModel extends MianPageViewModel {
21+
constructor(container: WrapLayout, examples: Map<string, string>) {
22+
super(container, examples);
23+
}
24+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" encoding="UTF-8" ?>
2+
<Page loaded="pageLoaded">
3+
<ScrollView orientation="vertical" row="1">
4+
<WrapLayout id="wrapLayoutWithExamples"/>
5+
</ScrollView>
6+
</Page>
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
import { EventData } from "data/observable";
2+
import { MianPageViewModel } from "../mainPage";
3+
import { WrapLayout } from "ui/layouts/wrap-layout";
4+
import { Page } from "ui/page";
5+
6+
export function pageLoaded(args: EventData) {
7+
let page = <Page>args.object;
8+
let view = require("ui/core/view");
9+
10+
let wrapLayout = view.getViewById(page, "wrapLayoutWithExamples");
11+
12+
let examples: Map<string, string> = new Map<string, string>();
13+
examples.set("background", "css/background");
14+
examples.set("formatted", "css/decoration-transform-formattedtext");
15+
examples.set("csslv", "css/listview");
16+
examples.set("radius", "css/radius");
17+
examples.set("styles", "css/styles");
18+
examples.set("tabmore", "css/tab-view-more");
19+
examples.set("spacing", "css/letter-spacing");
20+
examples.set("decoration", "css/text-decoration");
21+
examples.set("transform", "css/text-transform");
22+
examples.set("whitespace", "css/white-space");
23+
examples.set("switch", "css/views");
24+
examples.set("zindex", "css/zindex");
25+
examples.set("clipPath", "css/clip-path");
26+
examples.set("padding", "css/padding");
27+
28+
let viewModel = new SubMianPageViewModel(wrapLayout, examples);
29+
page.bindingContext = viewModel;
30+
}
31+
32+
export class SubMianPageViewModel extends MianPageViewModel {
33+
constructor(container: WrapLayout, examples: Map<string, string>) {
34+
super(container, examples);
35+
}
36+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" encoding="UTF-8" ?>
2+
<Page loaded="pageLoaded">
3+
<ScrollView orientation="vertical" row="1">
4+
<WrapLayout id="wrapLayoutWithExamples"/>
5+
</ScrollView>
6+
</Page>
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<Page xmlns="http://schemas.nativescript.org/tns.xsd" >
22
<StackLayout automationText="padding">
3-
<Label id="label" text="Label" backgroundColor="red"/>
4-
<TextField id="textField" text="TextField" backgroundColor="green"/>
5-
<TextView id="textView" text="TextView" backgroundColor="blue"/>
6-
<Button id="button" text="Button" backgroundColor="yellow"/>
3+
<Label id="label" text="Label" backgroundColor="red" style="padding:50"/>
4+
<TextField id="textField" text="TextField" backgroundColor="green" style="padding:50"/>
5+
<TextView id="textView" text="TextView" backgroundColor="blue" style="padding:50"/>
6+
<Button id="button" text="Button" backgroundColor="yellow" style="padding:50"/>
77
</StackLayout>
88
</Page>
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import { EventData } from "data/observable";
2+
import { MianPageViewModel } from "../mainPage";
3+
import { WrapLayout } from "ui/layouts/wrap-layout";
4+
import { Page } from "ui/page";
5+
6+
export function pageLoaded(args: EventData) {
7+
let page = <Page>args.object;
8+
let view = require("ui/core/view");
9+
10+
let wrapLayout = view.getViewById(page, "wrapLayoutWithExamples");
11+
12+
let examples: Map<string, string> = new Map<string, string>();
13+
14+
examples.set("fontbtn", "font/button");
15+
examples.set("fontlbl", "font/label");
16+
examples.set("fontfield", "font/text-field");
17+
examples.set("fontview", "font/text-view");
18+
examples.set("nordic", "nordic/nordic");
19+
20+
let viewModel = new SubMianPageViewModel(wrapLayout, examples);
21+
page.bindingContext = viewModel;
22+
}
23+
24+
export class SubMianPageViewModel extends MianPageViewModel {
25+
constructor(container: WrapLayout, examples: Map<string, string>) {
26+
super(container, examples);
27+
}
28+
}

0 commit comments

Comments
 (0)