diff --git a/apps/tests/ui/view/view-tests-common.ts b/apps/tests/ui/view/view-tests-common.ts index 59a0ec1d3..dc8d1f6a8 100644 --- a/apps/tests/ui/view/view-tests-common.ts +++ b/apps/tests/ui/view/view-tests-common.ts @@ -264,6 +264,14 @@ var inheritanceTestProperty = new dependensyObservable.Property( new proxy.PropertyMetadata(inheritanceTestDefaultValue, dependensyObservable.PropertyMetadataSettings.Inheritable) ); +var booleanInheritanceTestDefaultValue = true; + +var booleanInheritanceTestProperty = new dependensyObservable.Property( + "booleanInheritanceTest", + "TestView", + new proxy.PropertyMetadata(booleanInheritanceTestDefaultValue, dependensyObservable.PropertyMetadataSettings.Inheritable) +); + var dummyProperty = new dependensyObservable.Property( "dummy", "TestView", @@ -293,6 +301,13 @@ class TestView extends layoutModule.Layout { this._setValue(inheritanceTestProperty, value); } + get booleanInheritanceTest(): boolean { + return this._getValue(booleanInheritanceTestProperty); + } + set booleanInheritanceTest(value: boolean) { + this._setValue(booleanInheritanceTestProperty, value); + } + get dummy(): number { return this._getValue(dummyProperty); } @@ -328,6 +343,25 @@ export var test_InheritableProperties_getValuesFromParent = function () { helper.do_PageTest(test, firstView, secondView, thirdView); } +export var test_BooleanInheritableProperties_getValuesFromParent = function () { + var testValue = false; + var test = function (views: Array) { + var bottomView = views[3] + + TKUnit.assert(bottomView.booleanInheritanceTest === testValue, "Expected: " + testValue + " Actual: " + bottomView.booleanInheritanceTest); + } + + var firstView = new TestView("firstView"); + firstView.booleanInheritanceTest = testValue; + var secondView = new TestView("secondView"); + var thirdView = new TestView("thirdView"); + + firstView.addChild(secondView); + secondView.addChild(thirdView); + + helper.do_PageTest(test, firstView, secondView, thirdView); +} + export var test_InheritableProperties_resetValuesOnRemoveFromVisualTree = function () { var testValue = 35; var test = function (views: Array) { diff --git a/ui/core/view-common.ts b/ui/core/view-common.ts index 33c039b31..7b7b056dc 100644 --- a/ui/core/view-common.ts +++ b/ui/core/view-common.ts @@ -977,9 +977,7 @@ export class View extends proxy.ProxyObject implements definition.View { } if (property.metadata && property.metadata.inheritable) { var baseValue = parentView._getValue(property); - if (baseValue) { - that._setValue(property, baseValue, dependencyObservable.ValueSource.Inherited); - } + that._setValue(property, baseValue, dependencyObservable.ValueSource.Inherited); } return true; };