Branch data Line data Source code
1 : : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : : /*
3 : : * This file is part of the LibreOffice project.
4 : : *
5 : : * This Source Code Form is subject to the terms of the Mozilla Public
6 : : * License, v. 2.0. If a copy of the MPL was not distributed with this
7 : : * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 : : */
9 : :
10 : : #include <sal/types.h>
11 : : #include "cppunit/TestAssert.h"
12 : : #include "cppunit/TestFixture.h"
13 : : #include "cppunit/extensions/HelperMacros.h"
14 : : #include "cppunit/plugin/TestPlugIn.h"
15 : :
16 : : #include "osl/file.hxx"
17 : : #include "osl/process.h"
18 : :
19 : : #include "scanner.hxx"
20 : :
21 : : namespace
22 : : {
23 : 5190 : struct Symbol
24 : : {
25 : : sal_uInt16 line;
26 : : sal_uInt16 col1;
27 : : sal_uInt16 col2;
28 : : rtl::OUString text;
29 : : double number;
30 : : SbxDataType type;
31 : : };
32 : :
33 : : /**
34 : : * Perform tests on Scanner.
35 : : */
36 [ - + ]: 150 : class ScannerTest : public CppUnit::TestFixture
37 : : {
38 : : private:
39 : : void testBlankLines();
40 : : void testOperators();
41 : : void testAlphanum();
42 : : void testComments();
43 : : void testGoto();
44 : : void testGotoCompatible();
45 : : void testExclamation();
46 : : void testNumbers();
47 : : void testDataType();
48 : : void testHexOctal();
49 : :
50 : : // Adds code needed to register the test suite
51 [ + - ][ + - ]: 10 : CPPUNIT_TEST_SUITE(ScannerTest);
[ + - ][ + - ]
[ # # ]
52 : :
53 : : // Declares the method as a test to call
54 [ + - ][ + - ]: 5 : CPPUNIT_TEST(testBlankLines);
[ + - ][ + - ]
[ + - ][ + - ]
55 [ + - ][ + - ]: 5 : CPPUNIT_TEST(testOperators);
[ + - ][ + - ]
[ + - ][ + - ]
56 [ + - ][ + - ]: 5 : CPPUNIT_TEST(testAlphanum);
[ + - ][ + - ]
[ + - ][ + - ]
57 [ + - ][ + - ]: 5 : CPPUNIT_TEST(testComments);
[ + - ][ + - ]
[ + - ][ + - ]
58 [ + - ][ + - ]: 5 : CPPUNIT_TEST(testGoto);
[ + - ][ + - ]
[ + - ][ + - ]
59 [ + - ][ + - ]: 5 : CPPUNIT_TEST(testGotoCompatible);
[ + - ][ + - ]
[ + - ][ + - ]
60 [ + - ][ + - ]: 5 : CPPUNIT_TEST(testExclamation);
[ + - ][ + - ]
[ + - ][ + - ]
61 [ + - ][ + - ]: 5 : CPPUNIT_TEST(testNumbers);
[ + - ][ + - ]
[ + - ][ + - ]
62 [ + - ][ + - ]: 5 : CPPUNIT_TEST(testDataType);
[ + - ][ + - ]
[ + - ][ + - ]
63 [ + - ][ + - ]: 5 : CPPUNIT_TEST(testHexOctal);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ]
64 : :
65 : : // End of test suite definition
66 [ + - ][ + - ]: 10 : CPPUNIT_TEST_SUITE_END();
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
67 : : };
68 : :
69 : 5 : const static rtl::OUString cr(RTL_CONSTASCII_USTRINGPARAM("\n"));
70 : 5 : const static rtl::OUString rem(RTL_CONSTASCII_USTRINGPARAM("REM"));
71 : 5 : const static rtl::OUString asdf(RTL_CONSTASCII_USTRINGPARAM("asdf"));
72 : 5 : const static rtl::OUString dot(RTL_CONSTASCII_USTRINGPARAM("."));
73 : 5 : const static rtl::OUString goto_(RTL_CONSTASCII_USTRINGPARAM("goto"));
74 : 5 : const static rtl::OUString excl(RTL_CONSTASCII_USTRINGPARAM("!"));
75 : :
76 : 400 : std::vector<Symbol> getSymbols(const rtl::OUString& source, sal_Int32& errors, bool bCompatible = false)
77 : : {
78 [ + - ]: 400 : std::vector<Symbol> symbols;
79 [ + - ]: 400 : SbiScanner scanner(source);
80 : 400 : scanner.EnableErrors();
81 : 400 : scanner.SetCompatible(bCompatible);
82 [ + - ][ + + ]: 1365 : while(scanner.NextSym())
83 : : {
84 : 965 : Symbol symbol;
85 : 965 : symbol.line = scanner.GetLine();
86 : 965 : symbol.col1 = scanner.GetCol1();
87 : 965 : symbol.col2 = scanner.GetCol2();
88 : 965 : symbol.text = scanner.GetSym();
89 : 965 : symbol.number = scanner.GetDbl();
90 : 965 : symbol.type = scanner.GetType();
91 [ + - ]: 965 : symbols.push_back(symbol);
92 : 965 : }
93 : 400 : errors = scanner.GetErrors();
94 [ + - ]: 400 : return symbols;
95 : : }
96 : :
97 : 320 : std::vector<Symbol> getSymbols(const rtl::OUString& source, bool bCompatible = false)
98 : : {
99 : : sal_Int32 i;
100 [ + - ]: 320 : return getSymbols(source, i, bCompatible);
101 : : }
102 : :
103 : 5 : void ScannerTest::testBlankLines()
104 : : {
105 [ + - ]: 5 : const rtl::OUString source1(RTL_CONSTASCII_USTRINGPARAM(""));
106 [ + - ]: 5 : const rtl::OUString source2(RTL_CONSTASCII_USTRINGPARAM("\r\n"));
107 [ + - ]: 5 : const rtl::OUString source3(RTL_CONSTASCII_USTRINGPARAM("\n"));
108 [ + - ]: 5 : const rtl::OUString source4(RTL_CONSTASCII_USTRINGPARAM("\r"));
109 [ + - ]: 5 : const rtl::OUString source5(RTL_CONSTASCII_USTRINGPARAM("\r\n\r\n"));
110 [ + - ]: 5 : const rtl::OUString source6(RTL_CONSTASCII_USTRINGPARAM("\n\r"));
111 [ + - ]: 5 : const rtl::OUString source7(RTL_CONSTASCII_USTRINGPARAM("\n\r\n"));
112 [ + - ]: 5 : const rtl::OUString source8(RTL_CONSTASCII_USTRINGPARAM("\r\n\r"));
113 [ + - ]: 5 : const rtl::OUString source9(RTL_CONSTASCII_USTRINGPARAM(" "));
114 : :
115 [ + - ]: 5 : std::vector<Symbol> symbols;
116 [ + - ]: 5 : symbols = getSymbols(source1);
117 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.empty());
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
118 : :
119 [ + - ]: 5 : symbols = getSymbols(source2);
120 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 1);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
121 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
122 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
123 : :
124 [ + - ]: 5 : symbols = getSymbols(source3);
125 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 1);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
126 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
127 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
128 : :
129 [ + - ]: 5 : symbols = getSymbols(source4);
130 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 1);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
131 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
132 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
133 : :
134 [ + - ]: 5 : symbols = getSymbols(source5);
135 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
136 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
137 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
138 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
139 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
140 : :
141 [ + - ]: 5 : symbols = getSymbols(source6);
142 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
143 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
144 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
145 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
146 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
147 : :
148 [ + - ]: 5 : symbols = getSymbols(source7);
149 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
150 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
151 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
152 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
153 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
154 : :
155 [ + - ]: 5 : symbols = getSymbols(source8);
156 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
157 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
158 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
159 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
160 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
161 : :
162 [ + - ]: 5 : symbols = getSymbols(source9);
163 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 1);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
164 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
165 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
166 : 5 : }
167 : :
168 : 5 : void ScannerTest::testOperators()
169 : : {
170 [ + - ]: 5 : const rtl::OUString sourceE(RTL_CONSTASCII_USTRINGPARAM("="));
171 [ + - ]: 5 : const rtl::OUString sourceLT(RTL_CONSTASCII_USTRINGPARAM("<"));
172 [ + - ]: 5 : const rtl::OUString sourceGT(RTL_CONSTASCII_USTRINGPARAM(">"));
173 [ + - ]: 5 : const rtl::OUString sourceLTE(RTL_CONSTASCII_USTRINGPARAM("<="));
174 [ + - ]: 5 : const rtl::OUString sourceGTE(RTL_CONSTASCII_USTRINGPARAM(">="));
175 [ + - ]: 5 : const rtl::OUString sourceEE(RTL_CONSTASCII_USTRINGPARAM("=="));
176 [ + - ]: 5 : const rtl::OUString sourceNE(RTL_CONSTASCII_USTRINGPARAM("<>"));
177 [ + - ]: 5 : const rtl::OUString sourceA(RTL_CONSTASCII_USTRINGPARAM(":="));
178 : :
179 [ + - ]: 5 : std::vector<Symbol> symbols;
180 : :
181 [ + - ]: 5 : symbols = getSymbols(sourceE);
182 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
183 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == sourceE);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
184 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
185 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
186 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
187 : :
188 [ + - ]: 5 : symbols = getSymbols(sourceLT);
189 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
190 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == sourceLT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
191 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
192 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
193 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
194 : :
195 [ + - ]: 5 : symbols = getSymbols(sourceGT);
196 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
197 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == sourceGT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
198 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
199 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
200 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
201 : :
202 [ + - ]: 5 : symbols = getSymbols(sourceLTE);
203 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
204 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == sourceLTE);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
205 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
206 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
207 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
208 : :
209 [ + - ]: 5 : symbols = getSymbols(sourceGTE);
210 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
211 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == sourceGTE);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
212 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
213 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
214 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
215 : :
216 [ + - ]: 5 : symbols = getSymbols(sourceEE);
217 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 3);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
218 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == sourceE);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
219 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
220 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == sourceE);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
221 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
222 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
223 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
224 : :
225 [ + - ]: 5 : symbols = getSymbols(sourceNE);
226 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
227 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == sourceNE);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
228 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
229 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
230 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
231 : :
232 [ + - ]: 5 : symbols = getSymbols(sourceA);
233 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
234 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == sourceA);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
235 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
236 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
237 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
238 : 5 : }
239 : :
240 : 5 : void ScannerTest::testAlphanum()
241 : : {
242 [ + - ]: 5 : const rtl::OUString source1(RTL_CONSTASCII_USTRINGPARAM("asdfghefg"));
243 [ + - ]: 5 : const rtl::OUString source2(RTL_CONSTASCII_USTRINGPARAM("1asfdasfd"));
244 [ + - ]: 5 : const rtl::OUString source3(RTL_CONSTASCII_USTRINGPARAM("AdfsaAUdsl10987"));
245 [ + - ]: 5 : const rtl::OUString source4(RTL_CONSTASCII_USTRINGPARAM("asdfa_mnvcnm"));
246 [ + - ]: 5 : const rtl::OUString source5(RTL_CONSTASCII_USTRINGPARAM("_asdf1"));
247 [ + - ]: 5 : const rtl::OUString source6(RTL_CONSTASCII_USTRINGPARAM("_6"));
248 [ + - ]: 5 : const rtl::OUString source7(RTL_CONSTASCII_USTRINGPARAM("joxclk_"));
249 [ + - ]: 5 : const rtl::OUString source8(RTL_CONSTASCII_USTRINGPARAM(" asdf "));
250 [ + - ]: 5 : const rtl::OUString source9(RTL_CONSTASCII_USTRINGPARAM(" 19395 asdfa "));
251 [ + - ]: 5 : const rtl::OUString source10(RTL_CONSTASCII_USTRINGPARAM("\n1\n2\na sdf"));
252 [ + - ]: 5 : const rtl::OUString source11(RTL_CONSTASCII_USTRINGPARAM("asdf.asdf"));
253 [ + - ]: 5 : const rtl::OUString source12(RTL_CONSTASCII_USTRINGPARAM(".."));
254 : :
255 [ + - ]: 5 : std::vector<Symbol> symbols;
256 : :
257 [ + - ]: 5 : symbols = getSymbols(source1);
258 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
259 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == source1);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
260 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
261 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
262 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
263 : :
264 [ + - ]: 5 : symbols = getSymbols(source2);
265 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 3);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
266 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text.isEmpty()); // Can't start symbol with a digit
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
267 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].number == 1);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
268 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxINTEGER);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
269 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("asfdasfd")));
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ]
270 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
271 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
272 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
273 : :
274 [ + - ]: 5 : symbols = getSymbols(source3);
275 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
276 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == source3);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
277 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
278 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
279 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
280 : :
281 [ + - ]: 5 : symbols = getSymbols(source4);
282 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
283 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == source4);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
284 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
285 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
286 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
287 : :
288 [ + - ]: 5 : symbols = getSymbols(source5);
289 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
290 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == source5);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
291 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
292 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
293 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
294 : :
295 [ + - ]: 5 : symbols = getSymbols(source6);
296 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
297 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == source6);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
298 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
299 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
300 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
301 : :
302 [ + - ]: 5 : symbols = getSymbols(source7);
303 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
304 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("joxclk_")));
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ]
305 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
306 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(source7 == rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("joxclk "))); // Change the trailing '_' to a ' '
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ]
307 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
308 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
309 : :
310 [ + - ]: 5 : symbols = getSymbols(source8);
311 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
312 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("asdf")));
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ]
313 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
314 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
315 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
316 : :
317 [ + - ]: 5 : symbols = getSymbols(source9);
318 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 3);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
319 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text.isEmpty());
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
320 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].number = 19395);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
321 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxINTEGER);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
322 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("asdfa")));
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ]
323 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
324 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
325 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
326 : :
327 [ + - ]: 5 : symbols = getSymbols(source10);
328 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 8);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
329 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
330 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
331 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text.isEmpty());
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
332 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].number == 1);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
333 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxINTEGER);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
334 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
335 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
336 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[3].text.isEmpty());
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
337 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[3].number == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
338 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[3].type == SbxINTEGER);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
339 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[4].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
340 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[4].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
341 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[5].text.getLength() == 1);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
342 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[5].text[0] == 'a');
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
343 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[5].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
344 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[6].text == rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("sdf")));
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ]
345 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[6].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
346 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[7].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
347 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[7].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
348 : :
349 [ + - ]: 5 : symbols = getSymbols(source11);
350 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 4);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
351 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == asdf);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
352 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
353 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == dot);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
354 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
355 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].text == asdf);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
356 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
357 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[3].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
358 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[3].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
359 : :
360 [ + - ]: 5 : symbols = getSymbols(source12);
361 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 3);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
362 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == dot);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
363 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
364 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == dot);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
365 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
366 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
367 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
368 : 5 : }
369 : :
370 : 5 : void ScannerTest::testComments()
371 : : {
372 [ + - ]: 5 : const rtl::OUString source1(RTL_CONSTASCII_USTRINGPARAM("REM asdf"));
373 [ + - ]: 5 : const rtl::OUString source2(RTL_CONSTASCII_USTRINGPARAM("REMasdf"));
374 [ + - ]: 5 : const rtl::OUString source3(RTL_CONSTASCII_USTRINGPARAM("'asdf"));
375 [ + - ]: 5 : const rtl::OUString source4(RTL_CONSTASCII_USTRINGPARAM("asdf _\n'100"));
376 [ + - ]: 5 : const rtl::OUString source5(RTL_CONSTASCII_USTRINGPARAM("'asdf _\n100"));
377 [ + - ]: 5 : const rtl::OUString source6(RTL_CONSTASCII_USTRINGPARAM("'asdf _\n'100"));
378 [ + - ]: 5 : const rtl::OUString source7(RTL_CONSTASCII_USTRINGPARAM("'asdf _\n 1234 _\n asdf'"));
379 : :
380 [ + - ]: 5 : std::vector<Symbol> symbols;
381 : :
382 [ + - ]: 5 : symbols = getSymbols(source1);
383 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 1);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
384 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == rem);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
385 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
386 : :
387 [ + - ]: 5 : symbols = getSymbols(source2);
388 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
389 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("REMasdf")));
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ]
390 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
391 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
392 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
393 : :
394 [ + - ]: 5 : symbols = getSymbols(source3);
395 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 1);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
396 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == rem);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
397 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
398 : :
399 [ + - ]: 5 : symbols = getSymbols(source4);
400 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
401 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == asdf);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
402 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
403 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == rem);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
404 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
405 : :
406 [ + - ]: 5 : symbols = getSymbols(source5);
407 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 3);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
408 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == rem);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
409 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
410 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text.isEmpty());
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
411 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].number == 100);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
412 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxINTEGER);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
413 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
414 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
415 : :
416 [ + - ]: 5 : symbols = getSymbols(source6);
417 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
418 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == rem);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
419 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
420 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == rem);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
421 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
422 : :
423 [ + - ]: 5 : symbols = getSymbols(source7);
424 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 4);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
425 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == rem);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
426 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
427 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text.isEmpty());
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
428 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].number == 1234);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
429 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxINTEGER);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
430 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].text == asdf);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
431 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
432 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[3].text == rem);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
433 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[3].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
434 : 5 : }
435 : :
436 : 5 : void ScannerTest::testGoto()
437 : : {
438 [ + - ]: 5 : const rtl::OUString source1(RTL_CONSTASCII_USTRINGPARAM("goto"));
439 [ + - ]: 5 : const rtl::OUString source2(RTL_CONSTASCII_USTRINGPARAM("go to"));
440 [ + - ]: 5 : const rtl::OUString source3(RTL_CONSTASCII_USTRINGPARAM("go\nto"));
441 : :
442 [ + - ]: 5 : std::vector<Symbol> symbols;
443 : :
444 [ + - ]: 5 : symbols = getSymbols(source1);
445 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
446 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == goto_);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
447 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
448 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
449 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
450 : :
451 [ + - ]: 5 : symbols = getSymbols(source2);
452 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 3);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
453 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("go")));
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ]
454 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
455 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("to")));
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ]
456 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
457 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
458 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
459 : :
460 [ + - ]: 5 : symbols = getSymbols(source3);
461 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 4);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
462 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("go")));
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ]
463 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
464 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
465 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
466 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].text == rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("to")));
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ]
467 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
468 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[3].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
469 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[3].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
470 : 5 : }
471 : :
472 : 5 : void ScannerTest::testGotoCompatible()
473 : : {
474 [ + - ]: 5 : const rtl::OUString source1(RTL_CONSTASCII_USTRINGPARAM("goto"));
475 [ + - ]: 5 : const rtl::OUString source2(RTL_CONSTASCII_USTRINGPARAM("go to"));
476 [ + - ]: 5 : const rtl::OUString source3(RTL_CONSTASCII_USTRINGPARAM("go\nto"));
477 : :
478 [ + - ]: 5 : std::vector<Symbol> symbols;
479 : :
480 [ + - ]: 5 : symbols = getSymbols(source1, true);
481 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
482 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == goto_);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
483 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
484 : :
485 [ + - ]: 5 : symbols = getSymbols(source2, true);
486 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
487 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == rtl::OUString(goto_));
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
488 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
489 : :
490 [ + - ]: 5 : symbols = getSymbols(source3, true);
491 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 4);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
492 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("go")));
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ]
493 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
494 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].text == rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("to")));
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ]
495 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[3].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
496 : 5 : }
497 : :
498 : 5 : void ScannerTest::testExclamation()
499 : : {
500 [ + - ]: 5 : const rtl::OUString source1(RTL_CONSTASCII_USTRINGPARAM("asdf!asdf"));
501 [ + - ]: 5 : const rtl::OUString source2(RTL_CONSTASCII_USTRINGPARAM("!1234"));
502 [ + - ]: 5 : const rtl::OUString source3(RTL_CONSTASCII_USTRINGPARAM("!_3"));
503 [ + - ]: 5 : const rtl::OUString source4(RTL_CONSTASCII_USTRINGPARAM("!$"));
504 [ + - ]: 5 : const rtl::OUString source5(RTL_CONSTASCII_USTRINGPARAM("!%"));
505 [ + - ]: 5 : const rtl::OUString source6(RTL_CONSTASCII_USTRINGPARAM("!\n"));
506 : :
507 [ + - ]: 5 : std::vector<Symbol> symbols;
508 : :
509 [ + - ]: 5 : symbols = getSymbols(source1);
510 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 4);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
511 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == asdf);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
512 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == excl);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
513 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].text == asdf);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
514 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[3].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
515 : :
516 [ + - ]: 5 : symbols = getSymbols(source2);
517 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 3);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
518 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == excl);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
519 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text.isEmpty());
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
520 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].number == 1234);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
521 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
522 : :
523 [ + - ]: 5 : symbols = getSymbols(source3);
524 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 3);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
525 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == excl);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
526 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("_3")));
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ]
527 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
528 : :
529 [ + - ]: 5 : symbols = getSymbols(source4);
530 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 3);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
531 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == excl);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
532 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("$")));
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ]
533 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
534 : :
535 [ + - ]: 5 : symbols = getSymbols(source5);
536 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 3);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
537 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == excl);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
538 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("%")));
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ]
539 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
540 : :
541 [ + - ]: 5 : symbols = getSymbols(source6);
542 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
543 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == excl);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
544 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
545 : 5 : }
546 : :
547 : 5 : void ScannerTest::testNumbers()
548 : : {
549 [ + - ]: 5 : const rtl::OUString source1(RTL_CONSTASCII_USTRINGPARAM("12345"));
550 [ + - ]: 5 : const rtl::OUString source2(RTL_CONSTASCII_USTRINGPARAM("1.2.3"));
551 [ + - ]: 5 : const rtl::OUString source3(RTL_CONSTASCII_USTRINGPARAM("123.4"));
552 [ + - ]: 5 : const rtl::OUString source4(RTL_CONSTASCII_USTRINGPARAM("0.5"));
553 [ + - ]: 5 : const rtl::OUString source5(RTL_CONSTASCII_USTRINGPARAM("5.0"));
554 [ + - ]: 5 : const rtl::OUString source6(RTL_CONSTASCII_USTRINGPARAM("0.0"));
555 [ + - ]: 5 : const rtl::OUString source7(RTL_CONSTASCII_USTRINGPARAM("-3"));
556 [ + - ]: 5 : const rtl::OUString source8(RTL_CONSTASCII_USTRINGPARAM("-0.0"));
557 [ + - ]: 5 : const rtl::OUString source9(RTL_CONSTASCII_USTRINGPARAM("12dE3"));
558 [ + - ]: 5 : const rtl::OUString source10(RTL_CONSTASCII_USTRINGPARAM("12e3"));
559 [ + - ]: 5 : const rtl::OUString source11(RTL_CONSTASCII_USTRINGPARAM("12D+3"));
560 [ + - ]: 5 : const rtl::OUString source12(RTL_CONSTASCII_USTRINGPARAM("12e++3"));
561 [ + - ]: 5 : const rtl::OUString source13(RTL_CONSTASCII_USTRINGPARAM("12e-3"));
562 [ + - ]: 5 : const rtl::OUString source14(RTL_CONSTASCII_USTRINGPARAM("12e-3+"));
563 [ + - ]: 5 : const rtl::OUString source15(RTL_CONSTASCII_USTRINGPARAM("1,2,3"));
564 [ + - ]: 5 : const rtl::OUString source16(RTL_CONSTASCII_USTRINGPARAM("1.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"));
565 : :
566 [ + - ]: 5 : std::vector<Symbol> symbols;
567 : : sal_Int32 errors;
568 : :
569 [ + - ]: 5 : symbols = getSymbols(source1, errors);
570 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
571 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].number == 12345);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
572 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxINTEGER);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
573 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
574 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(errors == 0);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
575 : :
576 [ + - ]: 5 : symbols = getSymbols(source2, errors);
577 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
578 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].number == 1.23);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
579 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxDOUBLE);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
580 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
581 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(errors == 1);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
582 : :
583 [ + - ]: 5 : symbols = getSymbols(source3, errors);
584 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
585 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].number == 123.4);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
586 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxDOUBLE);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
587 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
588 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(errors == 0);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
589 : :
590 [ + - ]: 5 : symbols = getSymbols(source4, errors);
591 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
592 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].number == .5);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
593 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxDOUBLE);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
594 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
595 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(errors == 0);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
596 : :
597 [ + - ]: 5 : symbols = getSymbols(source5, errors);
598 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
599 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].number == 5);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
600 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxDOUBLE);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
601 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
602 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(errors == 0);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
603 : :
604 [ + - ]: 5 : symbols = getSymbols(source6, errors);
605 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
606 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].number == 0);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
607 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxDOUBLE);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
608 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
609 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(errors == 0);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
610 : :
611 [ + - ]: 5 : symbols = getSymbols(source7, errors);
612 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 3);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
613 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("-")));
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ]
614 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].number == 3);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
615 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxINTEGER);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
616 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
617 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(errors == 0);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
618 : :
619 [ + - ]: 5 : symbols = getSymbols(source8, errors);
620 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 3);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
621 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("-")));
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ]
622 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].number == 0);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
623 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxDOUBLE);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
624 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
625 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(errors == 0);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
626 : :
627 [ + - ]: 5 : symbols = getSymbols(source9, errors);
628 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
629 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].number == 12000);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
630 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxDOUBLE);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
631 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
632 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(errors == 1);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
633 : :
634 [ + - ]: 5 : symbols = getSymbols(source10, errors);
635 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
636 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].number == 12000);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
637 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxDOUBLE);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
638 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
639 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(errors == 0);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
640 : :
641 [ + - ]: 5 : symbols = getSymbols(source11, errors);
642 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
643 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].number == 12000);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
644 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxDOUBLE);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
645 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
646 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(errors == 0);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
647 : :
648 [ + - ]: 5 : symbols = getSymbols(source12, errors);
649 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 4);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
650 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].number == 12);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
651 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxDOUBLE);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
652 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("+")));
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ]
653 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].number == 3);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
654 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].type == SbxINTEGER);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
655 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[3].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
656 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(errors == 0);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
657 : :
658 [ + - ]: 5 : symbols = getSymbols(source13, errors);
659 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
660 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].number == .012);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
661 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxDOUBLE);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
662 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
663 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(errors == 0);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
664 : :
665 [ + - ]: 5 : symbols = getSymbols(source14, errors);
666 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 3);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
667 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].number == .012);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
668 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxDOUBLE);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
669 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("+")));
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ]
670 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
671 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(errors == 0);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
672 : :
673 [ + - ]: 5 : symbols = getSymbols(source15, errors);
674 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 6);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
675 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].number == 1);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
676 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxINTEGER);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
677 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(",")));
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ]
678 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].number == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
679 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].type == SbxINTEGER);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
680 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[3].text == ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(",")));
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ]
681 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[4].number == 3);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
682 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[4].type == SbxINTEGER);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
683 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[5].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
684 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(errors == 0);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
685 : :
686 [ + - ]: 5 : symbols = getSymbols(source16, errors);
687 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
688 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].number == 1);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
689 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxDOUBLE);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
690 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
691 : : // This error is from a "buffer overflow" which is stupid because
692 : : // the buffer is artificially constrained by the scanner.
693 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(errors == 1); // HACK
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
694 : 5 : }
695 : :
696 : 5 : void ScannerTest::testDataType()
697 : : {
698 [ + - ]: 5 : const rtl::OUString source1(RTL_CONSTASCII_USTRINGPARAM("asdf%"));
699 [ + - ]: 5 : const rtl::OUString source2(RTL_CONSTASCII_USTRINGPARAM("asdf&"));
700 [ + - ]: 5 : const rtl::OUString source3(RTL_CONSTASCII_USTRINGPARAM("asdf!"));
701 [ + - ]: 5 : const rtl::OUString source4(RTL_CONSTASCII_USTRINGPARAM("asdf#"));
702 [ + - ]: 5 : const rtl::OUString source5(RTL_CONSTASCII_USTRINGPARAM("asdf@"));
703 [ + - ]: 5 : const rtl::OUString source6(RTL_CONSTASCII_USTRINGPARAM("asdf$"));
704 [ + - ]: 5 : const rtl::OUString source7(RTL_CONSTASCII_USTRINGPARAM("asdf "));
705 : :
706 [ + - ]: 5 : std::vector<Symbol> symbols;
707 : :
708 [ + - ]: 5 : symbols = getSymbols(source1);
709 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
710 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxINTEGER);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
711 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
712 : :
713 [ + - ]: 5 : symbols = getSymbols(source2);
714 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
715 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxLONG);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
716 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
717 : :
718 [ + - ]: 5 : symbols = getSymbols(source3);
719 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
720 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxSINGLE);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
721 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
722 : :
723 [ + - ]: 5 : symbols = getSymbols(source4);
724 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
725 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxDOUBLE);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
726 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
727 : :
728 [ + - ]: 5 : symbols = getSymbols(source5);
729 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
730 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxCURRENCY);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
731 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
732 : :
733 [ + - ]: 5 : symbols = getSymbols(source6);
734 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
735 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxSTRING);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
736 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
737 : :
738 [ + - ]: 5 : symbols = getSymbols(source7);
739 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
740 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
741 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
742 : 5 : }
743 : :
744 : 5 : void ScannerTest::testHexOctal()
745 : : {
746 [ + - ]: 5 : const rtl::OUString source1(RTL_CONSTASCII_USTRINGPARAM("&HA"));
747 [ + - ]: 5 : const rtl::OUString source2(RTL_CONSTASCII_USTRINGPARAM("&HASDF"));
748 [ + - ]: 5 : const rtl::OUString source3(RTL_CONSTASCII_USTRINGPARAM("&H10"));
749 [ + - ]: 5 : const rtl::OUString source4(RTL_CONSTASCII_USTRINGPARAM("&&H&1H1&H1"));
750 [ + - ]: 5 : const rtl::OUString source5(RTL_CONSTASCII_USTRINGPARAM("&O&O12"));
751 [ + - ]: 5 : const rtl::OUString source6(RTL_CONSTASCII_USTRINGPARAM("&O10"));
752 [ + - ]: 5 : const rtl::OUString source7(RTL_CONSTASCII_USTRINGPARAM("&HO"));
753 [ + - ]: 5 : const rtl::OUString source8(RTL_CONSTASCII_USTRINGPARAM("&O123000000000000000000000"));
754 [ + - ]: 5 : const rtl::OUString source9(RTL_CONSTASCII_USTRINGPARAM("&H1.23"));
755 : :
756 [ + - ]: 5 : std::vector<Symbol> symbols;
757 : :
758 [ + - ]: 5 : symbols = getSymbols(source1);
759 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
760 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].number == 10);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
761 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == rtl::OUString());
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
762 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxINTEGER);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
763 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
764 : :
765 [ + - ]: 5 : symbols = getSymbols(source2);
766 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
767 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].number == 2783);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
768 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == rtl::OUString());
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
769 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type = SbxINTEGER);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
770 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
771 : :
772 [ + - ]: 5 : symbols = getSymbols(source3);
773 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
774 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].number == 16);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
775 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == rtl::OUString());
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
776 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type = SbxINTEGER);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
777 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
778 : :
779 [ + - ]: 5 : symbols = getSymbols(source4);
780 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 6);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
781 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].number == 0);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
782 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("&")));
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ]
783 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
784 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].number == 0);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
785 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == rtl::OUString());
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
786 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxINTEGER);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
787 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].number == 1);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
788 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].text == rtl::OUString());
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
789 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].type == SbxINTEGER);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
790 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[3].number == 1);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
791 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[3].text == rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("H1")));
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ]
792 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[3].type == SbxLONG);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
793 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[4].number == 1);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
794 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[4].text == rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("H1")));
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ]
795 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[4].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
796 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[5].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
797 : :
798 [ + - ]: 5 : symbols = getSymbols(source5);
799 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 3);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
800 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].number == 0);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
801 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == rtl::OUString());
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
802 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxINTEGER);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
803 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].number == 0);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
804 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("O12")));
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ]
805 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxVARIANT);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
806 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
807 : :
808 [ + - ]: 5 : symbols = getSymbols(source6);
809 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
810 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].number == 8);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
811 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == rtl::OUString());
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
812 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxINTEGER);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
813 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
814 : :
815 [ + - ]: 5 : symbols = getSymbols(source7);
816 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
817 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].number == 0);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
818 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == rtl::OUString());
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
819 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
820 : :
821 [ + - ]: 5 : symbols = getSymbols(source8);
822 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 2);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
823 : : // TODO: this line fails on 64 bit systems!!!
824 : : // CPPUNIT_ASSERT(symbols[0].number == -1744830464);
825 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == rtl::OUString());
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
826 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
827 : :
828 [ + - ]: 5 : symbols = getSymbols(source9);
829 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols.size() == 3);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
830 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].text == rtl::OUString());
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
831 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].number == 1);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
832 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[0].type == SbxINTEGER);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
833 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].number == .23);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
834 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].text == rtl::OUString());
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
835 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[1].type == SbxDOUBLE);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
836 [ + - ][ + - ]: 5 : CPPUNIT_ASSERT(symbols[2].text == cr);
[ + - ][ + - ]
[ + - ][ + - ]
[ + - ][ + - ]
837 : 5 : }
838 : :
839 : : // Put the test suite in the registry
840 : 5 : CPPUNIT_TEST_SUITE_REGISTRATION(ScannerTest);
841 : : } // namespace
842 [ + - ][ + - ]: 20 : CPPUNIT_PLUGIN_IMPLEMENT();
[ + - ][ + - ]
[ + - ][ # # ]
843 : :
844 : : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|