Tests added

This commit is contained in:
vakrilov
2016-01-21 15:54:10 +02:00
parent eac95156d1
commit 96c638e1cc
7 changed files with 169 additions and 8 deletions

View File

@@ -89,6 +89,7 @@
<DependentUpon>modal-page.xml</DependentUpon>
</TypeScriptCompile>
<TypeScriptCompile Include="apps\tests\ui\placeholder\placeholder-tests.ts" />
<TypeScriptCompile Include="apps\tests\ui\proxy-view-container\proxy-view-container-tests.ts" />
<TypeScriptCompile Include="apps\tests\ui\tab-view\tab-view-navigation-tests.ts" />
<TypeScriptCompile Include="apps\tests\xml-declaration\custom-code-file.ts" />
<TypeScriptCompile Include="apps\transforms\app.ts" />
@@ -726,8 +727,8 @@
<TypeScriptCompile Include="ui\builder\binding-builder.d.ts" />
<TypeScriptCompile Include="ui\builder\special-properties.d.ts" />
<TypeScriptCompile Include="ui\builder\special-properties.ts" />
<TypeScriptCompile Include="ui\view-container\view-container.ts" />
<TypeScriptCompile Include="ui\view-container\view-container.d.ts" />
<TypeScriptCompile Include="ui\proxy-view-container\proxy-view-container.d.ts" />
<TypeScriptCompile Include="ui\proxy-view-container\proxy-view-container.ts" />
<TypeScriptCompile Include="ui\styling\background.android.d.ts" />
<TypeScriptCompile Include="ui\styling\style-scope.d.ts" />
<TypeScriptCompile Include="ui\styling\style.d.ts" />
@@ -2089,9 +2090,7 @@
</Content>
<Content Include="ui\package.json" />
<Content Include="tsconfig.json" />
<Content Include="ui\view-container\package.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="ui\proxy-view-container\package.json" />
</ItemGroup>
<ItemGroup>
<None Include="build\tslint.json" />
@@ -2154,7 +2153,7 @@
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
</WebProjectProperties>
</FlavorProperties>
<UserProperties ui_2layouts_2wrap-layout_2package_1json__JSONSchema="http://json.schemastore.org/package" ui_2layouts_2grid-layout_2package_1json__JSONSchema="" ui_2layouts_2dock-layout_2package_1json__JSONSchema="" ui_2layouts_2absolute-layout_2package_1json__JSONSchema="http://json.schemastore.org/package" ui_2web-view_2package_1json__JSONSchema="http://json.schemastore.org/package" ui_2content-view_2package_1json__JSONSchema="http://json.schemastore.org/package" apps_2gallery-app_2package_1json__JSONSchema="http://json.schemastore.org/package" apps_2absolute-layout-demo_2package_1json__JSONSchema="http://json.schemastore.org/package" apps_2editable-text-demo_2package_1json__JSONSchema="http://json.schemastore.org/package" ui_2scroll-view_2package_1json__JSONSchema="http://json.schemastore.org/package" />
<UserProperties ui_2scroll-view_2package_1json__JSONSchema="http://json.schemastore.org/package" apps_2editable-text-demo_2package_1json__JSONSchema="http://json.schemastore.org/package" apps_2absolute-layout-demo_2package_1json__JSONSchema="http://json.schemastore.org/package" apps_2gallery-app_2package_1json__JSONSchema="http://json.schemastore.org/package" ui_2content-view_2package_1json__JSONSchema="http://json.schemastore.org/package" ui_2web-view_2package_1json__JSONSchema="http://json.schemastore.org/package" ui_2layouts_2absolute-layout_2package_1json__JSONSchema="http://json.schemastore.org/package" ui_2layouts_2dock-layout_2package_1json__JSONSchema="" ui_2layouts_2grid-layout_2package_1json__JSONSchema="" ui_2layouts_2wrap-layout_2package_1json__JSONSchema="http://json.schemastore.org/package" />
</VisualStudio>
</ProjectExtensions>
</Project>

View File

@@ -25,6 +25,7 @@ export function isRunningOnEmulator(): boolean {
}
export var allTests = {};
allTests["PROXY-VIEW-CONTAINER"] = require("./ui/proxy-view-container/proxy-view-container-tests")
allTests["SCROLL-VIEW"] = require("./ui/scroll-view/scroll-view-tests");
allTests["ACTION-BAR"] = require("./ui/action-bar/action-bar-tests");
allTests["XML-DECLARATION"] = require("./xml-declaration/xml-declaration-tests");

View File

@@ -0,0 +1,160 @@
import TKUnit = require("../../TKUnit");
import helper = require("../helper");
import viewModule = require("ui/core/view");
import observable = require("data/observable");
import color = require("color");
import platform = require("platform");
import {ProxyViewContainer} from "ui/proxy-view-container";
import {View, Button, StackLayout} from "ui";
export function test_add_children_to_attached_proxy() {
var outer = new StackLayout();
var proxy = new ProxyViewContainer();
function testAction(views: Array<viewModule.View>) {
outer.addChild(createBtn("1"));
outer.addChild(proxy);
proxy.addChild(createBtn("2"));
proxy.addChild(createBtn("3"));
proxy.addChild(createBtn("4"));
outer.addChild(createBtn("5"));
assertNativeChildren(outer, ["1", "2", "3", "4", "5"]);
};
helper.buildUIAndRunTest(outer, testAction);
}
export function test_add_children_to_detached_proxy() {
var outer = new StackLayout();
var proxy = new ProxyViewContainer();
function testAction(views: Array<viewModule.View>) {
outer.addChild(createBtn("1"));
proxy.addChild(createBtn("2"));
proxy.addChild(createBtn("3"));
proxy.addChild(createBtn("4"));
outer.addChild(proxy);
outer.addChild(createBtn("5"));
assertNativeChildren(outer, ["1", "2", "3", "4", "5"]);
};
helper.buildUIAndRunTest(outer, testAction);
}
export function test_remove_proxy() {
var outer = new StackLayout();
var proxy = new ProxyViewContainer();
outer.addChild(createBtn("1"));
outer.addChild(proxy);
proxy.addChild(createBtn("2"));
proxy.addChild(createBtn("3"));
proxy.addChild(createBtn("4"));
outer.addChild(createBtn("5"));
function testAction(views: Array<viewModule.View>) {
assertNativeChildren(outer, ["1", "2", "3", "4", "5"]);
outer.removeChild(proxy);
assertNativeChildren(outer, ["1", "5"]);
};
helper.buildUIAndRunTest(outer, testAction);
}
export function test_remove_child_of_attached_proxy() {
var outer = new StackLayout();
var proxy = new ProxyViewContainer();
outer.addChild(createBtn("1"));
outer.addChild(proxy);
proxy.addChild(createBtn("2"));
var testBtn = createBtn("3")
proxy.addChild(testBtn);
proxy.addChild(createBtn("4"));
outer.addChild(createBtn("5"));
function testAction(views: Array<viewModule.View>) {
assertNativeChildren(outer, ["1", "2", "3", "4", "5"]);
proxy.removeChild(testBtn);
assertNativeChildren(outer, ["1", "2", "4", "5"]);
};
helper.buildUIAndRunTest(outer, testAction);
}
export function test_insert_inside_porxy() {
var outer = new StackLayout();
var proxy = new ProxyViewContainer();
outer.addChild(createBtn("1"));
outer.addChild(proxy);
proxy.addChild(createBtn("2"));
proxy.addChild(createBtn("4"));
outer.addChild(createBtn("5"));
function testAction(views: Array<viewModule.View>) {
assertNativeChildren(outer, ["1", "2", "4", "5"]);
proxy.insertChild(createBtn("3"), 1);
assertNativeChildren(outer, ["1", "2", "3", "4", "5"]);
};
helper.buildUIAndRunTest(outer, testAction);
}
export function test_insert_after_porxy() {
var outer = new StackLayout();
var proxy = new ProxyViewContainer();
outer.addChild(createBtn("1"));
outer.addChild(proxy);
proxy.addChild(createBtn("2"));
proxy.addChild(createBtn("3"));
proxy.addChild(createBtn("4"));
function testAction(views: Array<viewModule.View>) {
assertNativeChildren(outer, ["1", "2", "3", "4"]);
outer.insertChild(createBtn("5"), 2);
assertNativeChildren(outer, ["1", "2", "3", "4", "5"]);
};
helper.buildUIAndRunTest(outer, testAction);
}
function createBtn(text: string): Button {
var b = new Button();
b.text = text;
return b;
}
function assertNativeChildren(stack: StackLayout, arr: Array<string>) {
if (stack.android) {
let android: org.nativescript.widgets.StackLayout = stack.android;
TKUnit.assertEqual(android.getChildCount(), arr.length, "Native children");
for (let i = 0; i < arr.length; i++) {
let nativeBtn = <android.widget.Button>android.getChildAt(i);
TKUnit.assertEqual(nativeBtn.getText(), arr[i]);
}
} else if (stack.ios) {
let ios: UIView = stack.ios;
TKUnit.assertEqual(ios.subviews.count, arr.length, "Native children");
for (let i = 0; i < arr.length; i++) {
let nativeBtn = <UIButton>ios.subviews[i];
TKUnit.assertEqual(nativeBtn.titleLabel.text, arr[i]);
}
} else {
TKUnit.assert(false, "No native view to assert");
}
}

View File

@@ -265,6 +265,7 @@
"apps/tests/ui/page/test-page-module.ts",
"apps/tests/ui/placeholder/placeholder-tests.ts",
"apps/tests/ui/progress/progress-tests.ts",
"apps/tests/ui/proxy-view-container/proxy-view-container-tests.ts",
"apps/tests/ui/repeater/repeater-tests.ts",
"apps/tests/ui/repeater/repeaterItems-bindingToGestures.ts",
"apps/tests/ui/scroll-view/scroll-view-tests.ts",
@@ -594,6 +595,8 @@
"ui/progress/progress.android.ts",
"ui/progress/progress.d.ts",
"ui/progress/progress.ios.ts",
"ui/proxy-view-container/proxy-view-container.d.ts",
"ui/proxy-view-container/proxy-view-container.ts",
"ui/repeater/repeater.d.ts",
"ui/repeater/repeater.ts",
"ui/scroll-view/scroll-view-common.ts",
@@ -664,8 +667,6 @@
"ui/ui.ts",
"ui/utils.d.ts",
"ui/utils.ios.ts",
"ui/view-container/proxy-view-container.d.ts",
"ui/view-container/proxy-view-container.ts",
"ui/web-view/web-view-common.ts",
"ui/web-view/web-view.android.ts",
"ui/web-view/web-view.d.ts",