Warning, /pim/kube/views/calendar/tests/tst_eventeditor.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 * Copyright 2017 Christian Mollekopf <mollekopf@kolabsys.com> 0003 * 0004 * This program is free software; you can redistribute it and/or modify 0005 * it under the terms of the GNU Library General Public License as 0006 * published by the Free Software Foundation; either version 2, or 0007 * (at your option) any later version. 0008 * 0009 * This program is distributed in the hope that it will be useful, 0010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 0011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0012 * GNU Library General Public License for more details 0013 * 0014 * You should have received a copy of the GNU Library General Public 0015 * License along with this program; if not, write to the 0016 * Free Software Foundation, Inc., 0017 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 0018 */ 0019 0020 import QtQuick 2.7 0021 import QtTest 1.0 0022 import org.kube.test 1.0 0023 import org.kube.framework 1.0 as Kube 0024 import "../qml" 0025 0026 ViewTestCase { 0027 id: testCase 0028 name: "EventEditor" 0029 0030 Component { 0031 id: editorComponent 0032 EventEditor { 0033 focus: true 0034 } 0035 } 0036 Component { 0037 id: controllerComponent 0038 Kube.EventController { 0039 } 0040 } 0041 0042 function test_1start() { 0043 var editor = createTemporaryObject(editorComponent, testCase, {}) 0044 verify(editor) 0045 } 0046 0047 function test_2loadStartDate() { 0048 var start = new Date(2018, 1, 1, 11, 30, 0) 0049 var end = new Date(2018, 1, 1, 12, 00, 0) 0050 var editor = createTemporaryObject(editorComponent, testCase, {editMode: false, start: start}) 0051 verify(editor) 0052 var startDate = findChild(editor, "startDate"); 0053 compare(startDate.dateTime, start) 0054 0055 var endDate = findChild(editor, "endDate"); 0056 compare(endDate.dateTime, end) 0057 } 0058 0059 function test_3loadControllerDates() { 0060 var start = new Date(2018, 1, 1, 11, 30, 0) 0061 var end = new Date(2018, 1, 1, 12, 0, 0) 0062 var controller = createTemporaryObject(controllerComponent, testCase, {start: start, end: end, allDay: false}) 0063 var editor = createTemporaryObject(editorComponent, testCase, {editMode: true, controller: controller}) 0064 verify(editor) 0065 0066 var startDate = findChild(editor, "startDate"); 0067 compare(startDate.dateTime, start) 0068 0069 var endDate = findChild(editor, "endDate"); 0070 compare(endDate.dateTime, end) 0071 } 0072 0073 function test_4roundLoadedDates() { 0074 var start = new Date(2018, 1, 1, 11, 33, 0) 0075 var startRounded = new Date(2018, 1, 1, 11, 30, 0) 0076 var end = new Date(2018, 1, 1, 11, 58, 0) 0077 var endRounded = new Date(2018, 1, 1, 12, 0, 0) 0078 var controller = createTemporaryObject(controllerComponent, testCase, {start: start, end: end, allDay: false}) 0079 var editor = createTemporaryObject(editorComponent, testCase, {editMode: true, controller: controller}) 0080 verify(editor) 0081 0082 var startDate = findChild(editor, "startDate"); 0083 compare(startDate.dateTime, startRounded) 0084 0085 var endDate = findChild(editor, "endDate"); 0086 compare(endDate.dateTime, endRounded) 0087 } 0088 0089 function test_5endFollowsStartDate() { 0090 var start = new Date(2018, 1, 1, 11, 30, 0) 0091 var end = new Date(2018, 1, 1, 12, 00, 0) 0092 var editor = createTemporaryObject(editorComponent, testCase, {editMode: false, start: start}) 0093 verify(editor) 0094 var startDate = findChild(editor, "startDate"); 0095 compare(startDate.dateTime, start) 0096 0097 var endDate = findChild(editor, "endDate"); 0098 compare(endDate.dateTime, end) 0099 0100 //Follows forward 0101 var newStart = new Date(2018, 1, 1, 12, 30, 0) 0102 var newEnd = new Date(2018, 1, 1, 13, 00, 0) 0103 endDate.notBefore = newStart 0104 compare(endDate.dateTime, newStart) 0105 0106 //Doesn't follow back 0107 endDate.notBefore = start 0108 compare(endDate.dateTime, newStart) 0109 } 0110 0111 Component { 0112 id: dateTimeChooserComponent 0113 DateTimeChooser { 0114 0115 } 0116 } 0117 0118 function test_6datePicker() { 0119 var midnight = new Date(2018, 1, 1, 0, 0, 0) 0120 var start = new Date(2018, 1, 1, 11, 33, 0) 0121 var startRounded = new Date(2018, 1, 1, 11, 30, 0) 0122 var end = new Date(2018, 1, 1, 11, 58, 0) 0123 var endRounded = new Date(2018, 1, 1, 12, 0, 0) 0124 0125 var chooser = createTemporaryObject(dateTimeChooserComponent, testCase, {notBefore: midnight, initialValue: start, enableTime: true}) 0126 compare(chooser.dateTime, startRounded) 0127 0128 //Follow notBefore 0129 chooser.notBefore = end 0130 compare(chooser.dateTime, endRounded) 0131 0132 //Don't follow back 0133 chooser.notBefore = start 0134 compare(chooser.dateTime, endRounded) 0135 } 0136 0137 }