Add unit tests for itemTemplate set to a 'Template' factory function

This commit is contained in:
Panayot Cankov
2015-11-23 16:00:15 +02:00
parent e95820b04a
commit 86e8620d4c
2 changed files with 46 additions and 0 deletions

View File

@@ -8,6 +8,7 @@ import observable = require("data/observable");
import types = require("utils/types");
import platform = require("platform");
import utils = require("utils/utils");
import { Label } from "ui/label";
// <snippet module="ui/list-view" title="list-view">
// # ListView
@@ -481,6 +482,28 @@ export class ListViewTest extends testModule.UITest<listViewModule.ListView> {
TKUnit.assertEqual(secondNativeElementText, "2", "second element text");
TKUnit.assertEqual(thirdNativeElementText, "3", "third element text");
}
public test_ItemTemplateFactoryFunction() {
var listView = this.testView;
listView.itemTemplate = () => {
var label = new Label();
label.id = "testLabel";
label.bind({ sourceProperty: "$value", targetProperty: "text", twoWay: false });
return label;
}
listView.items = [1, 2, 3];
TKUnit.waitUntilReady(() => { return this.getNativeViewCount(listView) === listView.items.length; }, ASYNC);
var firstNativeElementText = this.getTextFromNativeElementAt(listView, 0);
var secondNativeElementText = this.getTextFromNativeElementAt(listView, 1);
var thirdNativeElementText = this.getTextFromNativeElementAt(listView, 2);
TKUnit.assertEqual(firstNativeElementText, "1", "first element text");
TKUnit.assertEqual(secondNativeElementText, "2", "second element text");
TKUnit.assertEqual(thirdNativeElementText, "3", "third element text");
}
public test_BindingListViewToASimpleArrayWithExpression() {
var listView = this.testView;

View File

@@ -8,6 +8,7 @@ import layoutBaseModule = require("ui/layouts/layout-base");
import fs = require("file-system");
import pageModule = require("ui/page");
import gestureModule = require("ui/gestures");
import { Label } from "ui/label";
// <snippet module="ui/repeater" title="repeater">
// # Repeater
@@ -367,6 +368,28 @@ export function test_BindingRepeaterToASimpleArray() {
helper.buildUIAndRunTest(repeater, testAction);
}
export function test_ItemTemplateFactoryFunction() {
var repeater = new repeaterModule.Repeater();
function testAction(views: Array<viewModule.View>) {
repeater.itemTemplate = () => {
var label = new Label();
label.id = "testLabel";
label.bind({ sourceProperty: "$value", targetProperty: "text", twoWay: false });
return label;
}
repeater.items = [1, 2, 3];
TKUnit.wait(ASYNC);
TKUnit.assertEqual(getChildAtText(repeater, 0), "1", "first element text");
TKUnit.assertEqual(getChildAtText(repeater, 1), "2", "second element text");
TKUnit.assertEqual(getChildAtText(repeater, 2), "3", "third element text");
}
helper.buildUIAndRunTest(repeater, testAction);
}
export function test_BindingRepeaterToASimpleArrayWithExpression() {
var repeater = new repeaterModule.Repeater();