Merge pull request #3363 from NativeScript/nnikolov/TimeAndDatePickerTests

Fixed tests for time and date pickers.
This commit is contained in:
Nedyalko Nikolov
2016-12-27 13:53:55 +02:00
committed by GitHub
3 changed files with 22 additions and 14 deletions

View File

@ -87,8 +87,8 @@ allTests["SCROLL-VIEW"] = require("./ui/scroll-view/scroll-view-tests");
// allTests["TEXT-FIELD"] = require("./ui/text-field/text-field-tests"); // allTests["TEXT-FIELD"] = require("./ui/text-field/text-field-tests");
// allTests["TEXT-VIEW"] = require("./ui/text-view/text-view-tests"); // allTests["TEXT-VIEW"] = require("./ui/text-view/text-view-tests");
// allTests["LIST-PICKER"] = require("./ui/list-picker/list-picker-tests"); // allTests["LIST-PICKER"] = require("./ui/list-picker/list-picker-tests");
// allTests["DATE-PICKER"] = require("./ui/date-picker/date-picker-tests"); allTests["DATE-PICKER"] = require("./ui/date-picker/date-picker-tests");
// allTests["TIME-PICKER"] = require("./ui/time-picker/time-picker-tests"); allTests["TIME-PICKER"] = require("./ui/time-picker/time-picker-tests");
// allTests["WEB-VIEW"] = require("./ui/web-view/web-view-tests"); // allTests["WEB-VIEW"] = require("./ui/web-view/web-view-tests");
// allTests["HTML-VIEW"] = require("./ui/html-view/html-view-tests"); // allTests["HTML-VIEW"] = require("./ui/html-view/html-view-tests");
// allTests["REPEATER"] = require("./ui/repeater/repeater-tests"); // allTests["REPEATER"] = require("./ui/repeater/repeater-tests");

View File

@ -3,6 +3,8 @@
dateProperty, maxDateProperty, minDateProperty, colorProperty dateProperty, maxDateProperty, minDateProperty, colorProperty
} from "./date-picker-common"; } from "./date-picker-common";
import { Color } from "color";
import { ios } from "utils/utils"; import { ios } from "utils/utils";
export * from "./date-picker-common"; export * from "./date-picker-common";
@ -21,6 +23,10 @@ export class DatePicker extends DatePickerBase {
this.nativeView.addTargetActionForControlEvents(this._changeHandler, "valueChanged", UIControlEvents.ValueChanged); this.nativeView.addTargetActionForControlEvents(this._changeHandler, "valueChanged", UIControlEvents.ValueChanged);
} }
get ios(): UIDatePicker {
return this.nativeView;
}
get [yearProperty.native](): number { get [yearProperty.native](): number {
return this.nativeView.date.getFullYear(); return this.nativeView.date.getFullYear();
} }
@ -81,12 +87,12 @@ export class DatePicker extends DatePickerBase {
picker.minimumDate = <any>nsDate; picker.minimumDate = <any>nsDate;
} }
get [colorProperty.native](): UIColor { get [colorProperty.native](): Color {
return this.nativeView.valueForKey("textColor"); return ios.getColor(this.nativeView.valueForKey("textColor"));
} }
set [minDateProperty.native](value: UIColor) { set [colorProperty.native](value: Color) {
let picker = this.nativeView; let picker = this.nativeView;
picker.setValueForKey(value, "textColor"); picker.setValueForKey(value.ios, "textColor");
} }
} }

View File

@ -1,6 +1,7 @@
import { TimePickerBase, timeProperty, import { TimePickerBase, timeProperty,
minuteProperty, minMinuteProperty, maxMinuteProperty, minuteProperty, minMinuteProperty, maxMinuteProperty,
hourProperty, minHourProperty, maxHourProperty, colorProperty } from "./time-picker-common"; hourProperty, minHourProperty, maxHourProperty, colorProperty } from "./time-picker-common";
import { Color } from "color";
import { ios } from "utils/utils"; import { ios } from "utils/utils";
import getter = ios.getter; import getter = ios.getter;
@ -35,6 +36,7 @@ export class TimePicker extends TimePickerBase {
let components = getComponents(NSDate.date()); let components = getComponents(NSDate.date());
this.hour = components.hour; this.hour = components.hour;
this.minute = components.minute; this.minute = components.minute;
this.nativeView = this._ios;
} }
get ios(): UIDatePicker { get ios(): UIDatePicker {
@ -63,28 +65,28 @@ export class TimePicker extends TimePickerBase {
} }
get [minHourProperty.native](): number { get [minHourProperty.native](): number {
return this.nativeView.minimumDate.getHours(); return this.nativeView.minimumDate ? this.nativeView.minimumDate.getHours() : 0;
} }
set [minHourProperty.native](value: number) { set [minHourProperty.native](value: number) {
this.nativeView.minimumDate = getDate(value, this.minute); this.nativeView.minimumDate = getDate(value, this.minute);
} }
get [maxHourProperty.native](): number { get [maxHourProperty.native](): number {
return this.nativeView.maximumDate.getHours(); return this.nativeView.maximumDate ? this.nativeView.maximumDate.getHours() : 24;
} }
set [maxHourProperty.native](value: number) { set [maxHourProperty.native](value: number) {
this.nativeView.maximumDate = getDate(value, this.minute); this.nativeView.maximumDate = getDate(value, this.minute);
} }
get [minMinuteProperty.native](): number { get [minMinuteProperty.native](): number {
return this.nativeView.minimumDate.getMinutes(); return this.nativeView.minimumDate ? this.nativeView.minimumDate.getMinutes() : 0;
} }
set [minMinuteProperty.native](value: number) { set [minMinuteProperty.native](value: number) {
this.nativeView.minimumDate = getDate(this.hour, value); this.nativeView.minimumDate = getDate(this.hour, value);
} }
get [maxMinuteProperty.native](): number { get [maxMinuteProperty.native](): number {
return this.nativeView.maximumDate.getMinutes(); return this.nativeView.maximumDate ? this.nativeView.maximumDate.getMinutes() : 60;
} }
set [maxMinuteProperty.native](value: number) { set [maxMinuteProperty.native](value: number) {
this.nativeView.maximumDate = getDate(this.hour, value); this.nativeView.maximumDate = getDate(this.hour, value);
@ -97,11 +99,11 @@ export class TimePicker extends TimePickerBase {
this.nativeView.minuteInterval = value; this.nativeView.minuteInterval = value;
} }
get [colorProperty.native](): UIColor { get [colorProperty.native](): Color {
return this.nativeView.valueForKey("textColor"); return ios.getColor(this.nativeView.valueForKey("textColor"));
} }
set [colorProperty.native](value: UIColor) { set [colorProperty.native](value: Color) {
this.nativeView.setValueForKey(value, "textColor"); this.nativeView.setValueForKey(value.ios, "textColor");
} }
} }