From 8339d3f51d8a9e83fedfdf93d2db861f8e7c4d51 Mon Sep 17 00:00:00 2001 From: Vladimir Enchev Date: Thu, 11 Feb 2016 11:12:14 +0200 Subject: [PATCH] Fixed null and undefined as Label text --- apps/tests/ui/label/label-tests.ts | 34 ++++++++++++++++++++++++++++++ ui/text-base/text-base.ts | 6 ++++-- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/apps/tests/ui/label/label-tests.ts b/apps/tests/ui/label/label-tests.ts index e4df4e96b..f3634085c 100644 --- a/apps/tests/ui/label/label-tests.ts +++ b/apps/tests/ui/label/label-tests.ts @@ -89,6 +89,40 @@ export class LabelTest extends testModule.UITest { TKUnit.assertEqual(actualNative, expectedValue, "Native text not equal"); } + public test_Set_Text_Native_Null() { + var testLabel = this.testView; + var expectedValue = ""; + + testLabel.text = null; + var actualNative; + if (testLabel.ios) { + actualNative = testLabel.ios.text; + } + else { + this.waitUntilTestElementIsLoaded(); + actualNative = testLabel.android.getText(); + } + + TKUnit.assertEqual(actualNative, expectedValue, "Native text not equal"); + } + + public test_Set_Text_Native_Undefined() { + var testLabel = this.testView; + var expectedValue = ""; + + testLabel.text = undefined; + var actualNative; + if (testLabel.ios) { + actualNative = testLabel.ios.text; + } + else { + this.waitUntilTestElementIsLoaded(); + actualNative = testLabel.android.getText(); + } + + TKUnit.assertEqual(actualNative, expectedValue, "Native text not equal"); + } + public test_Set_BackgroundColor_TNS() { var label = this.testView; var expectedValue = new colorModule.Color("Red"); diff --git a/ui/text-base/text-base.ts b/ui/text-base/text-base.ts index 4461af956..e58d3ebd0 100644 --- a/ui/text-base/text-base.ts +++ b/ui/text-base/text-base.ts @@ -1,5 +1,6 @@ import definition = require("ui/text-base"); import view = require("ui/core/view"); +import types = require("utils/types"); import observable = require("data/observable"); import dependencyObservable = require("ui/core/dependency-observable"); import proxy = require("ui/core/proxy"); @@ -100,11 +101,12 @@ export class TextBase extends view.View implements definition.TextBase, formatte } public _onTextPropertyChanged(data: dependencyObservable.PropertyChangeData) { + var newValue = types.isNullOrUndefined(data.newValue) ? "" : data.newValue + ""; if (this.android) { - this.android.setText(data.newValue + ""); + this.android.setText(newValue); } else if (this.ios) { - this.ios.text = data.newValue + ""; + this.ios.text = newValue; this.style._updateTextDecoration(); this.style._updateTextTransform(); }