mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
Add unit tests for itemTemplate set to a 'Template' factory function
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user