mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-16 11:42:04 +08:00
279 lines
9.9 KiB
TypeScript
279 lines
9.9 KiB
TypeScript
import * as TKUnit from "../../tk-unit";
|
|
import * as testModule from "../../ui-test";
|
|
import * as timePickerTestsNative from "./time-picker-tests-native";
|
|
import * as color from "tns-core-modules/color";
|
|
import * as platform from "tns-core-modules/platform";
|
|
import * as helper from "../../ui-helper";
|
|
|
|
// >> require-time-picker
|
|
import * as timePickerModule from "tns-core-modules/ui/time-picker";
|
|
// << require-time-picker
|
|
|
|
function assertTime(timePicker: timePickerModule.TimePicker, expectedHour: number, expectedMinute) {
|
|
TKUnit.assertEqual(timePicker.hour, expectedHour, "timePicker.hour");
|
|
TKUnit.assertEqual(timePicker.minute, expectedMinute, "timePicker.minute");
|
|
|
|
TKUnit.assertEqual(timePickerTestsNative.getNativeHour(timePicker), expectedHour, "Native timePicker.hour");
|
|
TKUnit.assertEqual(timePickerTestsNative.getNativeMinute(timePicker), expectedMinute, "Native timePicker.minute");
|
|
}
|
|
|
|
export class TimePickerTest extends testModule.UITest<timePickerModule.TimePicker> {
|
|
public create() {
|
|
let timePicker = new timePickerModule.TimePicker();
|
|
timePicker.id = "TimePicker";
|
|
|
|
return timePicker;
|
|
}
|
|
|
|
public test_recycling() {
|
|
helper.nativeView_recycling_test(this.create);
|
|
}
|
|
|
|
public test_DummyForCodeSnippet() {
|
|
// >> declare-time-picker
|
|
var timePicker = new timePickerModule.TimePicker();
|
|
timePicker.hour = 9;
|
|
timePicker.minute = 25;
|
|
// << declare-time-picker
|
|
}
|
|
|
|
private setUpTimePicker(hour?: number, minute?: number) {
|
|
if (hour) {
|
|
this.testView.hour = hour;
|
|
}
|
|
|
|
if (minute) {
|
|
this.testView.minute = minute;
|
|
}
|
|
}
|
|
|
|
// Supported in iOS only.
|
|
public test_set_color() {
|
|
if (platform.device.os === platform.platformNames.ios) {
|
|
this.testView.color = new color.Color("red");
|
|
TKUnit.assertEqual(this.testView.color.ios.CGColor, this.testView.ios.valueForKey("textColor").CGColor, "timePicker.color");
|
|
}
|
|
}
|
|
|
|
public test_WhenCreated_MinuteIntervalIs1() {
|
|
let actualValue = this.testView.minuteInterval;
|
|
let expectedValue = 1;
|
|
TKUnit.assertEqual(actualValue, expectedValue);
|
|
}
|
|
|
|
public test_WhenCreated_HourIsCurrentHour() {
|
|
let actualValue = this.testView.hour;
|
|
let expectedValue = timePickerTestsNative.getNativeHour(this.testView);
|
|
TKUnit.assertEqual(actualValue, expectedValue);
|
|
}
|
|
|
|
public test_WhenCreated_MinHourIs0() {
|
|
let actualValue = this.testView.minHour;
|
|
let expectedValue = 0;
|
|
TKUnit.assertEqual(actualValue, expectedValue);
|
|
}
|
|
|
|
public test_WhenCreated_MaxHourIs23() {
|
|
let actualValue = this.testView.maxHour;
|
|
let expectedValue = 23;
|
|
TKUnit.assertEqual(actualValue, expectedValue);
|
|
}
|
|
|
|
public test_WhenCreated_MinuteIsCurrentMinute() {
|
|
let actualValue = this.testView.minute;
|
|
let expectedValue = timePickerTestsNative.getNativeMinute(this.testView);
|
|
TKUnit.assertEqual(actualValue, expectedValue);
|
|
}
|
|
|
|
public test_WhenCreated_MinMinuteIs0() {
|
|
let actualValue = this.testView.minMinute;
|
|
let expectedValue = 0;
|
|
TKUnit.assertEqual(actualValue, expectedValue);
|
|
}
|
|
|
|
public test_WhenCreated_MaxMinuteIs59() {
|
|
let actualValue = this.testView.maxMinute;
|
|
let expectedValue = 59;
|
|
TKUnit.assertEqual(actualValue, expectedValue);
|
|
}
|
|
|
|
public testMinuteIntervalThrowExceptionWhenLessThan1() {
|
|
TKUnit.assertThrows(() => {
|
|
this.testView.minuteInterval = 0;
|
|
}, "Setting minuteInterval property to a value less than 1 should throw.");
|
|
}
|
|
|
|
public testMinuteIntervalThrowExceptionWhenGreaterThan30() {
|
|
TKUnit.assertThrows(() => {
|
|
this.testView.minuteInterval = 31;
|
|
}, "Setting minuteInterval property to a value greater than 30 should throw.");
|
|
}
|
|
|
|
public testMinuteIntervalThrowExceptionWhenNotFold60() {
|
|
TKUnit.assertThrows(() => {
|
|
this.testView.minuteInterval = 7;
|
|
}, "Setting minuteInterval property to a value not fold 60 should throw.");
|
|
}
|
|
|
|
public testHourThrowExceptionWhenLessThanMinHour() {
|
|
this.testView.hour = 14;
|
|
this.testView.minHour = this.testView.hour - 1;
|
|
TKUnit.assertThrows(() => {
|
|
this.testView.hour = this.testView.minHour - 1;
|
|
}, "Setting hour property to a value less than minHour property value should throw.");
|
|
}
|
|
|
|
public testMinHourThrowExceptionWhenHourLessThanMinHour() {
|
|
this.testView.hour = 14;
|
|
TKUnit.assertThrows(() => {
|
|
this.testView.minHour = this.testView.hour + 1;
|
|
}, "Setting minHour property to a greater than hour property value should throw.");
|
|
}
|
|
|
|
public testHourThrowExceptionWhenGreaterThanMaxHour() {
|
|
this.testView.hour = 14;
|
|
this.testView.maxHour = this.testView.hour + 1;
|
|
TKUnit.assertThrows(() => {
|
|
this.testView.hour = this.testView.maxHour + 1;
|
|
}, "Setting hour property to a value greater than maxHour property value should throw.");
|
|
}
|
|
|
|
public testMaxHourThrowExceptionWhenHourGreaterThanMaxHour() {
|
|
this.testView.hour = 14;
|
|
TKUnit.assertThrows(() => {
|
|
this.testView.maxHour = this.testView.hour - 1;
|
|
}, "Setting maxHour property to a value less than hour property value should throw.");
|
|
}
|
|
|
|
public testMinuteThrowExceptionWhenLessThanMinMinute() {
|
|
this.testView.hour = 14;
|
|
this.testView.minute = 13;
|
|
|
|
this.testView.minHour = this.testView.hour;
|
|
this.testView.minMinute = this.testView.minute;
|
|
TKUnit.assertThrows(() => {
|
|
this.testView.minute = this.testView.minMinute - 1;
|
|
}, "Setting minute property to a value less than minMinute property value should throw.");
|
|
}
|
|
|
|
public testMinMinuteThrowExceptionWhenMinuteLessThanMinMinute() {
|
|
this.testView.hour = 14;
|
|
this.testView.minute = 13;
|
|
|
|
this.testView.minHour = this.testView.hour;
|
|
TKUnit.assertThrows(() => {
|
|
this.testView.minMinute = this.testView.minute + 1;
|
|
}, "Setting minMinute property to a value greater than minute property value should throw.");
|
|
}
|
|
|
|
public testMinuteThrowExceptionWhenGreaterThanMaxMinute() {
|
|
this.testView.hour = 14;
|
|
this.testView.minute = 13;
|
|
|
|
this.testView.maxHour = this.testView.hour;
|
|
this.testView.maxMinute = this.testView.minute;
|
|
TKUnit.assertThrows(() => {
|
|
this.testView.minute = this.testView.maxMinute + 1;
|
|
}, "Setting minute property to a value greater than maxMinute property value should throw.");
|
|
}
|
|
|
|
public testMaxMinuteThrowExceptionWhenMinuteGreaterThanMaxMinute() {
|
|
this.testView.hour = 14;
|
|
this.testView.minute = 13;
|
|
|
|
this.testView.maxHour = this.testView.hour;
|
|
TKUnit.assertThrows(() => {
|
|
this.testView.maxMinute = this.testView.minute - 1;
|
|
}, "Setting maxMinute property to a value less than minute property value should throw.");
|
|
}
|
|
|
|
public testHourFromLocalToNative() {
|
|
let expectedValue = 13;
|
|
this.testView.hour = expectedValue;
|
|
let actualValue = timePickerTestsNative.getNativeHour(this.testView);
|
|
TKUnit.assertEqual(actualValue, expectedValue);
|
|
}
|
|
|
|
public testMinuteFromLocalToNative() {
|
|
let expectedValue = 59;
|
|
this.testView.minute = expectedValue;
|
|
let actualValue = timePickerTestsNative.getNativeMinute(this.testView);
|
|
TKUnit.assertEqual(actualValue, expectedValue);
|
|
}
|
|
|
|
public testHourFromNativeToLocal() {
|
|
let expectedValue = 14;
|
|
timePickerTestsNative.setNativeHour(this.testView, expectedValue);
|
|
let actualValue = this.testView.hour;
|
|
TKUnit.assertEqual(actualValue, expectedValue);
|
|
}
|
|
|
|
public testMinuteFromNativeToLocal() {
|
|
let expectedValue = 33;
|
|
timePickerTestsNative.setNativeMinute(this.testView, expectedValue);
|
|
let actualValue = this.testView.minute;
|
|
TKUnit.assertEqual(actualValue, expectedValue);
|
|
}
|
|
|
|
public testHourAndMinuteFromNativeToLocal() {
|
|
let expectedHour = 12;
|
|
let expectedMinute = 34;
|
|
|
|
timePickerTestsNative.setNativeTime(this.testView, expectedHour, expectedMinute);
|
|
assertTime(this.testView, expectedHour, expectedMinute);
|
|
}
|
|
|
|
public testSetHourMinute_BeforeLoaded() {
|
|
let expectedHour = 12;
|
|
let expectedMinute = 34;
|
|
|
|
this.setUpTimePicker(expectedHour, expectedMinute);
|
|
|
|
assertTime(this.testView, expectedHour, expectedMinute);
|
|
}
|
|
|
|
public testTimeSetHourMinute_BeforeLoaded() {
|
|
let expectedHour = 12;
|
|
let expectedMinute = 34;
|
|
|
|
this.setUpTimePicker(expectedHour, expectedMinute);
|
|
|
|
TKUnit.assertEqual(this.testView.time.getHours(), expectedHour);
|
|
TKUnit.assertEqual(this.testView.time.getMinutes(), expectedMinute);
|
|
}
|
|
|
|
public testSetHourMinute_AfterLoaded() {
|
|
let expectedHour = 12;
|
|
let expectedMinute = 34;
|
|
|
|
this.testView.hour = expectedHour;
|
|
this.testView.minute = expectedMinute;
|
|
|
|
TKUnit.assertEqual(this.testView.time.getHours(), expectedHour);
|
|
TKUnit.assertEqual(this.testView.time.getMinutes(), expectedMinute);
|
|
}
|
|
|
|
public testTimeSetHourMinute_AfterLoaded() {
|
|
let expectedHour = 12;
|
|
let expectedMinute = 34;
|
|
|
|
this.testView.hour = expectedHour;
|
|
this.testView.minute = expectedMinute;
|
|
|
|
TKUnit.assertEqual(this.testView.time.getHours(), expectedHour);
|
|
TKUnit.assertEqual(this.testView.time.getMinutes(), expectedMinute);
|
|
}
|
|
|
|
public testSetTimeChangesHourAndMinute() {
|
|
let expectedHour = 12;
|
|
let expectedMinute = 34;
|
|
|
|
this.testView.time = new Date(0, 0, 0, expectedHour, expectedMinute);
|
|
assertTime(this.testView, expectedHour, expectedMinute);
|
|
}
|
|
}
|
|
|
|
export function createTestCase(): TimePickerTest {
|
|
return new TimePickerTest();
|
|
}
|