xref: /aoo4110/main/basic/inc/basic/testtool.hxx (revision b1cdbd2c)
1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 #ifndef _BASIC_TESTTOOL_HXX_
24 #define _BASIC_TESTTOOL_HXX_
25 
26 #include <svl/smplhint.hxx>
27 #include <tools/string.hxx>
28 
29 #define TESTTOOL_DEFAULT_PORT 12479
30 #define UNO_DEFAULT_PORT 12480
31 #define DEFAULT_HOST "localhost"
32 
33 #define TT_SIGNATURE_FOR_UNICODE_TEXTFILES "'encoding UTF-8  Do not remove or change this line!"
34 
35 #define ASSERTION_STACK_PREFIX "Backtrace:"
36 
37 // #94145# Due to a tab in TT_SIGNATURE_FOR_UNICODE_TEXTFILES which is changed to blanks by some editors
38 // this routine became necessary
39 sal_Bool IsTTSignatureForUnicodeTextfile( String aLine );
40 
41 //#include "testapp.hxx"
42 #define ADD_ERROR_QUIET(nNr, aStr)										\
43 {																		\
44 	ErrorEntry *pErr;													\
45 	if ( BasicRuntimeAccess::HasRuntime() )								\
46 	{																	\
47 		BasicRuntime aRun = BasicRuntimeAccess::GetRuntime();			\
48 		xub_StrLen aErrLn = StarBASIC::GetErl();						\
49 		if ( 0 == aErrLn )												\
50 			aErrLn = aRun.GetLine();									\
51 		pErr = new ErrorEntry(nNr, aStr,								\
52 			aErrLn, aRun.GetCol1(), aRun.GetCol2());					\
53 	}																	\
54 	else																\
55 	{																	\
56 		pErr = new ErrorEntry(nNr, aStr);								\
57 	}																	\
58 	P_FEHLERLISTE->C40_INSERT(ErrorEntry, pErr, P_FEHLERLISTE->Count());\
59 }
60 // ??? Irgendwann noch was mit der UID anfangen !!
61 #define ADD_ERROR(nNr, aStr) { \
62 		if ( !SbxBase::IsError() )				\
63 			SbxBase::SetError( nNr );			\
64 		ADD_ERROR_QUIET(nNr, aStr);	\
65 }
66 
67 #define POP_ERROR() P_FEHLERLISTE->DeleteAndDestroy(0)
68 #define GET_ERROR() P_FEHLERLISTE->GetObject(0)
69 #define IS_ERROR() ( P_FEHLERLISTE->Count() > 0 )
70 
71 // Transmission of error logs
72 enum TTLogType { LOG_RUN, LOG_TEST_CASE, LOG_ERROR, LOG_CALL_STACK, LOG_MESSAGE, LOG_WARNING, LOG_ASSERTION, LOG_QA_ERROR, LOG_ASSERTION_STACK };
73 
74 struct TTDebugData
75 {
76 public:
77 	TTLogType aLogType;
78 	String aMsg;
79 	String aFilename;
80 	xub_StrLen nLine;
81 	xub_StrLen nCol1;
82 	xub_StrLen nCol2;
83 };
84 
85 struct TTLogMsg
86 {
87 public:
88 	String aLogFileName;
89 	TTDebugData aDebugData;
90 };
91 
92 // For transmission of window information from the Testapp
93 struct WinInfoRec
94 {
95 public:
96     String aUId;
97 	String aKurzname;
98 	String aSlotname;
99 	String aLangname;
100 	sal_uInt16 nRType;
101 	String aRName;
102 	sal_Bool bIsReset;
103 };
104 
105 // Defines for syntax Highlighting
106 #define TT_KEYWORD		((SbTextType)100)	// Including locally executed commands like 'use' ...
107 #define TT_REMOTECMD	((SbTextType)101)	// Remotely executed commands like 'nodebug'
108 #define TT_LOCALCMD		((SbTextType)102)	// Locally executed commands like 'use'
109 #define TT_CONTROL		((SbTextType)103)	// Possibly available control loaded by 'use'
110 #define TT_SLOT			((SbTextType)104)	// Available Slots loaded by 'use'
111 #define TT_METHOD		((SbTextType)105)	// Possibly allowed Method for controls
112 #define TT_NOMETHOD		((SbTextType)106)	// No Possibly allowed Method for controls
113 
114 #define FILELIST1		((SbTextType)111)	// Symbols in file 1
115 #define FILELIST2		((SbTextType)112)	// Symbols in file 2
116 #define FILELIST3		((SbTextType)113)	// Symbols in file 3
117 #define FILELIST4		((SbTextType)114)	// Symbols in file 4
118 
119 /// defines for hints from TestToolObj to the Application
120 #define SBX_HINT_LANGUAGE_EXTENSION_LOADED		SFX_HINT_USER06
121 #define SBX_HINT_EXECUTION_STATUS_INFORMATION	SFX_HINT_USER07
122 
123 #define TT_EXECUTION_ENTERWAIT	0x01
124 #define TT_EXECUTION_LEAVEWAIT	0x02
125 #define TT_EXECUTION_SHOW_ACTION	0x03
126 #define TT_EXECUTION_HIDE_ACTION	0x04
127 
128 class TTExecutionStatusHint : public SfxSimpleHint
129 {
130 private:
131 	sal_uInt16 mnType;
132 	String maExecutionStatus;
133 	String maAdditionalExecutionStatus;
134 
135 public:
136 			TYPEINFO();
TTExecutionStatusHint(sal_uInt16 nType,sal_Char * pExecutionStatus,const sal_Char * pAdditionalExecutionStatus="")137 			TTExecutionStatusHint( sal_uInt16 nType, sal_Char *pExecutionStatus, const sal_Char *pAdditionalExecutionStatus = "" )
138 				: SfxSimpleHint(SBX_HINT_EXECUTION_STATUS_INFORMATION)
139 				, mnType( nType )
140 				, maExecutionStatus( pExecutionStatus, RTL_TEXTENCODING_ASCII_US )
141 				, maAdditionalExecutionStatus( pAdditionalExecutionStatus, RTL_TEXTENCODING_ASCII_US )
142 				{;}
143 
TTExecutionStatusHint(sal_uInt16 nType,const String & aExecutionStatus=String (),const String & aAdditionalExecutionStatus=String ())144 			TTExecutionStatusHint( sal_uInt16 nType, const String &aExecutionStatus = String(), const String &aAdditionalExecutionStatus = String() )
145 				: SfxSimpleHint(SBX_HINT_EXECUTION_STATUS_INFORMATION)
146 				, mnType( nType )
147 				, maExecutionStatus( aExecutionStatus )
148 				, maAdditionalExecutionStatus( aAdditionalExecutionStatus )
149 				{;}
150 
GetExecutionStatus() const151 	const String& GetExecutionStatus() const { return maExecutionStatus; }
GetAdditionalExecutionStatus() const152 	const String& GetAdditionalExecutionStatus() const { return maAdditionalExecutionStatus; }
GetType()153 	sal_uInt16 GetType(){ return mnType; }
154 };
155 
156 #endif // _BASIC_TESTTOOL_HXX_
157