summaryrefslogtreecommitdiff
path: root/testautomation/extensions/optional/includes/extensions.inc
diff options
context:
space:
mode:
Diffstat (limited to 'testautomation/extensions/optional/includes/extensions.inc')
-rw-r--r--testautomation/extensions/optional/includes/extensions.inc684
1 files changed, 0 insertions, 684 deletions
diff --git a/testautomation/extensions/optional/includes/extensions.inc b/testautomation/extensions/optional/includes/extensions.inc
deleted file mode 100644
index db115274e19d..000000000000
--- a/testautomation/extensions/optional/includes/extensions.inc
+++ /dev/null
@@ -1,684 +0,0 @@
-'encoding UTF-8 Do not remove or change this line!
-'**************************************************************************
-' 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.
-'
-'/************************************************************************
-'*
-'* owner : thorsten.bosbach@oracle.com
-'*
-'* short description : Function test of extension manager
-'*
-'\************************************************************************
-
-testcase tExtensionsFunction
-
- ' written for CWS jsc7, in master since SRC680m176
- ' additions for CWS sb63 - Dependency checking with versioning - documents 24-30
- ' features: - http://specs.openoffice.org/appwide/packagemanager/simple_extension_license.odt
- ' - http://specs.openoffice.org/appwide/packagemanager/extensiondependencies1.odt
- '/// The test documents are available at http://qa.openoffice.org/source/browse/qa/qatesttool/framework/basic/input/extensions/ ///'
- '/// Textdocuments used in this test and expected messages: ///'
- '/// (1/31): simpleLicense\BadDesc.oxt ///'
- '/// - BadDesc.oxt/description.xml contains data which cannot be parsed. ///'
- '/// - will not install ///'
- '/// (2/31): simpleLicense\BadNamespace.oxt ///'
- '/// - BadNamespace.oxt/description.xml contains a root element with an unsupported namespace. ///'
- '/// - will not install ///'
- '/// (3/31): simpleLicense\BadRoot.oxt ///'
- '/// - BadRoot.oxt/description.xml does not contain the root element <description>. ///'
- '/// - will not install ///'
- '/// (4/31): simpleLicense\IncompAttr1.oxt ///'
- '/// - ExtensionSoftwareLicenseAgreement dialog exists ///'
- '/// - installs and is enabled ///'
- '/// (5/31): simpleLicense\IncompAttr2.oxt ///'
- '/// - Cannot find a localized license text or a default license text. ///'
- '/// - will not install ///'
- '/// (6/31): simpleLicense\LongLic.oxt ///'
- '/// - ExtensionSoftwareLicenseAgreement dialog exists ///'
- '/// - It is a Long License ///'
- '/// - installs and is enabled ///'
- '/// (7/31): simpleLicense\MissingLic.oxt ///'
- '/// - MissingLic.oxt\registration\license_en_US.txt does not exist. ///'
- '/// - will not install ///'
- '/// (8/31): simpleLicense\MissingLicRef.oxt ///'
- '/// - Cannot find a localized license text or a default license text. ///'
- '/// - will not install ///'
- '/// (9/31): simpleLicense\NoDesc.oxt ///'
- '/// - installs and is enabled ///'
- '/// (10/31): simpleLicense\NoLangNoDefault.oxt ///'
- '/// - Cannot find a localized license text or a default license text. ///'
- '/// - will not install ///'
- '/// (11/31): simpleLicense\OnlyDefault.oxt ///'
- '/// - Cannot find a localized license text or a default license text. ///'
- '/// - will not install ///'
- '/// (12/31): simpleLicense\ShortLicense.oxt ///'
- '/// - ExtensionSoftwareLicenseAgreement dialog exists ///'
- '/// - installs and is enabled ///'
- '/// (13/31): ///'
- '/// - will not install ///'
- '/// (14/31): simpleLicense\ShortLicenseShared.oxt ///'
- '/// - ExtensionSoftwareLicenseAgreement dialog exists ///'
- '/// - installs and is enabled ///'
- '/// (15/31): dependencies\broken-dependency.oxt ///'
- '/// - broken-dependency.oxt/description.xml contains data which cannot be parsed. ///'
- '/// - will not install ///'
- '/// (16/31): dependencies\double-dependencies.oxt ///'
- '/// - UnsatisfiedDependencies dialog exists ///'
- '/// (1/2): Dependency 1 ///'
- '/// (2/2): Dependency 2 ///'
- '/// - will not install ///'
- '/// (17/31): dependencies\empty-dependencies.oxt ///'
- '/// - installs and is enabled ///'
- '/// (18/31): dependencies\funny-dependency.oxt ///'
- '/// - UnsatisfiedDependencies dialog exists ///'
- '/// (1/1): & < > ' " > ' tab . crlf ///'
- '/// . em-dash�;. line-separator?. paragraph-separator?. xxxxxxxxxxx... ///'
- '/// - will not install ///'
- '/// (19/31): dependencies\license-dependency.oxt ///'
- '/// - UnsatisfiedDependencies dialog exists ///'
- '/// (1/1): Dependency ///'
- '/// - will not install ///'
- '/// (20/31): dependencies\many-dependencies.oxt ///'
- '/// - UnsatisfiedDependencies dialog exists ///'
- '/// (1/20): Dependency 1 ///'
- '/// (2/20): Dependency 2 ///'
- '/// (3/20): Dependency 3 ///'
- '/// (4/20): Dependency 4 ///'
- '/// (5/20): Dependency 5 ///'
- '/// (6/20): Dependency 6 ///'
- '/// (7/20): Dependency 7 ///'
- '/// (8/20): Dependency 8 ///'
- '/// (9/20): Dependency 9 ///'
- '/// (10/20): Dependency 10 ///'
- '/// (11/20): Dependency 11 ///'
- '/// (12/20): Dependency 12 ///'
- '/// (13/20): Dependency 13 ///'
- '/// (14/20): Dependency 14 ///'
- '/// (15/20): Dependency 15 ///'
- '/// (16/20): Dependency 16 ///'
- '/// (17/20): Dependency 17 ///'
- '/// (18/20): Dependency 18 ///'
- '/// (19/20): Dependency 19 ///'
- '/// (20/20): Dependency 20 ///'
- '/// - will not install ///'
- '/// (21/31): dependencies\no-dependencies.oxt ///'
- '/// - installs and is enabled ///'
- '/// (22/31): dependencies\no-description.oxt ///'
- '/// - installs and is enabled ///'
- '/// (23/31): dependencies\unknown-dependency.oxt ///'
- '/// - UnsatisfiedDependencies dialog exists ///'
- '/// (1/1): Unknown ///'
- '/// - will not install ///'
- '/// (24/31): dependencies\version21.oxt ///'
- '/// - installs and is enabled ///'
- '/// (25/31): dependencies\version10000.oxt ///'
- '/// - UnsatisfiedDependencies dialog exists ///'
- '/// (1/1): Unknown ///'
- '/// - will not install ///'
- '/// (26/31): dependencies\version21ns.oxt ///'
- '/// - installs and is enabled ///'
- '/// (27/31): dependencies\version21other.oxt ///'
- '/// - UnsatisfiedDependencies dialog exists ///'
- '/// (1/1): Unknown ///'
- '/// - will not install ///'
- '/// (25/31): dependencies\version25.oxt ///'
- '/// - installs and is enabled ///'
- '/// (25/31): dependencies\version30.oxt ///'
- '/// - installs and is enabled ///'
- '/// (25/31): dependencies\version31.oxt ///'
- '/// - UnsatisfiedDependencies dialog exists ///'
- '/// (1/1): Unknown ///'
- '/// - will not install ///'
- '/// (27/31): dependencies\version21other.oxt ///'
- '/// - UnsatisfiedDependencies dialog exists ///'
- '/// (1/1): Unknown ///'
- '/// (30/31): dependencies\versionempty.oxt ///'
- '/// - installs and is enabled ///'
- '/// (31/31): dependencies\versionnone.oxt ///'
- '/// - installs and is enabled ///'
- '/// (32/41): versions/plain.oxt
- '/// - installs and is enabled ///'
- '/// (33/41): versions/plain.oxt
- '/// - You are about to install version 1.02.4.7.0 of the extension org.openoffice.legacy.plain.oxt. That version is already installed.
- '/// - installs and is enabled ///'
- '/// (34/41): versions/version_none/plain.oxt
- '/// - You are about to install version 0 of the extension org.openoffice.legacy.plain.oxt. The newer version 1.02.4.7.0 is already installed.
- '/// - installs and is enabled ///'
- '/// (35/41): versions/version_1.2.3/plain.oxt
- '/// - You are about to install version 1.2.3 of the extension org.openoffice.legacy.plain.oxt. The older version 0 is already installed.
- '/// - installs and is enabled ///'
- '/// (36/41): versions/version_1.2.3/plain.oxt
- '/// - You are about to install version 1.2.3 of the extension org.openoffice.legacy.plain.oxt. That version is already installed.
- '/// - installs and is enabled ///'
- '/// (37/41): versions/version_0.0/plain.oxt
- '/// - You are about to install version 0.0 of the extension org.openoffice.legacy.plain.oxt. The newer version 1.2.3 is already installed.
- '/// - installs and is enabled ///'
- '/// (38/41): versions/version_1.2.4.7/plain.oxt
- '/// - You are about to install version 1.2.4.7 of the extension org.openoffice.legacy.plain.oxt. The older version 0.0 is already installed.
- '/// - installs and is enabled ///'
- '/// (39/41): versions/version_1.02.4.7.0/plain.oxt
- '/// - You are about to install version 1.02.4.7.0 of the extension org.openoffice.legacy.plain.oxt. That version is already installed.
- '/// - installs and is enabled ///'
- '/// (40/41): versions/version_1.2.3/plain.oxt
- '/// - You are about to install version 1.2.3 of the extension org.openoffice.legacy.plain.oxt. The newer version 1.02.4.7.0 is already installed.
- '/// - installs and is enabled ///'
- '/// (41/41): versions/version_1.2.15.3/plain.oxt
- '/// - You are about to install version 1.2.15.3 of the extension org.openoffice.legacy.plain.oxt. The older version 1.2.3 is already installed.
-
- dim j,b,i,a,x,y as integer
- dim sPath as string
- dim aFiles(50) as string
- dim aFeatures(50) as string
- dim aFileList(50) as string
- dim sTemp as string
- dim sTemp2 as string
- dim sTemp3 as string
- dim sTemp4 as string
- dim aTemp
- dim aTemp2
- dim sFirstStatus as string
- dim bFound as boolean
- dim aRemovePackages(50) as string
- dim bFoundNumber as boolean
- dim sLastVersion as string
-
- sLastVersion = ""
- ' want to start and work with just one document window
- b = getDocumentCount
- hFileCloseAll()
- hNewDocument()
-
- ' load about twenty one extension files, to test the features
- ' the list tells the filename and in encoded numbers the features
- ' a line looks like:
- ' simpleLicense\LongLic.oxt;0,2,1,0
- ' - the filename and the features are seperated by a semicolon
- ' - the numbes for the features are seperated by colons
- ' 1st number: Unsatisfied dependencies; if there are any, the number counts them; if there are none it is zero and the dialog won't come up
- ' 2nd number: License; if there is one the value is 1; it it a long one, where the scroll button needs to be used it is 2; 3 if the license should not be accepted for testing purposes, if there is no license the value is zero
- ' 3rd number: If the extension should successfully install the value is one, else zero.
- ' 4th number: If an active is expected after selecting a file for installation the value is one, else zero.
- ' 5th number: If active is expected the expected version information after selecting a file for installation the value is one, else zero and if an upgrade/downgrade is expected, the number is 2.
-
- ' Base path for test files
- sPath = convertPath(gTestToolPath+"extensions/optional/input/")
- ' read filelist and expected features
- ListRead(aFileList(), sPath+"files.txt")
- a = listCount(aFileList())
- printlog a
- for i = 1 to a
- aTemp = split (aFileList(i),";")
- if uBound(aTemp()) >0 then
- listAppend(aFiles(),aTemp(0))
- listAppend(aFeatures(),aTemp(1))
- endif
- next i
-
- ' there are some dependencys to languages...
- if iSprache = 49 then
- sTemp = aFeatures(4)
- aFeatures(4) = aFeatures(5)
- aFeatures(5) = sTemp
- else
- if iSprache <> 01 then
- aFeatures(4) = aFeatures(5)
- aFeatures(6) = aFeatures(5)
- aFeatures(12) = aFeatures(5)
- aFeatures(13) = aFeatures(5)
- aFeatures(14) = aFeatures(5)
- endif
- endif
- ' cleanup before starting; check that no extension from the list is installed right now; if remove it.
- '/// Before starting, look into extension manager, if already a file is installed, that will be used in this test ///'
- '/// Remove it. ///'
- a = listCount(aFiles())
- dim ii as integer
- ToolsPackageManager
- kontext "PackageManager"
- If PackageManager.exists(10) then
- BrowsePackages.typeKeys("<home>")
- ii = 1
- while (ii < BrowsePackages.getItemCount+1 )
- kontext "PackageManager"
- 'BrowsePackages.typeKeys("+")
- 'BrowsePackages.typeKeys("<down>")
- BrowsePackages.select ii
- sTemp = BrowsePackages.getItemText (ii,1)
- if right(sTemp,3) = "oxt" then
- for x = 1 to a
- sTemp3 = aFiles(x)
- aTemp = split(sTemp3,"\")
- if uBound(aTemp) < 1 then
- aTemp = split(sTemp3,"/")
- endif
- sTemp3 = aTemp(uBound(aTemp))
- if sTemp = sTemp3 then
- qaErrorLog "Package is already installed, trying to remove it: '" + sTemp + "'"
- if remove.isEnabled then
- remove.click
-
- kontext "Active"
- if ( Active.exists( 2 ) ) then
- Active.ok()
- else
- warnlog( "No confirmation dialog for Extension removal" )
- endif
-
- Kontext "AddingPackages"
- y=0
- while AddingPackages.exists(1) AND (y<30)
- printlog "RemovingPackages..."
- sleep 1
- y=y+1
- wend
- kontext "PackageManager"
- BrowsePackages.typeKeys("<up>")
- x = 100
- else
- warnlog "Package is already installed and can't get removed: '" + sTemp + "'"
- ii=ii+1
- x = 101
- endif
- endif
- next x
- if x < 100 then
- ii=ii+1
- endif
- else
- ii=ii+1
- endif
- wend
- kontext "PackageManager"
- PackageManager.close
- WaitSlot( 5000 )
- endif
-
- ' for every test file do...
- a = listCount(aFiles())
- for i = 1 to a
- printlog "********** Test file ("+i+"/"+a+"): "+aFiles(i)
- aTemp = split (aFeatures(i),",")
- '/// call Tools - Package/Extension manager ///'
- ToolsPackageManager
- kontext "PackageManager"
- If PackageManager.exists(10) then
- '/// going to top of package list and explode every line, until the button 'Add' is enabled ///'
- '/// should be 'My Packages' ///'
- 'BrowsePackages.typeKeys("<home>")
- 'sTemp = BrowsePackages.getSelText
- 'sTemp2 = ""
- 'while (Not Add.isEnabled AND (sTemp <> sTemp2))
- ' BrowsePackages.typeKeys("+")
- ' BrowsePackages.typeKeys("<down>")
- ' sTemp2 = sTemp
- ' sTemp = BrowsePackages.getSelText
- 'wend
- 'if sTemp = sTemp2 then
- ' warnlog "Couldn't find a way to enable the Add button - aborting"
- ' goto endsub
- 'endif
- 'printlog BrowsePackages.getSelText
- '/// click button 'Add' ///'
- try
- Add.click
- catch
- warnlog "#i90870# extension manager deadlock/C++ runtimes"
- exitrestarttheoffice
- ToolsPackageManager
- kontext "PackageManager"
- Add.click
- endcatch
- '/// Add Package(s)... dialg comes up ///'
- Kontext "OeffnenDlg"
- if OeffnenDlg.exists(5) then
- '/// put filename into field ///'
- Dateiname.setText convertPath(sPath + aFiles(i))
- printlog DateiTyp.getSelText
- '/// press button 'Open' ///'
- Oeffnen.click
- else
- warnlog "Add Package(s)... dialog didn't came up"
- endif
-
- 'Asking for whom to install; All: YES, Me: NO, nobody: Cancel
- kontext
- if active.exists(5) then
- sTemp = active.getText
- printlog "Messagebox: " + sTemp
- ' We only want to handle the installation target here which only
- ' pops up if we have the choice (rights to write to shared layer)
- if active.getButtonCount = 3 then
- try
- active.yes
- catch
- warnlog( "Try...catch: Failed to click Yes-button" )
- endcatch
- else
- printlog "No installation target message (this is probably a root-installation)"
- endif
- endif
-
- '/// Progress dialog comes up ///'
- Kontext "AddingPackages"
- if AddingPackages.exists(1) then
- printlog " - AddingPackages dialog exists"
- 'DialogTest(AddingPackages)
- endif
-
- '/// If any error happens, an active comes up, telling what is wrong ///'
- ' error is just a dialog with one button
- ' version infos have two buttons
- Kontext
- if active.exists(5) then
- sTemp = active.getText
- select case active.getbuttoncount
- case 1:
- y = instr(sTemp, " ")
- if cBool(aTemp(3)) then
- printlog sTemp
- else
- warnlog sTemp
- endif
- case 2:
- x = 0
- if cBool(aTemp(4)) then
- printlog "Version info message available."
- else
- warnlog "Version info message available, but not expected"
- endif
- printlog sTemp
- bFoundNumber = false
- aTemp2 = split(sTemp," ")
- y = uBound(aTemp2)
- while ((NOT bFoundNumber) AND (x < y))
- stemp2 = left(aTemp2(x),1)
- if isNumeric(stemp2) then
- bFoundNumber = TRUE
- printlog "Try to install version: " + aTemp2(x)
- endif
- x=x+1
- wend
- if NOT bFoundNumber then
- warnlog "No version was mentioned in the version message!"
- endif
- bFoundNumber = false
- while (NOT bFoundNumber AND x < y)
- stemp2 = left(aTemp2(x),1)
- if isNumeric(stemp2) then
- bFoundNumber = TRUE
- endif
- x=x+1
- wend
- if aTemp(4) = "2" AND bFoundNumber then
- printlog "Old version is: " + aTemp2(x-1)
- elseif bFoundNumber then
- warnlog "No old version expected: " + aTemp2(x-1)
- elseif aTemp(4) = "2" then
- warnlog "Old version expected, but not mentioned."
- endif
- end select
- active.ok
- else
- if cBool(aTemp(3)) then
- if i = 3 then
- qaErrorLog "#i73367# "
- else
- warnlog "errormessage expected, but none came up."
- endif
- endif
- endif
-
- '/// If there are any unsatisfied dependencies, they are shown now ///'
- Kontext "UnsatisfiedDependencies"
- if UnsatisfiedDependencies.exists(10) then
- if cBool(aTemp(0)) then
- printlog " - UnsatisfiedDependencies dialog exists"
- else
- warnLog "UnsatisfiedDependencies are not expected but available"
- endif
- DialogTest(UnsatisfiedDependencies)
- y = UnsatisfiedDependencyList.getItemCount
- if cInt(aTemp(0)) <> y then
- warnlog "Difference in dependencies; expected: " + aTemp(0) + "; found: " +y
- endif
- for x = 1 to y
- printlog " ("+x+"/"+y+"): "+UnsatisfiedDependencyList.getItemText(x)
- next x
- '/// close dialog if available, extension will not be installed ///'
- UnsatisfiedDependencies.close
- else
- if cBool(aTemp(0)) then
- warnLog "UnsatisfiedDependencies expected but none shown."
- endif
- endif
-
- '/// If there is a license, it is shown now ///'
- Kontext "ExtensionSoftwareLicenseAgreement"
- if ExtensionSoftwareLicenseAgreement.exists(10) then
- if cBool(aTemp(1)) then
- printlog " - ExtensionSoftwareLicenseAgreement dialog exists"
- else
- warnlog "ExtensionSoftwareLicenseAgreement are not expected but shown"
- endif
- if NOT Accept.isEnabled then
- if cInt(aTemp(1)) = 2 then
- printlog " Long License"
- else
- errorlog "Long License"
- endif
- else
- if NOT cInt(aTemp(1)) = 2 then
- printlog "Long License"
- else
- errorlog "Long License"
- endif
- endif
- '/// scroll down until accept button is enabled, click accept button ///'
- LicenseText.typeKeys ("<mod1 a>",true)
- if Accept.isEnabled then
- '/// for testing purposes click cancel one time - the extension should not get installed ///'
- if cInt(aTemp(1)) = 3 then
- ExtensionSoftwareLicenseAgreement.CANCEL
- else
- Accept.click
- endif
- else
- qaErrorLog "Accept not enabled.yet"
- while NOT Accept.isEnabled
- ScrollDown.click
- printlog "Scrolling..."
- sleep 1
- wend
- '/// for testing purposes click cancel one time - the extension should not get installed ///'
- if cInt(aTemp(1)) = 3 then
- ExtensionSoftwareLicenseAgreement.CANCEL
- else
- Accept.click
- endif
- endif
- else
- if cBool(aTemp(1)) then
- errorlog "ExtensionSoftwareLicenseAgreement dialog expected but not shown."
- endif
- endif
-
- '/// There may come up another active right now, which would be an error ///'
- Kontext
- if active.exists(5) then
- sTemp = active.getText
- if i = 7 then
- qaerrorlog "#i67452# " + sTemp
- else
- if i = 13 then
- qaerrorlog "#i73307#" + stemp
- else
- warnlog sTemp
- endif
- endif
- active.ok
- endif
-
- '/// the progress dialog is now available again ///'
- Kontext "AddingPackages"
- x=0
- while AddingPackages.exists(1) AND (x<30)
- printlog "AddingPackages..."
- sleep 1
- x=x+1
- wend
-
- '/// There may come up another active right now, which would be an error ///'
- Kontext
- if active.exists(5) then
- sTemp = active.getText
- warnlog sTemp
- active.ok
- endif
-
- ' find out, if the extension got installed
- kontext "PackageManager"
- BrowsePackages.typeKeys("<home>")
- BrowsePackages.typeKeys("+")
- y = BrowsePackages.getItemCount
- sTemp = aFiles(i)
- aTemp2 = split(sTemp,"\")
- if uBound(aTemp2) < 1 then
- aTemp2 = split(sTemp,"/")
- endif
- sTemp = aTemp2(uBound(aTemp2))
- printlog stemp
- bFound = FALSE
- for x = 1 to y
- sTemp2 = BrowsePackages.getItemText(x,1)
- printlog "("+x+"/"+y+"): "+sTemp2
- ' Mechanism to detect a status change; report it only one time
- sTemp3 = BrowsePackages.getItemText(x,3) ' enabled?
- sTemp4 = BrowsePackages.getItemText(x,2) ' version
- if sTemp3 <> "" AND sFirstStatus = "" then
- sFirstStatus = sTemp3
- else
- if (sFirstStatus <> sTemp3) AND (sTemp3 <> "") AND (sFirstStatus <> "alreadyshown") then
- qaErrorlog "#i67450# " + sFirstStatus + " <> " + sTemp3
- sFirstStatus= "alreadyshown"
- endif
- endif
- if sTemp3 <> "" then
- printlog " +++ " + sTemp3
- endif
- if sTemp4 <> "" then
- sLastVersion = sTemp4
- printlog " Version:" + sTemp4
- endif
- if sTemp = sTemp2 then
- listAppend(aRemovePackages(), sTemp)
- if cBool(aTemp(2)) then
- printlog "-------------------------------- Extension got installed"
- bFound = TRUE
- else
- if i = 3 then
- qaerrorLog "#i73367# "
- else
- warnLog "-------------------------------- Extension got installed, but shouldn't do that"
- endif
- endif
- endif
- next x
- if NOT cBool(aTemp(2)) and bFound then
- warnlog "not found"
- endif
- '/// Close extension manager ///'
- PackageManager.OK
- 'OK / Close
- else
- warnlog "Couldn't call Tools -> Package manager - aborting test at " + i
- goto endsub
- endif
- next i
-
- '/// after installing all extensions, remove them ///'
- ' uninstall all components, that were installed
- a = listCount(aRemovePackages())
- ToolsPackageManager
-
- kontext "PackageManager"
- If PackageManager.exists(10) then
-
- BrowsePackages.typeKeys("<home>")
- waitslot()
-
- ii = 1
- while (ii < BrowsePackages.getItemCount +1)
-
- wait( 2000 ) ' Required, Extension Manager needs time to populate
- kontext "PackageManager"
- 'BrowsePackages.typeKeys("+")
- 'BrowsePackages.typeKeys("<down>")
- sTemp2 = sTemp
- BrowsePackages.select ii
- waitslot()
-
- sTemp = BrowsePackages.getItemText (ii,1)
- if right(sTemp,3) = "oxt" then
- for x = 1 to a
- if sTemp = aRemovePackages(x) then
- printlog "Package is installed, trying to remove it: '" + sTemp + "'"
- if remove.isEnabled then
- remove.click
-
- kontext "Active"
- if ( Active.exists( 2 ) ) then
- Active.ok()
- else
- warnlog( "No confirmation for extension removal" )
- endif
-
- Kontext "AddingPackages"
- y=0
- while AddingPackages.exists(1) AND (y<30)
- printlog "RemovingPackages..."
- sleep 1
- y=y+1
- wend
- kontext "PackageManager"
- BrowsePackages.typeKeys("<up>")
- x = 100
- else
- warnlog "Package can't get removed: '" + sTemp + "'"
- ii=ii+1
- endif
- endif
- next x
- endif
- ii = ii+1
- wend
- kontext "PackageManager"
- hCloseDialog( PackageManager, "close" )
- else
- qaErrorLog "disabling installed extensions failed;"
- endif
- WaitSlot()
- hFileCloseAll()
-endcase
-
-