Update ooo320-m1
[ooovba.git] / testautomation / framework / optional / includes / filedlg_cjk_files.inc
blob838df3bdd8f10cfef38af6eab1ddfa68b14048c5
1 'encoding UTF-8  Do not remove or change this line!
2 '**************************************************************************
3 '* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 '* 
5 '* Copyright 2008 by Sun Microsystems, Inc.
6 '*
7 '* OpenOffice.org - a multi-platform office productivity suite
8 '*
9 '* $RCSfile: filedlg_cjk_files.inc,v $
11 '* $Revision: 1.1 $
13 '* last change: $Author: jsi $ $Date: 2008-06-16 12:18:14 $
15 '* This file is part of OpenOffice.org.
17 '* OpenOffice.org is free software: you can redistribute it and/or modify
18 '* it under the terms of the GNU Lesser General Public License version 3
19 '* only, as published by the Free Software Foundation.
21 '* OpenOffice.org is distributed in the hope that it will be useful,
22 '* but WITHOUT ANY WARRANTY; without even the implied warranty of
23 '* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24 '* GNU Lesser General Public License version 3 for more details
25 '* (a copy is included in the LICENSE file that accompanied this code).
27 '* You should have received a copy of the GNU Lesser General Public License
28 '* version 3 along with OpenOffice.org.  If not, see
29 '* <http://www.openoffice.org/license.html>
30 '* for a copy of the LGPLv3 License.
32 '/************************************************************************
34 '* owner : joerg.skottke@sun.com
36 '* short description : check the internal file dialog ( extended tests )
38 '\******************************************************************************
40 testcase tSaveLoadDelFilesCJK()
42     if ( not hTestLocale() ) then
43         warnlog( "Test requires UTF-8 locale" )
44         goto endsub
45     endif
47     '///<h1>Save, reload and delete files containing asian characters</h1>
48     '///<p>This test randomizes through the range of unified CJK characters
49     '///+ which ranges from dec 19968 (#4E00) to dec 40879 (#9FAF) - a grand
50     '///+ total of 20911 different characters. We take two samples for each
51     '///+ application this test is executed for. Note that this test does not
52     '///+ work with directories.</p>
53     
54     dim cStrangeName as string
55     dim iCounter as integer ' iterator
56     dim iRandom  as long    ' random number.(needs long for cjk chars)
57     dim brc as boolean
58     
59     printlog( CHR$(13) )
60     printlog( "Check if CJK-filenames are loaded/saved/deleted" )
61     printlog( CHR$(13) )
62     
63     '///<ul>
64     printlog( CHR$(13) + "Names with CJK-chars" )
65     printlog( "" )
66     
67     ' Invoke randomizer
68     call randomize()
69     
70     '///+<li>Repeat following steps for two asian characters:</li>
71     '///<ul>
72     for iCounter = 1 to 2
73         
74         '///+<li>Select a random character from the desired range</li>
75         iRandom = int( 19968 + ( 20911 * rnd ) )
76         printlog( "" )
77         printlog( " * Using decimal char: " & iRandom )
78         
79         '///+<li>Open a new document</li>
80         '///+<li>Save file with trailing asian character and suffix</li>
81         cStrangeName = hNameGen_append( iRandom )
82         brc = hSaveLoadDelSuccess( cStrangeName )
83         
84         '///+<li>Save file with leading asian character and suffix</li>
85         cStrangeName = hNameGen_lead( iRandom )
86         brc = hSaveLoadDelSuccess( cStrangeName )
87         
88         '///+<li>Handle possible errormessages/warnings</li>
89         kontext "active"
90         if( active.exists() ) then
91             qaerrorlog( "#i33964# Document does not exist when the last document is deleted from filepicker" )
92             printlog( active.gettext() )
93             active.ok()
94         endif
95         
96         '///+<li>Delete the file via BASIC command (in case the file was not deleted eralier)</li>
97         hDeleteFile( hGetWorkPath() & cStrangeName )        
98         
99         '///+<li>Close the navigator if it is present, it might interfere</li>
100         hCloseNavigator()
101         
102         
103     next iCounter
104     '///</ul>
105     
106     '///+<li>Close the document</li>
107     printlog( "Close the document" )
108     brc = hDestroyDocument()
109     
110     '///</ul>
111     
112 endcase