Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(864)

Side by Side Diff: xfa/fde/xml/fde_xml_imp_unittest.cpp

Issue 1856003002: Replace FDE_XMLSYNTAX defines with enum classes. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « xfa/fde/xml/fde_xml_imp.cpp ('k') | xfa/fxfa/parser/xfa_parser_imp.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 PDFium Authors. All rights reserved. 1 // Copyright 2016 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "xfa/fde/xml/fde_xml_imp.h" 5 #include "xfa/fde/xml/fde_xml_imp.h"
6 6
7 #include "xfa/fgas/crt/fgas_stream.h" 7 #include "xfa/fgas/crt/fgas_stream.h"
8 #include "testing/gtest/include/gtest/gtest.h" 8 #include "testing/gtest/include/gtest/gtest.h"
9 9
10 TEST(CFDE_XMLSyntaxParser, CData) { 10 TEST(CFDE_XMLSyntaxParser, CData) {
(...skipping 13 matching lines...) Expand all
24 24
25 // We * sizeof(FX_WCHAR) because we pass in the uint8_t, not the FX_WCHAR. 25 // We * sizeof(FX_WCHAR) because we pass in the uint8_t, not the FX_WCHAR.
26 size_t len = FXSYS_wcslen(input) * sizeof(FX_WCHAR); 26 size_t len = FXSYS_wcslen(input) * sizeof(FX_WCHAR);
27 std::unique_ptr<IFX_Stream> stream(IFX_Stream::CreateStream( 27 std::unique_ptr<IFX_Stream> stream(IFX_Stream::CreateStream(
28 reinterpret_cast<uint8_t*>(const_cast<FX_WCHAR*>(input)), len, 0)); 28 reinterpret_cast<uint8_t*>(const_cast<FX_WCHAR*>(input)), len, 0));
29 CFDE_XMLSyntaxParser parser; 29 CFDE_XMLSyntaxParser parser;
30 parser.Init(stream.get(), 256); 30 parser.Init(stream.get(), 256);
31 31
32 CFX_WideString data; 32 CFX_WideString data;
33 33
34 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_ElementOpen, parser.DoSyntaxParse()); 34 EXPECT_EQ(FDE_XmlSyntaxResult::ElementOpen, parser.DoSyntaxParse());
35 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_TagName, parser.DoSyntaxParse()); 35 EXPECT_EQ(FDE_XmlSyntaxResult::TagName, parser.DoSyntaxParse());
36 parser.GetTagName(data); 36 parser.GetTagName(data);
37 EXPECT_EQ(L"script", data); 37 EXPECT_EQ(L"script", data);
38 38
39 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_AttriName, parser.DoSyntaxParse()); 39 EXPECT_EQ(FDE_XmlSyntaxResult::AttriName, parser.DoSyntaxParse());
40 parser.GetAttributeName(data); 40 parser.GetAttributeName(data);
41 EXPECT_EQ(L"contentType", data); 41 EXPECT_EQ(L"contentType", data);
42 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_AttriValue, parser.DoSyntaxParse()); 42 EXPECT_EQ(FDE_XmlSyntaxResult::AttriValue, parser.DoSyntaxParse());
43 parser.GetAttributeValue(data); 43 parser.GetAttributeValue(data);
44 EXPECT_EQ(L"application/x-javascript", data); 44 EXPECT_EQ(L"application/x-javascript", data);
45 45
46 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_ElementBreak, parser.DoSyntaxParse()); 46 EXPECT_EQ(FDE_XmlSyntaxResult::ElementBreak, parser.DoSyntaxParse());
47 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_Text, parser.DoSyntaxParse()); 47 EXPECT_EQ(FDE_XmlSyntaxResult::Text, parser.DoSyntaxParse());
48 parser.GetTextData(data); 48 parser.GetTextData(data);
49 EXPECT_EQ(L"\n ", data); 49 EXPECT_EQ(L"\n ", data);
50 50
51 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_CData, parser.DoSyntaxParse()); 51 EXPECT_EQ(FDE_XmlSyntaxResult::CData, parser.DoSyntaxParse());
52 parser.GetTextData(data); 52 parser.GetTextData(data);
53 EXPECT_EQ(cdata, data); 53 EXPECT_EQ(cdata, data);
54 54
55 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_Text, parser.DoSyntaxParse()); 55 EXPECT_EQ(FDE_XmlSyntaxResult::Text, parser.DoSyntaxParse());
56 parser.GetTextData(data); 56 parser.GetTextData(data);
57 EXPECT_EQ(L"\n", data); 57 EXPECT_EQ(L"\n", data);
58 58
59 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_ElementClose, parser.DoSyntaxParse()); 59 EXPECT_EQ(FDE_XmlSyntaxResult::ElementClose, parser.DoSyntaxParse());
60 parser.GetTagName(data); 60 parser.GetTagName(data);
61 EXPECT_EQ(L"script", data); 61 EXPECT_EQ(L"script", data);
62 62
63 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_EOS, parser.DoSyntaxParse()); 63 EXPECT_EQ(FDE_XmlSyntaxResult::EndOfString, parser.DoSyntaxParse());
64 } 64 }
65 65
66 TEST(CFDE_XMLSyntaxParser, CDataWithInnerScript) { 66 TEST(CFDE_XMLSyntaxParser, CDataWithInnerScript) {
67 const FX_WCHAR* input = 67 const FX_WCHAR* input =
68 L"<script contentType=\"application/x-javascript\">\n" 68 L"<script contentType=\"application/x-javascript\">\n"
69 L" <![CDATA[\n" 69 L" <![CDATA[\n"
70 L" if (a[1] < 3)\n" 70 L" if (a[1] < 3)\n"
71 L" app.alert(\"Tclams\");\n" 71 L" app.alert(\"Tclams\");\n"
72 L" </script>\n" 72 L" </script>\n"
73 L" ]]>\n" 73 L" ]]>\n"
74 L"</script>"; 74 L"</script>";
75 75
76 const FX_WCHAR* cdata = 76 const FX_WCHAR* cdata =
77 L"\n" 77 L"\n"
78 L" if (a[1] < 3)\n" 78 L" if (a[1] < 3)\n"
79 L" app.alert(\"Tclams\");\n" 79 L" app.alert(\"Tclams\");\n"
80 L" </script>\n" 80 L" </script>\n"
81 L" "; 81 L" ";
82 82
83 // We * sizeof(FX_WCHAR) because we pass in the uint8_t, not the FX_WCHAR. 83 // We * sizeof(FX_WCHAR) because we pass in the uint8_t, not the FX_WCHAR.
84 size_t len = FXSYS_wcslen(input) * sizeof(FX_WCHAR); 84 size_t len = FXSYS_wcslen(input) * sizeof(FX_WCHAR);
85 std::unique_ptr<IFX_Stream> stream(IFX_Stream::CreateStream( 85 std::unique_ptr<IFX_Stream> stream(IFX_Stream::CreateStream(
86 reinterpret_cast<uint8_t*>(const_cast<FX_WCHAR*>(input)), len, 0)); 86 reinterpret_cast<uint8_t*>(const_cast<FX_WCHAR*>(input)), len, 0));
87 CFDE_XMLSyntaxParser parser; 87 CFDE_XMLSyntaxParser parser;
88 parser.Init(stream.get(), 256); 88 parser.Init(stream.get(), 256);
89 89
90 CFX_WideString data; 90 CFX_WideString data;
91 91
92 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_ElementOpen, parser.DoSyntaxParse()); 92 EXPECT_EQ(FDE_XmlSyntaxResult::ElementOpen, parser.DoSyntaxParse());
93 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_TagName, parser.DoSyntaxParse()); 93 EXPECT_EQ(FDE_XmlSyntaxResult::TagName, parser.DoSyntaxParse());
94 parser.GetTagName(data); 94 parser.GetTagName(data);
95 EXPECT_EQ(L"script", data); 95 EXPECT_EQ(L"script", data);
96 96
97 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_AttriName, parser.DoSyntaxParse()); 97 EXPECT_EQ(FDE_XmlSyntaxResult::AttriName, parser.DoSyntaxParse());
98 parser.GetAttributeName(data); 98 parser.GetAttributeName(data);
99 EXPECT_EQ(L"contentType", data); 99 EXPECT_EQ(L"contentType", data);
100 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_AttriValue, parser.DoSyntaxParse()); 100 EXPECT_EQ(FDE_XmlSyntaxResult::AttriValue, parser.DoSyntaxParse());
101 parser.GetAttributeValue(data); 101 parser.GetAttributeValue(data);
102 EXPECT_EQ(L"application/x-javascript", data); 102 EXPECT_EQ(L"application/x-javascript", data);
103 103
104 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_ElementBreak, parser.DoSyntaxParse()); 104 EXPECT_EQ(FDE_XmlSyntaxResult::ElementBreak, parser.DoSyntaxParse());
105 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_Text, parser.DoSyntaxParse()); 105 EXPECT_EQ(FDE_XmlSyntaxResult::Text, parser.DoSyntaxParse());
106 parser.GetTextData(data); 106 parser.GetTextData(data);
107 EXPECT_EQ(L"\n ", data); 107 EXPECT_EQ(L"\n ", data);
108 108
109 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_CData, parser.DoSyntaxParse()); 109 EXPECT_EQ(FDE_XmlSyntaxResult::CData, parser.DoSyntaxParse());
110 parser.GetTextData(data); 110 parser.GetTextData(data);
111 EXPECT_EQ(cdata, data); 111 EXPECT_EQ(cdata, data);
112 112
113 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_Text, parser.DoSyntaxParse()); 113 EXPECT_EQ(FDE_XmlSyntaxResult::Text, parser.DoSyntaxParse());
114 parser.GetTextData(data); 114 parser.GetTextData(data);
115 EXPECT_EQ(L"\n", data); 115 EXPECT_EQ(L"\n", data);
116 116
117 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_ElementClose, parser.DoSyntaxParse()); 117 EXPECT_EQ(FDE_XmlSyntaxResult::ElementClose, parser.DoSyntaxParse());
118 parser.GetTagName(data); 118 parser.GetTagName(data);
119 EXPECT_EQ(L"script", data); 119 EXPECT_EQ(L"script", data);
120 120
121 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_EOS, parser.DoSyntaxParse()); 121 EXPECT_EQ(FDE_XmlSyntaxResult::EndOfString, parser.DoSyntaxParse());
122 } 122 }
123 123
124 TEST(CFDE_XMLSyntaxParser, ArrowBangArrow) { 124 TEST(CFDE_XMLSyntaxParser, ArrowBangArrow) {
125 const FX_WCHAR* input = 125 const FX_WCHAR* input =
126 L"<script contentType=\"application/x-javascript\">\n" 126 L"<script contentType=\"application/x-javascript\">\n"
127 L" <!>\n" 127 L" <!>\n"
128 L"</script>"; 128 L"</script>";
129 129
130 // We * sizeof(FX_WCHAR) because we pass in the uint8_t, not the FX_WCHAR. 130 // We * sizeof(FX_WCHAR) because we pass in the uint8_t, not the FX_WCHAR.
131 size_t len = FXSYS_wcslen(input) * sizeof(FX_WCHAR); 131 size_t len = FXSYS_wcslen(input) * sizeof(FX_WCHAR);
132 std::unique_ptr<IFX_Stream> stream(IFX_Stream::CreateStream( 132 std::unique_ptr<IFX_Stream> stream(IFX_Stream::CreateStream(
133 reinterpret_cast<uint8_t*>(const_cast<FX_WCHAR*>(input)), len, 0)); 133 reinterpret_cast<uint8_t*>(const_cast<FX_WCHAR*>(input)), len, 0));
134 CFDE_XMLSyntaxParser parser; 134 CFDE_XMLSyntaxParser parser;
135 parser.Init(stream.get(), 256); 135 parser.Init(stream.get(), 256);
136 136
137 CFX_WideString data; 137 CFX_WideString data;
138 138
139 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_ElementOpen, parser.DoSyntaxParse()); 139 EXPECT_EQ(FDE_XmlSyntaxResult::ElementOpen, parser.DoSyntaxParse());
140 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_TagName, parser.DoSyntaxParse()); 140 EXPECT_EQ(FDE_XmlSyntaxResult::TagName, parser.DoSyntaxParse());
141 parser.GetTagName(data); 141 parser.GetTagName(data);
142 EXPECT_EQ(L"script", data); 142 EXPECT_EQ(L"script", data);
143 143
144 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_AttriName, parser.DoSyntaxParse()); 144 EXPECT_EQ(FDE_XmlSyntaxResult::AttriName, parser.DoSyntaxParse());
145 parser.GetAttributeName(data); 145 parser.GetAttributeName(data);
146 EXPECT_EQ(L"contentType", data); 146 EXPECT_EQ(L"contentType", data);
147 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_AttriValue, parser.DoSyntaxParse()); 147 EXPECT_EQ(FDE_XmlSyntaxResult::AttriValue, parser.DoSyntaxParse());
148 parser.GetAttributeValue(data); 148 parser.GetAttributeValue(data);
149 EXPECT_EQ(L"application/x-javascript", data); 149 EXPECT_EQ(L"application/x-javascript", data);
150 150
151 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_ElementBreak, parser.DoSyntaxParse()); 151 EXPECT_EQ(FDE_XmlSyntaxResult::ElementBreak, parser.DoSyntaxParse());
152 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_Text, parser.DoSyntaxParse()); 152 EXPECT_EQ(FDE_XmlSyntaxResult::Text, parser.DoSyntaxParse());
153 parser.GetTextData(data); 153 parser.GetTextData(data);
154 EXPECT_EQ(L"\n ", data); 154 EXPECT_EQ(L"\n ", data);
155 155
156 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_Text, parser.DoSyntaxParse()); 156 EXPECT_EQ(FDE_XmlSyntaxResult::Text, parser.DoSyntaxParse());
157 parser.GetTextData(data); 157 parser.GetTextData(data);
158 EXPECT_EQ(L"\n", data); 158 EXPECT_EQ(L"\n", data);
159 159
160 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_ElementClose, parser.DoSyntaxParse()); 160 EXPECT_EQ(FDE_XmlSyntaxResult::ElementClose, parser.DoSyntaxParse());
161 parser.GetTagName(data); 161 parser.GetTagName(data);
162 EXPECT_EQ(L"script", data); 162 EXPECT_EQ(L"script", data);
163 163
164 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_EOS, parser.DoSyntaxParse()); 164 EXPECT_EQ(FDE_XmlSyntaxResult::EndOfString, parser.DoSyntaxParse());
165 } 165 }
166 166
167 TEST(CFDE_XMLSyntaxParser, ArrowBangBracketArrow) { 167 TEST(CFDE_XMLSyntaxParser, ArrowBangBracketArrow) {
168 const FX_WCHAR* input = 168 const FX_WCHAR* input =
169 L"<script contentType=\"application/x-javascript\">\n" 169 L"<script contentType=\"application/x-javascript\">\n"
170 L" <![>\n" 170 L" <![>\n"
171 L"</script>"; 171 L"</script>";
172 172
173 // We * sizeof(FX_WCHAR) because we pass in the uint8_t, not the FX_WCHAR. 173 // We * sizeof(FX_WCHAR) because we pass in the uint8_t, not the FX_WCHAR.
174 size_t len = FXSYS_wcslen(input) * sizeof(FX_WCHAR); 174 size_t len = FXSYS_wcslen(input) * sizeof(FX_WCHAR);
175 std::unique_ptr<IFX_Stream> stream(IFX_Stream::CreateStream( 175 std::unique_ptr<IFX_Stream> stream(IFX_Stream::CreateStream(
176 reinterpret_cast<uint8_t*>(const_cast<FX_WCHAR*>(input)), len, 0)); 176 reinterpret_cast<uint8_t*>(const_cast<FX_WCHAR*>(input)), len, 0));
177 CFDE_XMLSyntaxParser parser; 177 CFDE_XMLSyntaxParser parser;
178 parser.Init(stream.get(), 256); 178 parser.Init(stream.get(), 256);
179 179
180 CFX_WideString data; 180 CFX_WideString data;
181 181
182 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_ElementOpen, parser.DoSyntaxParse()); 182 EXPECT_EQ(FDE_XmlSyntaxResult::ElementOpen, parser.DoSyntaxParse());
183 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_TagName, parser.DoSyntaxParse()); 183 EXPECT_EQ(FDE_XmlSyntaxResult::TagName, parser.DoSyntaxParse());
184 parser.GetTagName(data); 184 parser.GetTagName(data);
185 EXPECT_EQ(L"script", data); 185 EXPECT_EQ(L"script", data);
186 186
187 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_AttriName, parser.DoSyntaxParse()); 187 EXPECT_EQ(FDE_XmlSyntaxResult::AttriName, parser.DoSyntaxParse());
188 parser.GetAttributeName(data); 188 parser.GetAttributeName(data);
189 EXPECT_EQ(L"contentType", data); 189 EXPECT_EQ(L"contentType", data);
190 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_AttriValue, parser.DoSyntaxParse()); 190 EXPECT_EQ(FDE_XmlSyntaxResult::AttriValue, parser.DoSyntaxParse());
191 parser.GetAttributeValue(data); 191 parser.GetAttributeValue(data);
192 EXPECT_EQ(L"application/x-javascript", data); 192 EXPECT_EQ(L"application/x-javascript", data);
193 193
194 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_ElementBreak, parser.DoSyntaxParse()); 194 EXPECT_EQ(FDE_XmlSyntaxResult::ElementBreak, parser.DoSyntaxParse());
195 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_Text, parser.DoSyntaxParse()); 195 EXPECT_EQ(FDE_XmlSyntaxResult::Text, parser.DoSyntaxParse());
196 parser.GetTextData(data); 196 parser.GetTextData(data);
197 EXPECT_EQ(L"\n ", data); 197 EXPECT_EQ(L"\n ", data);
198 198
199 // Parser walks to end of input. 199 // Parser walks to end of input.
200 200
201 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_EOS, parser.DoSyntaxParse()); 201 EXPECT_EQ(FDE_XmlSyntaxResult::EndOfString, parser.DoSyntaxParse());
202 } 202 }
203 203
204 TEST(CFDE_XMLSyntaxParser, IncompleteCData) { 204 TEST(CFDE_XMLSyntaxParser, IncompleteCData) {
205 const FX_WCHAR* input = 205 const FX_WCHAR* input =
206 L"<script contentType=\"application/x-javascript\">\n" 206 L"<script contentType=\"application/x-javascript\">\n"
207 L" <![CDATA>\n" 207 L" <![CDATA>\n"
208 L"</script>"; 208 L"</script>";
209 209
210 // We * sizeof(FX_WCHAR) because we pass in the uint8_t, not the FX_WCHAR. 210 // We * sizeof(FX_WCHAR) because we pass in the uint8_t, not the FX_WCHAR.
211 size_t len = FXSYS_wcslen(input) * sizeof(FX_WCHAR); 211 size_t len = FXSYS_wcslen(input) * sizeof(FX_WCHAR);
212 std::unique_ptr<IFX_Stream> stream(IFX_Stream::CreateStream( 212 std::unique_ptr<IFX_Stream> stream(IFX_Stream::CreateStream(
213 reinterpret_cast<uint8_t*>(const_cast<FX_WCHAR*>(input)), len, 0)); 213 reinterpret_cast<uint8_t*>(const_cast<FX_WCHAR*>(input)), len, 0));
214 CFDE_XMLSyntaxParser parser; 214 CFDE_XMLSyntaxParser parser;
215 parser.Init(stream.get(), 256); 215 parser.Init(stream.get(), 256);
216 216
217 CFX_WideString data; 217 CFX_WideString data;
218 218
219 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_ElementOpen, parser.DoSyntaxParse()); 219 EXPECT_EQ(FDE_XmlSyntaxResult::ElementOpen, parser.DoSyntaxParse());
220 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_TagName, parser.DoSyntaxParse()); 220 EXPECT_EQ(FDE_XmlSyntaxResult::TagName, parser.DoSyntaxParse());
221 parser.GetTagName(data); 221 parser.GetTagName(data);
222 EXPECT_EQ(L"script", data); 222 EXPECT_EQ(L"script", data);
223 223
224 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_AttriName, parser.DoSyntaxParse()); 224 EXPECT_EQ(FDE_XmlSyntaxResult::AttriName, parser.DoSyntaxParse());
225 parser.GetAttributeName(data); 225 parser.GetAttributeName(data);
226 EXPECT_EQ(L"contentType", data); 226 EXPECT_EQ(L"contentType", data);
227 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_AttriValue, parser.DoSyntaxParse()); 227 EXPECT_EQ(FDE_XmlSyntaxResult::AttriValue, parser.DoSyntaxParse());
228 parser.GetAttributeValue(data); 228 parser.GetAttributeValue(data);
229 EXPECT_EQ(L"application/x-javascript", data); 229 EXPECT_EQ(L"application/x-javascript", data);
230 230
231 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_ElementBreak, parser.DoSyntaxParse()); 231 EXPECT_EQ(FDE_XmlSyntaxResult::ElementBreak, parser.DoSyntaxParse());
232 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_Text, parser.DoSyntaxParse()); 232 EXPECT_EQ(FDE_XmlSyntaxResult::Text, parser.DoSyntaxParse());
233 parser.GetTextData(data); 233 parser.GetTextData(data);
234 EXPECT_EQ(L"\n ", data); 234 EXPECT_EQ(L"\n ", data);
235 235
236 // Parser walks to end of input. 236 // Parser walks to end of input.
237 237
238 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_EOS, parser.DoSyntaxParse()); 238 EXPECT_EQ(FDE_XmlSyntaxResult::EndOfString, parser.DoSyntaxParse());
239 } 239 }
240 240
241 TEST(CFDE_XMLSyntaxParser, UnClosedCData) { 241 TEST(CFDE_XMLSyntaxParser, UnClosedCData) {
242 const FX_WCHAR* input = 242 const FX_WCHAR* input =
243 L"<script contentType=\"application/x-javascript\">\n" 243 L"<script contentType=\"application/x-javascript\">\n"
244 L" <![CDATA[\n" 244 L" <![CDATA[\n"
245 L"</script>"; 245 L"</script>";
246 246
247 // We * sizeof(FX_WCHAR) because we pass in the uint8_t, not the FX_WCHAR. 247 // We * sizeof(FX_WCHAR) because we pass in the uint8_t, not the FX_WCHAR.
248 size_t len = FXSYS_wcslen(input) * sizeof(FX_WCHAR); 248 size_t len = FXSYS_wcslen(input) * sizeof(FX_WCHAR);
249 std::unique_ptr<IFX_Stream> stream(IFX_Stream::CreateStream( 249 std::unique_ptr<IFX_Stream> stream(IFX_Stream::CreateStream(
250 reinterpret_cast<uint8_t*>(const_cast<FX_WCHAR*>(input)), len, 0)); 250 reinterpret_cast<uint8_t*>(const_cast<FX_WCHAR*>(input)), len, 0));
251 CFDE_XMLSyntaxParser parser; 251 CFDE_XMLSyntaxParser parser;
252 parser.Init(stream.get(), 256); 252 parser.Init(stream.get(), 256);
253 253
254 CFX_WideString data; 254 CFX_WideString data;
255 255
256 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_ElementOpen, parser.DoSyntaxParse()); 256 EXPECT_EQ(FDE_XmlSyntaxResult::ElementOpen, parser.DoSyntaxParse());
257 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_TagName, parser.DoSyntaxParse()); 257 EXPECT_EQ(FDE_XmlSyntaxResult::TagName, parser.DoSyntaxParse());
258 parser.GetTagName(data); 258 parser.GetTagName(data);
259 EXPECT_EQ(L"script", data); 259 EXPECT_EQ(L"script", data);
260 260
261 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_AttriName, parser.DoSyntaxParse()); 261 EXPECT_EQ(FDE_XmlSyntaxResult::AttriName, parser.DoSyntaxParse());
262 parser.GetAttributeName(data); 262 parser.GetAttributeName(data);
263 EXPECT_EQ(L"contentType", data); 263 EXPECT_EQ(L"contentType", data);
264 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_AttriValue, parser.DoSyntaxParse()); 264 EXPECT_EQ(FDE_XmlSyntaxResult::AttriValue, parser.DoSyntaxParse());
265 parser.GetAttributeValue(data); 265 parser.GetAttributeValue(data);
266 EXPECT_EQ(L"application/x-javascript", data); 266 EXPECT_EQ(L"application/x-javascript", data);
267 267
268 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_ElementBreak, parser.DoSyntaxParse()); 268 EXPECT_EQ(FDE_XmlSyntaxResult::ElementBreak, parser.DoSyntaxParse());
269 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_Text, parser.DoSyntaxParse()); 269 EXPECT_EQ(FDE_XmlSyntaxResult::Text, parser.DoSyntaxParse());
270 parser.GetTextData(data); 270 parser.GetTextData(data);
271 EXPECT_EQ(L"\n ", data); 271 EXPECT_EQ(L"\n ", data);
272 272
273 // Parser walks to end of input. 273 // Parser walks to end of input.
274 274
275 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_EOS, parser.DoSyntaxParse()); 275 EXPECT_EQ(FDE_XmlSyntaxResult::EndOfString, parser.DoSyntaxParse());
276 } 276 }
277 277
278 TEST(CFDE_XMLSyntaxParser, EmptyCData) { 278 TEST(CFDE_XMLSyntaxParser, EmptyCData) {
279 const FX_WCHAR* input = 279 const FX_WCHAR* input =
280 L"<script contentType=\"application/x-javascript\">\n" 280 L"<script contentType=\"application/x-javascript\">\n"
281 L" <![CDATA[]]>\n" 281 L" <![CDATA[]]>\n"
282 L"</script>"; 282 L"</script>";
283 283
284 // We * sizeof(FX_WCHAR) because we pass in the uint8_t, not the FX_WCHAR. 284 // We * sizeof(FX_WCHAR) because we pass in the uint8_t, not the FX_WCHAR.
285 size_t len = FXSYS_wcslen(input) * sizeof(FX_WCHAR); 285 size_t len = FXSYS_wcslen(input) * sizeof(FX_WCHAR);
286 std::unique_ptr<IFX_Stream> stream(IFX_Stream::CreateStream( 286 std::unique_ptr<IFX_Stream> stream(IFX_Stream::CreateStream(
287 reinterpret_cast<uint8_t*>(const_cast<FX_WCHAR*>(input)), len, 0)); 287 reinterpret_cast<uint8_t*>(const_cast<FX_WCHAR*>(input)), len, 0));
288 CFDE_XMLSyntaxParser parser; 288 CFDE_XMLSyntaxParser parser;
289 parser.Init(stream.get(), 256); 289 parser.Init(stream.get(), 256);
290 290
291 CFX_WideString data; 291 CFX_WideString data;
292 292
293 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_ElementOpen, parser.DoSyntaxParse()); 293 EXPECT_EQ(FDE_XmlSyntaxResult::ElementOpen, parser.DoSyntaxParse());
294 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_TagName, parser.DoSyntaxParse()); 294 EXPECT_EQ(FDE_XmlSyntaxResult::TagName, parser.DoSyntaxParse());
295 parser.GetTagName(data); 295 parser.GetTagName(data);
296 EXPECT_EQ(L"script", data); 296 EXPECT_EQ(L"script", data);
297 297
298 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_AttriName, parser.DoSyntaxParse()); 298 EXPECT_EQ(FDE_XmlSyntaxResult::AttriName, parser.DoSyntaxParse());
299 parser.GetAttributeName(data); 299 parser.GetAttributeName(data);
300 EXPECT_EQ(L"contentType", data); 300 EXPECT_EQ(L"contentType", data);
301 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_AttriValue, parser.DoSyntaxParse()); 301 EXPECT_EQ(FDE_XmlSyntaxResult::AttriValue, parser.DoSyntaxParse());
302 parser.GetAttributeValue(data); 302 parser.GetAttributeValue(data);
303 EXPECT_EQ(L"application/x-javascript", data); 303 EXPECT_EQ(L"application/x-javascript", data);
304 304
305 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_ElementBreak, parser.DoSyntaxParse()); 305 EXPECT_EQ(FDE_XmlSyntaxResult::ElementBreak, parser.DoSyntaxParse());
306 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_Text, parser.DoSyntaxParse()); 306 EXPECT_EQ(FDE_XmlSyntaxResult::Text, parser.DoSyntaxParse());
307 parser.GetTextData(data); 307 parser.GetTextData(data);
308 EXPECT_EQ(L"\n ", data); 308 EXPECT_EQ(L"\n ", data);
309 309
310 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_CData, parser.DoSyntaxParse()); 310 EXPECT_EQ(FDE_XmlSyntaxResult::CData, parser.DoSyntaxParse());
311 parser.GetTextData(data); 311 parser.GetTextData(data);
312 EXPECT_EQ(L"", data); 312 EXPECT_EQ(L"", data);
313 313
314 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_Text, parser.DoSyntaxParse()); 314 EXPECT_EQ(FDE_XmlSyntaxResult::Text, parser.DoSyntaxParse());
315 parser.GetTextData(data); 315 parser.GetTextData(data);
316 EXPECT_EQ(L"\n", data); 316 EXPECT_EQ(L"\n", data);
317 317
318 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_ElementClose, parser.DoSyntaxParse()); 318 EXPECT_EQ(FDE_XmlSyntaxResult::ElementClose, parser.DoSyntaxParse());
319 parser.GetTagName(data); 319 parser.GetTagName(data);
320 EXPECT_EQ(L"script", data); 320 EXPECT_EQ(L"script", data);
321 321
322 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_EOS, parser.DoSyntaxParse()); 322 EXPECT_EQ(FDE_XmlSyntaxResult::EndOfString, parser.DoSyntaxParse());
323 } 323 }
324 324
325 TEST(CFDE_XMLSyntaxParser, Comment) { 325 TEST(CFDE_XMLSyntaxParser, Comment) {
326 const FX_WCHAR* input = 326 const FX_WCHAR* input =
327 L"<script contentType=\"application/x-javascript\">\n" 327 L"<script contentType=\"application/x-javascript\">\n"
328 L" <!-- A Comment -->\n" 328 L" <!-- A Comment -->\n"
329 L"</script>"; 329 L"</script>";
330 330
331 // We * sizeof(FX_WCHAR) because we pass in the uint8_t, not the FX_WCHAR. 331 // We * sizeof(FX_WCHAR) because we pass in the uint8_t, not the FX_WCHAR.
332 size_t len = FXSYS_wcslen(input) * sizeof(FX_WCHAR); 332 size_t len = FXSYS_wcslen(input) * sizeof(FX_WCHAR);
333 std::unique_ptr<IFX_Stream> stream(IFX_Stream::CreateStream( 333 std::unique_ptr<IFX_Stream> stream(IFX_Stream::CreateStream(
334 reinterpret_cast<uint8_t*>(const_cast<FX_WCHAR*>(input)), len, 0)); 334 reinterpret_cast<uint8_t*>(const_cast<FX_WCHAR*>(input)), len, 0));
335 CFDE_XMLSyntaxParser parser; 335 CFDE_XMLSyntaxParser parser;
336 parser.Init(stream.get(), 256); 336 parser.Init(stream.get(), 256);
337 337
338 CFX_WideString data; 338 CFX_WideString data;
339 339
340 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_ElementOpen, parser.DoSyntaxParse()); 340 EXPECT_EQ(FDE_XmlSyntaxResult::ElementOpen, parser.DoSyntaxParse());
341 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_TagName, parser.DoSyntaxParse()); 341 EXPECT_EQ(FDE_XmlSyntaxResult::TagName, parser.DoSyntaxParse());
342 parser.GetTagName(data); 342 parser.GetTagName(data);
343 EXPECT_EQ(L"script", data); 343 EXPECT_EQ(L"script", data);
344 344
345 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_AttriName, parser.DoSyntaxParse()); 345 EXPECT_EQ(FDE_XmlSyntaxResult::AttriName, parser.DoSyntaxParse());
346 parser.GetAttributeName(data); 346 parser.GetAttributeName(data);
347 EXPECT_EQ(L"contentType", data); 347 EXPECT_EQ(L"contentType", data);
348 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_AttriValue, parser.DoSyntaxParse()); 348 EXPECT_EQ(FDE_XmlSyntaxResult::AttriValue, parser.DoSyntaxParse());
349 parser.GetAttributeValue(data); 349 parser.GetAttributeValue(data);
350 EXPECT_EQ(L"application/x-javascript", data); 350 EXPECT_EQ(L"application/x-javascript", data);
351 351
352 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_ElementBreak, parser.DoSyntaxParse()); 352 EXPECT_EQ(FDE_XmlSyntaxResult::ElementBreak, parser.DoSyntaxParse());
353 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_Text, parser.DoSyntaxParse()); 353 EXPECT_EQ(FDE_XmlSyntaxResult::Text, parser.DoSyntaxParse());
354 parser.GetTextData(data); 354 parser.GetTextData(data);
355 EXPECT_EQ(L"\n ", data); 355 EXPECT_EQ(L"\n ", data);
356 356
357 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_Text, parser.DoSyntaxParse()); 357 EXPECT_EQ(FDE_XmlSyntaxResult::Text, parser.DoSyntaxParse());
358 parser.GetTextData(data); 358 parser.GetTextData(data);
359 EXPECT_EQ(L"\n", data); 359 EXPECT_EQ(L"\n", data);
360 360
361 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_ElementClose, parser.DoSyntaxParse()); 361 EXPECT_EQ(FDE_XmlSyntaxResult::ElementClose, parser.DoSyntaxParse());
362 parser.GetTagName(data); 362 parser.GetTagName(data);
363 EXPECT_EQ(L"script", data); 363 EXPECT_EQ(L"script", data);
364 364
365 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_EOS, parser.DoSyntaxParse()); 365 EXPECT_EQ(FDE_XmlSyntaxResult::EndOfString, parser.DoSyntaxParse());
366 } 366 }
367 367
368 TEST(CFDE_XMLSyntaxParser, IncorrectCommentStart) { 368 TEST(CFDE_XMLSyntaxParser, IncorrectCommentStart) {
369 const FX_WCHAR* input = 369 const FX_WCHAR* input =
370 L"<script contentType=\"application/x-javascript\">\n" 370 L"<script contentType=\"application/x-javascript\">\n"
371 L" <!- A Comment -->\n" 371 L" <!- A Comment -->\n"
372 L"</script>"; 372 L"</script>";
373 373
374 // We * sizeof(FX_WCHAR) because we pass in the uint8_t, not the FX_WCHAR. 374 // We * sizeof(FX_WCHAR) because we pass in the uint8_t, not the FX_WCHAR.
375 size_t len = FXSYS_wcslen(input) * sizeof(FX_WCHAR); 375 size_t len = FXSYS_wcslen(input) * sizeof(FX_WCHAR);
376 std::unique_ptr<IFX_Stream> stream(IFX_Stream::CreateStream( 376 std::unique_ptr<IFX_Stream> stream(IFX_Stream::CreateStream(
377 reinterpret_cast<uint8_t*>(const_cast<FX_WCHAR*>(input)), len, 0)); 377 reinterpret_cast<uint8_t*>(const_cast<FX_WCHAR*>(input)), len, 0));
378 CFDE_XMLSyntaxParser parser; 378 CFDE_XMLSyntaxParser parser;
379 parser.Init(stream.get(), 256); 379 parser.Init(stream.get(), 256);
380 380
381 CFX_WideString data; 381 CFX_WideString data;
382 382
383 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_ElementOpen, parser.DoSyntaxParse()); 383 EXPECT_EQ(FDE_XmlSyntaxResult::ElementOpen, parser.DoSyntaxParse());
384 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_TagName, parser.DoSyntaxParse()); 384 EXPECT_EQ(FDE_XmlSyntaxResult::TagName, parser.DoSyntaxParse());
385 parser.GetTagName(data); 385 parser.GetTagName(data);
386 EXPECT_EQ(L"script", data); 386 EXPECT_EQ(L"script", data);
387 387
388 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_AttriName, parser.DoSyntaxParse()); 388 EXPECT_EQ(FDE_XmlSyntaxResult::AttriName, parser.DoSyntaxParse());
389 parser.GetAttributeName(data); 389 parser.GetAttributeName(data);
390 EXPECT_EQ(L"contentType", data); 390 EXPECT_EQ(L"contentType", data);
391 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_AttriValue, parser.DoSyntaxParse()); 391 EXPECT_EQ(FDE_XmlSyntaxResult::AttriValue, parser.DoSyntaxParse());
392 parser.GetAttributeValue(data); 392 parser.GetAttributeValue(data);
393 EXPECT_EQ(L"application/x-javascript", data); 393 EXPECT_EQ(L"application/x-javascript", data);
394 394
395 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_ElementBreak, parser.DoSyntaxParse()); 395 EXPECT_EQ(FDE_XmlSyntaxResult::ElementBreak, parser.DoSyntaxParse());
396 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_Text, parser.DoSyntaxParse()); 396 EXPECT_EQ(FDE_XmlSyntaxResult::Text, parser.DoSyntaxParse());
397 parser.GetTextData(data); 397 parser.GetTextData(data);
398 EXPECT_EQ(L"\n ", data); 398 EXPECT_EQ(L"\n ", data);
399 399
400 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_Text, parser.DoSyntaxParse()); 400 EXPECT_EQ(FDE_XmlSyntaxResult::Text, parser.DoSyntaxParse());
401 parser.GetTextData(data); 401 parser.GetTextData(data);
402 EXPECT_EQ(L"\n", data); 402 EXPECT_EQ(L"\n", data);
403 403
404 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_ElementClose, parser.DoSyntaxParse()); 404 EXPECT_EQ(FDE_XmlSyntaxResult::ElementClose, parser.DoSyntaxParse());
405 parser.GetTagName(data); 405 parser.GetTagName(data);
406 EXPECT_EQ(L"script", data); 406 EXPECT_EQ(L"script", data);
407 407
408 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_EOS, parser.DoSyntaxParse()); 408 EXPECT_EQ(FDE_XmlSyntaxResult::EndOfString, parser.DoSyntaxParse());
409 } 409 }
410 410
411 TEST(CFDE_XMLSyntaxParser, CommentEmpty) { 411 TEST(CFDE_XMLSyntaxParser, CommentEmpty) {
412 const FX_WCHAR* input = 412 const FX_WCHAR* input =
413 L"<script contentType=\"application/x-javascript\">\n" 413 L"<script contentType=\"application/x-javascript\">\n"
414 L" <!---->\n" 414 L" <!---->\n"
415 L"</script>"; 415 L"</script>";
416 416
417 // We * sizeof(FX_WCHAR) because we pass in the uint8_t, not the FX_WCHAR. 417 // We * sizeof(FX_WCHAR) because we pass in the uint8_t, not the FX_WCHAR.
418 size_t len = FXSYS_wcslen(input) * sizeof(FX_WCHAR); 418 size_t len = FXSYS_wcslen(input) * sizeof(FX_WCHAR);
419 std::unique_ptr<IFX_Stream> stream(IFX_Stream::CreateStream( 419 std::unique_ptr<IFX_Stream> stream(IFX_Stream::CreateStream(
420 reinterpret_cast<uint8_t*>(const_cast<FX_WCHAR*>(input)), len, 0)); 420 reinterpret_cast<uint8_t*>(const_cast<FX_WCHAR*>(input)), len, 0));
421 CFDE_XMLSyntaxParser parser; 421 CFDE_XMLSyntaxParser parser;
422 parser.Init(stream.get(), 256); 422 parser.Init(stream.get(), 256);
423 423
424 CFX_WideString data; 424 CFX_WideString data;
425 425
426 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_ElementOpen, parser.DoSyntaxParse()); 426 EXPECT_EQ(FDE_XmlSyntaxResult::ElementOpen, parser.DoSyntaxParse());
427 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_TagName, parser.DoSyntaxParse()); 427 EXPECT_EQ(FDE_XmlSyntaxResult::TagName, parser.DoSyntaxParse());
428 parser.GetTagName(data); 428 parser.GetTagName(data);
429 EXPECT_EQ(L"script", data); 429 EXPECT_EQ(L"script", data);
430 430
431 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_AttriName, parser.DoSyntaxParse()); 431 EXPECT_EQ(FDE_XmlSyntaxResult::AttriName, parser.DoSyntaxParse());
432 parser.GetAttributeName(data); 432 parser.GetAttributeName(data);
433 EXPECT_EQ(L"contentType", data); 433 EXPECT_EQ(L"contentType", data);
434 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_AttriValue, parser.DoSyntaxParse()); 434 EXPECT_EQ(FDE_XmlSyntaxResult::AttriValue, parser.DoSyntaxParse());
435 parser.GetAttributeValue(data); 435 parser.GetAttributeValue(data);
436 EXPECT_EQ(L"application/x-javascript", data); 436 EXPECT_EQ(L"application/x-javascript", data);
437 437
438 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_ElementBreak, parser.DoSyntaxParse()); 438 EXPECT_EQ(FDE_XmlSyntaxResult::ElementBreak, parser.DoSyntaxParse());
439 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_Text, parser.DoSyntaxParse()); 439 EXPECT_EQ(FDE_XmlSyntaxResult::Text, parser.DoSyntaxParse());
440 parser.GetTextData(data); 440 parser.GetTextData(data);
441 EXPECT_EQ(L"\n ", data); 441 EXPECT_EQ(L"\n ", data);
442 442
443 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_Text, parser.DoSyntaxParse()); 443 EXPECT_EQ(FDE_XmlSyntaxResult::Text, parser.DoSyntaxParse());
444 parser.GetTextData(data); 444 parser.GetTextData(data);
445 EXPECT_EQ(L"\n", data); 445 EXPECT_EQ(L"\n", data);
446 446
447 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_ElementClose, parser.DoSyntaxParse()); 447 EXPECT_EQ(FDE_XmlSyntaxResult::ElementClose, parser.DoSyntaxParse());
448 parser.GetTagName(data); 448 parser.GetTagName(data);
449 EXPECT_EQ(L"script", data); 449 EXPECT_EQ(L"script", data);
450 450
451 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_EOS, parser.DoSyntaxParse()); 451 EXPECT_EQ(FDE_XmlSyntaxResult::EndOfString, parser.DoSyntaxParse());
452 } 452 }
453 453
454 TEST(CFDE_XMLSyntaxParser, CommentThreeDash) { 454 TEST(CFDE_XMLSyntaxParser, CommentThreeDash) {
455 const FX_WCHAR* input = 455 const FX_WCHAR* input =
456 L"<script contentType=\"application/x-javascript\">\n" 456 L"<script contentType=\"application/x-javascript\">\n"
457 L" <!--->\n" 457 L" <!--->\n"
458 L"</script>"; 458 L"</script>";
459 459
460 // We * sizeof(FX_WCHAR) because we pass in the uint8_t, not the FX_WCHAR. 460 // We * sizeof(FX_WCHAR) because we pass in the uint8_t, not the FX_WCHAR.
461 size_t len = FXSYS_wcslen(input) * sizeof(FX_WCHAR); 461 size_t len = FXSYS_wcslen(input) * sizeof(FX_WCHAR);
462 std::unique_ptr<IFX_Stream> stream(IFX_Stream::CreateStream( 462 std::unique_ptr<IFX_Stream> stream(IFX_Stream::CreateStream(
463 reinterpret_cast<uint8_t*>(const_cast<FX_WCHAR*>(input)), len, 0)); 463 reinterpret_cast<uint8_t*>(const_cast<FX_WCHAR*>(input)), len, 0));
464 CFDE_XMLSyntaxParser parser; 464 CFDE_XMLSyntaxParser parser;
465 parser.Init(stream.get(), 256); 465 parser.Init(stream.get(), 256);
466 466
467 CFX_WideString data; 467 CFX_WideString data;
468 468
469 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_ElementOpen, parser.DoSyntaxParse()); 469 EXPECT_EQ(FDE_XmlSyntaxResult::ElementOpen, parser.DoSyntaxParse());
470 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_TagName, parser.DoSyntaxParse()); 470 EXPECT_EQ(FDE_XmlSyntaxResult::TagName, parser.DoSyntaxParse());
471 parser.GetTagName(data); 471 parser.GetTagName(data);
472 EXPECT_EQ(L"script", data); 472 EXPECT_EQ(L"script", data);
473 473
474 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_AttriName, parser.DoSyntaxParse()); 474 EXPECT_EQ(FDE_XmlSyntaxResult::AttriName, parser.DoSyntaxParse());
475 parser.GetAttributeName(data); 475 parser.GetAttributeName(data);
476 EXPECT_EQ(L"contentType", data); 476 EXPECT_EQ(L"contentType", data);
477 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_AttriValue, parser.DoSyntaxParse()); 477 EXPECT_EQ(FDE_XmlSyntaxResult::AttriValue, parser.DoSyntaxParse());
478 parser.GetAttributeValue(data); 478 parser.GetAttributeValue(data);
479 EXPECT_EQ(L"application/x-javascript", data); 479 EXPECT_EQ(L"application/x-javascript", data);
480 480
481 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_ElementBreak, parser.DoSyntaxParse()); 481 EXPECT_EQ(FDE_XmlSyntaxResult::ElementBreak, parser.DoSyntaxParse());
482 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_Text, parser.DoSyntaxParse()); 482 EXPECT_EQ(FDE_XmlSyntaxResult::Text, parser.DoSyntaxParse());
483 parser.GetTextData(data); 483 parser.GetTextData(data);
484 EXPECT_EQ(L"\n ", data); 484 EXPECT_EQ(L"\n ", data);
485 485
486 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_EOS, parser.DoSyntaxParse()); 486 EXPECT_EQ(FDE_XmlSyntaxResult::EndOfString, parser.DoSyntaxParse());
487 } 487 }
488 488
489 TEST(CFDE_XMLSyntaxParser, CommentTwoDash) { 489 TEST(CFDE_XMLSyntaxParser, CommentTwoDash) {
490 const FX_WCHAR* input = 490 const FX_WCHAR* input =
491 L"<script contentType=\"application/x-javascript\">\n" 491 L"<script contentType=\"application/x-javascript\">\n"
492 L" <!-->\n" 492 L" <!-->\n"
493 L"</script>"; 493 L"</script>";
494 494
495 // We * sizeof(FX_WCHAR) because we pass in the uint8_t, not the FX_WCHAR. 495 // We * sizeof(FX_WCHAR) because we pass in the uint8_t, not the FX_WCHAR.
496 size_t len = FXSYS_wcslen(input) * sizeof(FX_WCHAR); 496 size_t len = FXSYS_wcslen(input) * sizeof(FX_WCHAR);
497 std::unique_ptr<IFX_Stream> stream(IFX_Stream::CreateStream( 497 std::unique_ptr<IFX_Stream> stream(IFX_Stream::CreateStream(
498 reinterpret_cast<uint8_t*>(const_cast<FX_WCHAR*>(input)), len, 0)); 498 reinterpret_cast<uint8_t*>(const_cast<FX_WCHAR*>(input)), len, 0));
499 CFDE_XMLSyntaxParser parser; 499 CFDE_XMLSyntaxParser parser;
500 parser.Init(stream.get(), 256); 500 parser.Init(stream.get(), 256);
501 501
502 CFX_WideString data; 502 CFX_WideString data;
503 503
504 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_ElementOpen, parser.DoSyntaxParse()); 504 EXPECT_EQ(FDE_XmlSyntaxResult::ElementOpen, parser.DoSyntaxParse());
505 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_TagName, parser.DoSyntaxParse()); 505 EXPECT_EQ(FDE_XmlSyntaxResult::TagName, parser.DoSyntaxParse());
506 parser.GetTagName(data); 506 parser.GetTagName(data);
507 EXPECT_EQ(L"script", data); 507 EXPECT_EQ(L"script", data);
508 508
509 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_AttriName, parser.DoSyntaxParse()); 509 EXPECT_EQ(FDE_XmlSyntaxResult::AttriName, parser.DoSyntaxParse());
510 parser.GetAttributeName(data); 510 parser.GetAttributeName(data);
511 EXPECT_EQ(L"contentType", data); 511 EXPECT_EQ(L"contentType", data);
512 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_AttriValue, parser.DoSyntaxParse()); 512 EXPECT_EQ(FDE_XmlSyntaxResult::AttriValue, parser.DoSyntaxParse());
513 parser.GetAttributeValue(data); 513 parser.GetAttributeValue(data);
514 EXPECT_EQ(L"application/x-javascript", data); 514 EXPECT_EQ(L"application/x-javascript", data);
515 515
516 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_ElementBreak, parser.DoSyntaxParse()); 516 EXPECT_EQ(FDE_XmlSyntaxResult::ElementBreak, parser.DoSyntaxParse());
517 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_Text, parser.DoSyntaxParse()); 517 EXPECT_EQ(FDE_XmlSyntaxResult::Text, parser.DoSyntaxParse());
518 parser.GetTextData(data); 518 parser.GetTextData(data);
519 EXPECT_EQ(L"\n ", data); 519 EXPECT_EQ(L"\n ", data);
520 520
521 EXPECT_EQ(FDE_XMLSYNTAXSTATUS_EOS, parser.DoSyntaxParse()); 521 EXPECT_EQ(FDE_XmlSyntaxResult::EndOfString, parser.DoSyntaxParse());
522 } 522 }
OLDNEW
« no previous file with comments | « xfa/fde/xml/fde_xml_imp.cpp ('k') | xfa/fxfa/parser/xfa_parser_imp.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698