Files
libreoffice/testautomation/xml/optional/includes/c_datapilot_pagefields.inc
2010-02-26 14:17:49 +01:00

176 lines
8.0 KiB
C++

'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 : oliver.craemer@sun.com
'*
'* short description : Check content.xml for attribute 'table:selected-page'
'*
'*************************************************************************************************
'*
' #1 subPageFields
' #1 tDatapilotPagefields
'*
'\*************************************************************************************************
sub subPageFields
printLog Chr(13) + "--------- datapilot pagefields ----------"
printlog "Testing Page '- all -'"
call tDatapilotPagefields("- all -")
printlog "Testing Page 'Audio'"
call tDatapilotPagefields("Audio")
printlog "Testing Page 'DVD'"
call tDatapilotPagefields("DVD")
printlog "Testing Page 'Video'"
call tDatapilotPagefields("Video")
end sub
'************************************************************
testcase tDatapilotPagefields ( sCurrentPage as STRING )
dim bTableSelectedPageShouldExist as BOOLEAN
dim iIndex as INTEGER
dim sComfirmAttribute as STRING
dim sWarnAttribute as STRING
select case sCurrentPage
case ("- all -") : bTableSelectedPageShouldExist = "false"
iIndex = 1
case ("Audio") : bTableSelectedPageShouldExist = "true"
iIndex = 2
sComfirmAttribute = "OK, value for attribute 'table:selected-page' is 'Audio'"
sWarnAttribute = "Unexpected value for attibute 'table:selected-page' -> Check this out!"
case ("DVD") : bTableSelectedPageShouldExist = "true"
iIndex = 3
sComfirmAttribute = "OK, value for attribute 'table:selected-page' is 'DVD'"
sWarnAttribute = "Unexpected value for attibute 'table:selected-page' -> Check this out!"
case ("Video") : bTableSelectedPageShouldExist = "true"
iIndex = 4
sComfirmAttribute = "OK, value for attribute 'table:selected-page' is 'Video'"
sWarnAttribute = "Unexpected value for attibute 'table:selected-page' -> Check this out!"
end select
dim sInputFile as STRING
sInputFile = ( gTesttoolPath & ConvertPath( "xml\optional\input\calc\ooo10\pagefields_datapilot" & iIndex & ".sxc" ))
dim sOutputFile as STRING
sOutputFile = ( gOfficePath & ConvertPath( "user\work\datapilotPagefields" ) & iIndex & ".ods" )
dim sUnpackedStorageDir as STRING
sUnpackedStorageDir = ( gOfficePath & ConvertPath( "user\work\datapilotPagefields" ) & iIndex )
if (dir(sUnpackedStorageDir) <> "") then
rmDir (sUnpackedStorageDir)
if (dir(sUnpackedStorageDir) <> "") then
warnlog "Directory has not been deleted. Test ends here."
goto endsub
endif
endif
dim sContentXML as STRING
sContentXML = ( gOfficePath & ConvertPath( "user\work\datapilotPagefields" ) & iIndex & ConvertPath( "\content.xml" ))
dim iSaxSeekIndex as INTEGER
iSaxSeekIndex = 1
dim bContinueSeek as BOOLEAN
bContinueSeek = TRUE
dim iAttributeIndex as INTEGER
printlog "Open test document"
call hFileOpen ( sInputFile )
printlog "Save in current default application format (ODF)"
if hFileSaveAsWithFilterKill ( sOutputFile , "calc8" ) = FALSE then
warnlog "Saving " & sOutputFile & " failed! -> Exiting test!"
call hCloseDocument
goto endsub
else
printlog "CLose the document."
call hCloseDocument
printlog "Unpack storage of test document."
UnpackStorage( sOutputFile , sUnpackedStorageDir )
printlog "Read the test documents DOM."
SAXReadFile( sContentXML )
sleep(2)
printlog "Set the DOM pointer on element 'table:data-pilot-table'"
printlog "|-/"
SAXSeekElement( "/" )
printlog " |-office:document-content"
SAXSeekElement( "office:document-content" )
printlog " |-office:body"
SAXSeekElement( "office:body" )
printlog " |-office:spreadsheet"
SAXSeekElement( "office:spreadsheet" )
printlog " |-table:data-pilot-tables"
SAXSeekElement( "table:data-pilot-tables" )
printlog " |-table:data-pilot-table"
SAXSeekElement( "table:data-pilot-table" )
printlog "Seek in (all) elements 'table:data-pilot-field'"
while SAXHasElement( "table:data-pilot-field" , iSaxSeekIndex ) AND bContinueSeek
printlog " |-table:data-pilot-field"
SAXSeekElement( "table:data-pilot-field" , iSaxSeekIndex )
printlog ".. for attribute 'table:selected-page'"
for iAttributeIndex = 1 to SAXGetAttributeCount
if SaxGetAttributeName ( iAttributeIndex ) = "table:selected-page" then
printlog "When found, check if it should exist (unexpected for page selection '- all -')"
bContinueSeek = FALSE
if bTableSelectedPageShouldExist then
printlog "Bingo, found attribute 'table:selected-page'"
'Check correct index of expected node
if iSaxSeekIndex <> 1 then
warnlog "Found 'table:selected-page' on an unexpected Node -> Check this out!"
qaErrorLog "TODO: Check if change of file format was announced!"
qaErrorLog "TODO: Modify test if change of file format was intended!"
endif
'Check correct attribute index
if iAttributeIndex <> 3 then
warnlog "Found 'table:selected-page' on unexpected attribute position -> Check this out!"
qaErrorLog "TODO: Check if change of file format was announced!"
qaErrorLog "TODO: Modify test if change of file format was intended!"
endif
printlog "Now check for expected value of 'table:selected-page'!"
if SAXGetAttributeValue( "table:selected-page" ) = sCurrentPage then
printlog sComfirmAttribute
else
warnlog sWarnAttribute
endif
else
warnlog "OOPS, attribute 'table:selected-page' shouldn't exist for '- all -' pages."
endif
endif
next iAttributeIndex
iSaxSeekIndex = iSaxSeekIndex + 1
SAXSeekElement( 0 )
wend
endif
' Throw warning if testcase didn't succeed at all!
if bContinueSeek AND bTableSelectedPageShouldExist then
warnlog "OOPS, attribute 'table:selected-page' wasn't found though it should exist -> Check this out!"
endif
'Release DOM
SAXRelease
endcase