diff options
Diffstat (limited to 'qadevOOo/tests/basic/ifc/i18n/XCalendar/i18n_XCalendar.xba')
-rw-r--r-- | qadevOOo/tests/basic/ifc/i18n/XCalendar/i18n_XCalendar.xba | 306 |
1 files changed, 306 insertions, 0 deletions
diff --git a/qadevOOo/tests/basic/ifc/i18n/XCalendar/i18n_XCalendar.xba b/qadevOOo/tests/basic/ifc/i18n/XCalendar/i18n_XCalendar.xba new file mode 100644 index 000000000000..c3d7befd4987 --- /dev/null +++ b/qadevOOo/tests/basic/ifc/i18n/XCalendar/i18n_XCalendar.xba @@ -0,0 +1,306 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd"> +<script:module xmlns:script="http://openoffice.org/2000/script" script:name="i18n_XCalendar" script:language="StarBasic"> + + +'************************************************************************* +' +' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +' +' Copyright 2000, 2010 Oracle and/or its affiliates. +' +' OpenOffice.org - a multi-platform office productivity suite +' +' This file is part of OpenOffice.org. +' +' OpenOffice.org is free software: you can redistribute it and/or modify +' it under the terms of the GNU Lesser General Public License version 3 +' only, as published by the Free Software Foundation. +' +' OpenOffice.org is distributed in the hope that it will be useful, +' but WITHOUT ANY WARRANTY; without even the implied warranty of +' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +' GNU Lesser General Public License version 3 for more details +' (a copy is included in the LICENSE file that accompanied this code). +' +' You should have received a copy of the GNU Lesser General Public License +' version 3 along with OpenOffice.org. If not, see +' <http://www.openoffice.org/license.html> +' for a copy of the LGPLv3 License. +' +'************************************************************************* +'************************************************************************* + + + +' Be sure that all variables are dimensioned: +option explicit + + + +Sub RunTest() + +'************************************************************************* +' INTERFACE: +' com.sun.star.i18n.XCalendar +'************************************************************************* +On Error Goto ErrHndl + Dim bOK As Boolean + Dim oLocaleData As Object + Dim oLocale As Object + Dim allLocales As Variant + Dim allCalendars As Variant + Dim uniqueID As String + Dim oCalendar As Object + Dim dDateTime As Double + Dim aValue As Variant + Dim oldValue As Variant + Dim newValue As Variant + Dim i As Integer + + oLocaleData = createUnoService("com.sun.star.i18n.LocaleData") + allLocales = oLocaleData.getAllInstalledLocaleNames() + Out.Log("Found " + ubound(allLocales) + " Loacales registered in the system") + Randomize + oLocale = allLocales(rnd * ubound(allLocales)) + Out.Log("Choose for testing : " + oLocale.Country) + + Test.StartMethod("getAllCalendars()") + bOK = true + allCalendars = oObj.getAllCalendars(oLocale) + Out.Log("There are " + ubound(allCalendars) + 1 + " calendars for this locale.") + bOK = bOK AND NOT isNULL(allCalendars) + Test.MethodTested("getAllCalendars()", bOK) + + Test.StartMethod("loadDefaultCalendar()") + bOK = true + oObj.loadDefaultCalendar(oLocale) + bOK = bOK AND oObj.getLoadedCalendar().Default + Test.MethodTested("loadDefaultCalendar()", bOK) + + Test.StartMethod("getUniqueID()") + bOK = true + uniqueID = oObj.getUniqueID() + Out.Log("UniqueID for loaded calendar is " + uniqueID) + bOK = bOK AND (uniqueID = allCalendars(0)) + Test.MethodTested("getUniqueID()", bOK) + + Test.StartMethod("loadCalendar()") + bOK = true + oObj.loadCalendar(allCalendars(0), oLocale) + bOK = bOK AND NOT isNULL(oObj.getLoadedCalendar()) + Test.MethodTested("loadCalendar()", bOK) + + Test.StartMethod("getLoadedCalendar()") + bOK = true + oCalendar = oObj.getLoadedCalendar() + Out.Log("Loaded calendar's name is '" + oCalendar.Name + "'") + bOK = bOK AND NOT isNULL(oCalendar) + Test.MethodTested("getLoadedCalendar()", bOK) + + Test.StartMethod("setDateTime()") + Test.StartMethod("getDateTime()") + bOK = true + oObj.setDateTime(12345.25) + dDateTime = oObj.getDateTime() + bOK = bOK AND dDateTime = 12345.25 + Out.Log("Expected: 12345,25; Actual: " + dDateTime) + Test.MethodTested("setDateTime()", bOK) + Test.MethodTested("getDateTime()", bOK) + + Test.StartMethod("getFirstDayOfWeek()") + Test.StartMethod("setFirstDayOfWeek()") + bOK = true + oObj.setFirstDayOfWeek(com.sun.star.i18n.Weekdays.SATURDAY) + Out.Log("Expected: " + com.sun.star.i18n.Weekdays.SATURDAY + ", Actual: " + oObj.getFirstDayOfWeek()) + bOK = bOK AND oObj.getFirstDayOfWeek() = com.sun.star.i18n.Weekdays.SATURDAY + oObj.setFirstDayOfWeek(com.sun.star.i18n.Weekdays.SUNDAY) + Out.Log("Expected: " + com.sun.star.i18n.Weekdays.SUNDAY + ", Actual: " + oObj.getFirstDayOfWeek()) + bOK = bOK AND oObj.getFirstDayOfWeek() = com.sun.star.i18n.Weekdays.SUNDAY + + Test.MethodTested("getFirstDayOfWeek()", bOK) + Test.MethodTested("setFirstDayOfWeek()", bOK) + + Test.StartMethod("setValue()") + Test.StartMethod("getValue()") + bOK = true + bOK = bOK AND TestValue(1, com.sun.star.i18n.Months.JANUARY, 2001, com.sun.star.i18n.WeekDays.MONDAY, 1, 1) + '1.01.2001 - Monday, 1-st week of month, 1-st week of year + bOK = bOK AND TestValue(12, com.sun.star.i18n.Months.JULY, 2001, com.sun.star.i18n.WeekDays.THURSDAY, 2, 28) + '12.07.2001 - Thursday, 2-nd week of month, 28-st week of year + + Test.MethodTested("setValue()", bOK) + Test.MethodTested("getValue()", bOK) + + Test.StartMethod("addValue()") + bOK = true + + bOK = bOK AND TestAddValue("DST_OFFSET", com.sun.star.i18n.CalendarFieldIndex.DST_OFFSET, 1, 0) + bOK = bOK AND TestAddValue("DAY_OF_MONTH", com.sun.star.i18n.CalendarFieldIndex.DAY_OF_MONTH, 1, 0) + bOK = bOK AND TestAddValue("MONTH", com.sun.star.i18n.CalendarFieldIndex.MONTH, 3, 12) + bOK = bOK AND TestAddValue("YEAR", com.sun.star.i18n.CalendarFieldIndex.YEAR, -1, 0) + bOK = bOK AND TestAddValue("HOUR", com.sun.star.i18n.CalendarFieldIndex.HOUR, 7, 24) + bOK = bOK AND TestAddValue("MINUTE", com.sun.star.i18n.CalendarFieldIndex.MINUTE, 31, 60) + bOK = bOK AND TestAddValue("SECOND", com.sun.star.i18n.CalendarFieldIndex.SECOND, 13, 60) + bOK = bOK AND TestAddValue("MILLISECOND", com.sun.star.i18n.CalendarFieldIndex.MILLISECOND, 67, 1000) + bOK = bOK AND TestAddValue("ERA", com.sun.star.i18n.CalendarFieldIndex.ERA, -1, 0) + + Test.MethodTested("addValue()", bOK) + + Test.StartMethod("getNumberOfMonthsInYear()") + bOK = true + aValue = oObj.getNumberOfMonthsInYear() + Out.Log("There are " + aValue + " months in year") + bOK = bOK AND aValue = 12 + Test.MethodTested("getNumberOfMonthsInYear()", bOK) + + Test.StartMethod("getNumberOfDaysInWeek()") + bOK = true + aValue = oObj.getNumberOfDaysInWeek() + Out.Log("There are " + aValue + " days in week") + bOK = bOK AND aValue = 7 + Test.MethodTested("getNumberOfDaysInWeek()", bOK) + + Test.StartMethod("getMinimumNumberOfDaysForFirstWeek()") + bOK = true + aValue = oObj.getMinimumNumberOfDaysForFirstWeek() + Out.Log("MinimumNumberOfDaysForFirstWeek = " + aValue) + bOK = bOK AND aValue > 0 AND aValue < 8 + Test.MethodTested("getMinimumNumberOfDaysForFirstWeek()", bOK) + + Test.StartMethod("setMinimumNumberOfDaysForFirstWeek()") + bOK = true + oObj.setMinimumNumberOfDaysForFirstWeek(211) + aValue = oObj.getMinimumNumberOfDaysForFirstWeek() + Out.Log("MinimumNumberOfDaysForFirstWeek = " + aValue) + bOK = bOK AND aValue > 0 AND aValue < 8 + Test.MethodTested("setMinimumNumberOfDaysForFirstWeek()", bOK) + + Test.StartMethod("getMonths()") + bOK = true + Dim allMonths As Variant + Dim cAllMonths As String + allMonths = oObj.getMonths() + Out.Log("Returned " + ubound(allMonths) + 1 + " months.") + bOK = bOK AND ubound(allMonths) + 1= oObj.getNumberOfMonthsInYear() + if (bOK) then + cAllMonths = "" + for i = 0 to ubound(allMonths) + cAllMonths = cAllMonths + allMonths(i).FullName + ", " + next i + Out.Log("Months: " + cAllMonths) + end if + + Test.MethodTested("getMonths()", bOK) + + Test.StartMethod("getDays()") + bOK = true + Dim allDays As Variant + Dim cAllDays As String + allDays = oObj.getDays() + Out.Log("Returned " + ubound(allMonths) + 1 + " days.") + bOK = bOK AND ubound(allDays) + 1= oObj.getNumberOfDaysInWeek() + if (bOK) then + cAllDays = "" + for i = 0 to ubound(allDays) + cAllDays = cAllDays + allDays(i).FullName + ", " + next i + Out.Log("Days: " + cAllDays) + end if + Test.MethodTested("getDays()", bOK) + + Test.StartMethod("getDisplayName()") + bOK = true + Dim cDisplayName As String + cDisplayName = oObj.getDisplayName(com.sun.star.i18n.CalendarDisplayIndex.MONTH, com.sun.star.i18n.Months.JANUARY, 1) + Out.Log("Full name for JANUARY is: " + cDisplayName) + bOK = bOK AND cDisplayName <> "" + Test.MethodTested("getDisplayName()", bOK) + + Test.StartMethod("isValid()") + bOK = true + + oObj.setValue(com.sun.star.i18n.CalendarFieldIndex.DAY_OF_MONTH, 30) + oObj.setValue(com.sun.star.i18n.CalendarFieldIndex.MONTH, com.sun.star.i18n.Months.FEBURARY) + oObj.setValue(com.sun.star.i18n.CalendarFieldIndex.YEAR, 2001) + Out.Log("isValid() = " + oObj.isValid()) + bOK = bOK AND NOT oObj.isValid() + + oObj.setValue(com.sun.star.i18n.CalendarFieldIndex.DAY_OF_MONTH, 27) + oObj.setValue(com.sun.star.i18n.CalendarFieldIndex.MONTH, com.sun.star.i18n.Months.FEBURARY) + oObj.setValue(com.sun.star.i18n.CalendarFieldIndex.YEAR, 2001) + Out.Log("isValid() = " + oObj.isValid()) + bOK = bOK AND oObj.isValid() + + Test.MethodTested("isValid()", bOK) + +Exit Sub +ErrHndl: + Test.Exception() + bOK = false + resume next +End Sub + +Function TestValue(_Day As Integer, _Month As Integer, _Year As Integer, _ + _Day_of_week As Integer, _Week_of_month As Integer, _Week_of_year As Integer) As Boolean + + Dim bOK As Boolean + Dim aDay As Integer, aMonth As Integer, aYear As Integer + Dim aDay_of_week As Integer, aWeek_of_Month As Integer, aWeek_of_year As Integer + + bOK = true + + Out.Log("Set date to " + _Day + "." + _Month + "." + _Year + ";") + + oObj.setValue(com.sun.star.i18n.CalendarFieldIndex.DAY_OF_MONTH, _Day) + oObj.setValue(com.sun.star.i18n.CalendarFieldIndex.MONTH, _Month) + oObj.setValue(com.sun.star.i18n.CalendarFieldIndex.YEAR, _Year) + + aDay = oObj.getValue(com.sun.star.i18n.CalendarFieldIndex.DAY_OF_MONTH) + aMonth = oObj.getValue(com.sun.star.i18n.CalendarFieldIndex.MONTH) + aYear = oObj.getValue(com.sun.star.i18n.CalendarFieldIndex.YEAR) + + Out.Log("Now date is " + aDay + "." + aMonth + "." + aYear + ";") + + bOK = (aDay = _Day) AND (aMonth = _Month) AND (aYear = _Year) + + if (bOK) then + aDay_of_week = oObj.getValue(com.sun.star.i18n.CalendarFieldIndex.DAY_OF_WEEK) + aWeek_of_month = oObj.getValue(com.sun.star.i18n.CalendarFieldIndex.WEEK_OF_MONTH) + aWeek_of_year = oObj.getValue(com.sun.star.i18n.CalendarFieldIndex.WEEK_OF_YEAR) + Out.Log("aDay_of_week: Expected: " + _Day_of_week + ", Actual: " + aDay_of_week) + Out.Log("aWeek_of_month: Expected: " + _Week_of_month + ", Actual: " + aWeek_of_month) + Out.Log("aWeek_of_year: Expected: " + _Week_of_year + ", Actual: " + aWeek_of_year) + bOK = (aDay_of_week = _Day_of_week) AND (aWeek_of_month = _Week_of_month) AND (aWeek_of_year = _Week_of_year) + end if + + TestValue() = bOK + +Exit Function +ErrHndl: + Test.Exception() + TestValue() = false +End Function + +Function TestAddValue(valname As String, Idx As Integer, incValue As Integer, valModule As Integer) As Boolean + Dim aValue As Integer + Dim newValue As Integer + Dim bOK As Boolean + + aValue = oObj.getValue(idx) + oObj.addValue(idx, incValue) + newValue = oObj.getValue(idx) + if (valModule = 0) then + bOK = (newValue = (aValue + incValue)) + Out.Log(valname + ": Expected: " + (aValue + incValue) + ", Actual: " + newValue) + else + bOK = (newValue = (aValue + incValue) mod valModule) + Out.Log(valname + ": Expected: " + (aValue + incValue) mod valModule + ", Actual: " + newValue) + end if + TestAddValue() = bOK +Exit Function +ErrHndl: + Test.Exception() + TestAddValue() = false +End Function +</script:module> |