tests added

This commit is contained in:
Vladimir Enchev
2015-06-03 17:35:53 +03:00
parent 918fe5f3b4
commit 1b5e6eb743
4 changed files with 46 additions and 0 deletions

View File

@@ -1,5 +1,19 @@
import segmentedBarModule = require("ui/segmented-bar");
import color = require("color");
export function getNativeItemsCount(bar: segmentedBarModule.SegmentedBar): number {
return (<android.widget.TabHost>bar.android).getTabWidget().getTabCount();
}
export function checkNativeItemsTextColor(bar: segmentedBarModule.SegmentedBar): boolean {
var isValid = true;
for (var tabIndex = 0; tabIndex < bar.android.getTabWidget().getTabCount(); tabIndex++) {
var tabChild = <android.view.ViewGroup>bar.android.getTabWidget().getChildTabViewAt(tabIndex);
var t = <android.widget.TextView>tabChild.getChildAt(1);
isValid = bar.color && bar.color.android === t.getCurrentTextColor();
}
return isValid;
}

View File

@@ -2,3 +2,5 @@
import segmentedBarModule = require("ui/segmented-bar");
export declare function getNativeItemsCount(bar: segmentedBarModule.SegmentedBar): number;
export declare function checkNativeItemsTextColor(bar: segmentedBarModule.SegmentedBar): boolean;

View File

@@ -2,4 +2,13 @@
export function getNativeItemsCount(bar: segmentedBarModule.SegmentedBar): number {
return (<UISegmentedControl>bar.ios).numberOfSegments;
}
export function checkNativeItemsTextColor(bar: segmentedBarModule.SegmentedBar): boolean {
var isValid = true;
var attrs = (<UISegmentedControl>bar.ios).titleTextAttributesForState(UIControlState.UIControlStateNormal);
isValid = bar.color && attrs && attrs.valueForKey(NSForegroundColorAttributeName) === bar.color.ios;
return isValid;
}

View File

@@ -2,6 +2,9 @@
import helper = require("../helper");
import viewModule = require("ui/core/view");
import segmentedBarTestsNative = require("./segmented-bar-tests-native");
import bindable = require("ui/core/bindable");
import observable = require("data/observable");
import color = require("color");
// <snippet module="ui/segmented-bar" title="SegmentedBar">
// # SegmentedBar
@@ -57,6 +60,24 @@ export var testWhenSettingItemsToNonEmptyArrayTheSameAmountOfNativeItemsIsCreate
});
}
export var testWhenItemsAreBoundTheTextColorIsPreserved = function () {
helper.buildUIAndRunTest(_createSegmentedBar(), function (views: Array<viewModule.View>) {
var segmentedBar = <segmentedBarModule.SegmentedBar>views[0];
segmentedBar.color = new color.Color("red");
var model = new observable.Observable();
model.set("items", [{ title: "One" }, { title: "Two" }, { title: "Three" }]);
var options: bindable.BindingOptions = {
sourceProperty: "items",
targetProperty: "items"
}
segmentedBar.bind(options, model);
TKUnit.assert(segmentedBarTestsNative.checkNativeItemsTextColor(segmentedBar), "Items text color not preserved" + "; Expected: " + segmentedBar.color);
});
}
export var testWhenSettingItemsToEmptyArrayZeroNativeItemsAreCreated = function () {
helper.buildUIAndRunTest(_createSegmentedBar(), function (views: Array<viewModule.View>) {
var segmentedBar = <segmentedBarModule.SegmentedBar>views[0];