OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium 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 "base/strings/stringprintf.h" | 5 #include "base/strings/stringprintf.h" |
6 #include "base/strings/utf_string_conversions.h" | 6 #include "base/strings/utf_string_conversions.h" |
7 #include "chrome/test/base/chrome_render_view_test.h" | 7 #include "chrome/test/base/chrome_render_view_test.h" |
8 #include "components/translate/core/common/translate_errors.h" | 8 #include "components/translate/core/common/translate_errors.h" |
9 #include "grit/component_resources.h" | 9 #include "grit/component_resources.h" |
10 #include "third_party/WebKit/public/web/WebLocalFrame.h" | 10 #include "third_party/WebKit/public/web/WebLocalFrame.h" |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
137 } | 137 } |
138 | 138 |
139 DISALLOW_COPY_AND_ASSIGN(TranslateScriptBrowserTest); | 139 DISALLOW_COPY_AND_ASSIGN(TranslateScriptBrowserTest); |
140 }; | 140 }; |
141 | 141 |
142 // Test if onTranslateElementLoad() succeeds to initialize the element library. | 142 // Test if onTranslateElementLoad() succeeds to initialize the element library. |
143 TEST_F(TranslateScriptBrowserTest, ElementLoadSuccess) { | 143 TEST_F(TranslateScriptBrowserTest, ElementLoadSuccess) { |
144 InjectElementLibrary(); | 144 InjectElementLibrary(); |
145 EXPECT_TRUE(IsLibReady()); | 145 EXPECT_TRUE(IsLibReady()); |
146 EXPECT_FALSE(GetError()); | 146 EXPECT_FALSE(GetError()); |
147 EXPECT_EQ(TranslateErrors::NONE, GetErrorCode()); | 147 EXPECT_EQ(translate::TranslateErrors::NONE, GetErrorCode()); |
148 } | 148 } |
149 | 149 |
150 // Test if onTranslateElementLoad() fails to initialize the element library and | 150 // Test if onTranslateElementLoad() fails to initialize the element library and |
151 // report the right error code. | 151 // report the right error code. |
152 TEST_F(TranslateScriptBrowserTest, ElementLoadFailure) { | 152 TEST_F(TranslateScriptBrowserTest, ElementLoadFailure) { |
153 ExecuteScript(kThrowInitializationError); | 153 ExecuteScript(kThrowInitializationError); |
154 | 154 |
155 InjectElementLibrary(); | 155 InjectElementLibrary(); |
156 EXPECT_FALSE(IsLibReady()); | 156 EXPECT_FALSE(IsLibReady()); |
157 EXPECT_TRUE(GetError()); | 157 EXPECT_TRUE(GetError()); |
158 EXPECT_EQ(TranslateErrors::INITIALIZATION_ERROR, GetErrorCode()); | 158 EXPECT_EQ(translate::TranslateErrors::INITIALIZATION_ERROR, GetErrorCode()); |
159 } | 159 } |
160 | 160 |
161 // Test if cr.googleTranslate.translate() works. | 161 // Test if cr.googleTranslate.translate() works. |
162 TEST_F(TranslateScriptBrowserTest, TranslateSuccess) { | 162 TEST_F(TranslateScriptBrowserTest, TranslateSuccess) { |
163 InjectElementLibrary(); | 163 InjectElementLibrary(); |
164 EXPECT_TRUE(IsLibReady()); | 164 EXPECT_TRUE(IsLibReady()); |
165 EXPECT_FALSE(GetError()); | 165 EXPECT_FALSE(GetError()); |
166 EXPECT_EQ(TranslateErrors::NONE, GetErrorCode()); | 166 EXPECT_EQ(translate::TranslateErrors::NONE, GetErrorCode()); |
167 | 167 |
168 ExecuteScript(kTranslate); | 168 ExecuteScript(kTranslate); |
169 | 169 |
170 EXPECT_FALSE(GetError()); | 170 EXPECT_FALSE(GetError()); |
171 EXPECT_EQ(TranslateErrors::NONE, GetErrorCode()); | 171 EXPECT_EQ(translate::TranslateErrors::NONE, GetErrorCode()); |
172 } | 172 } |
173 | 173 |
174 // Test if cr.googleTranslate.translate() handles library exception correctly. | 174 // Test if cr.googleTranslate.translate() handles library exception correctly. |
175 TEST_F(TranslateScriptBrowserTest, TranslateFail) { | 175 TEST_F(TranslateScriptBrowserTest, TranslateFail) { |
176 ExecuteScript(kThrowUnexpectedScriptError); | 176 ExecuteScript(kThrowUnexpectedScriptError); |
177 | 177 |
178 InjectElementLibrary(); | 178 InjectElementLibrary(); |
179 EXPECT_TRUE(IsLibReady()); | 179 EXPECT_TRUE(IsLibReady()); |
180 EXPECT_FALSE(GetError()); | 180 EXPECT_FALSE(GetError()); |
181 EXPECT_EQ(TranslateErrors::NONE, GetErrorCode()); | 181 EXPECT_EQ(translate::TranslateErrors::NONE, GetErrorCode()); |
182 | 182 |
183 ExecuteScript(kTranslate); | 183 ExecuteScript(kTranslate); |
184 | 184 |
185 EXPECT_TRUE(GetError()); | 185 EXPECT_TRUE(GetError()); |
186 EXPECT_EQ(TranslateErrors::UNEXPECTED_SCRIPT_ERROR, GetErrorCode()); | 186 EXPECT_EQ(translate::TranslateErrors::UNEXPECTED_SCRIPT_ERROR, |
| 187 GetErrorCode()); |
187 } | 188 } |
188 | 189 |
189 // Test if onTranslateProgress callback handles boolean type error correctly. | 190 // Test if onTranslateProgress callback handles boolean type error correctly. |
190 // Remove this test once server side changes the API to return a number. | 191 // Remove this test once server side changes the API to return a number. |
191 TEST_F(TranslateScriptBrowserTest, CallbackGetBooleanError) { | 192 TEST_F(TranslateScriptBrowserTest, CallbackGetBooleanError) { |
192 ExecuteScript(kCallbackReturnBooleanError); | 193 ExecuteScript(kCallbackReturnBooleanError); |
193 | 194 |
194 InjectElementLibrary(); | 195 InjectElementLibrary(); |
195 EXPECT_TRUE(IsLibReady()); | 196 EXPECT_TRUE(IsLibReady()); |
196 EXPECT_FALSE(GetError()); | 197 EXPECT_FALSE(GetError()); |
197 EXPECT_EQ(TranslateErrors::NONE, GetErrorCode()); | 198 EXPECT_EQ(translate::TranslateErrors::NONE, GetErrorCode()); |
198 | 199 |
199 ExecuteScript(kTranslate); | 200 ExecuteScript(kTranslate); |
200 | 201 |
201 EXPECT_TRUE(GetError()); | 202 EXPECT_TRUE(GetError()); |
202 EXPECT_EQ(TranslateErrors::TRANSLATION_ERROR, GetErrorCode()); | 203 EXPECT_EQ(translate::TranslateErrors::TRANSLATION_ERROR, GetErrorCode()); |
203 } | 204 } |
204 | 205 |
205 // Test if onTranslateProgress callback handles number type error correctly and | 206 // Test if onTranslateProgress callback handles number type error correctly and |
206 // converts it to the proper error code. | 207 // converts it to the proper error code. |
207 TEST_F(TranslateScriptBrowserTest, CallbackGetNumberError1) { | 208 TEST_F(TranslateScriptBrowserTest, CallbackGetNumberError1) { |
208 ExecuteScript(kCallbackReturnNumberError); | 209 ExecuteScript(kCallbackReturnNumberError); |
209 ExecuteScript(GenerateSetCallbackErrorCodeScript(1)); | 210 ExecuteScript(GenerateSetCallbackErrorCodeScript(1)); |
210 | 211 |
211 InjectElementLibrary(); | 212 InjectElementLibrary(); |
212 EXPECT_TRUE(IsLibReady()); | 213 EXPECT_TRUE(IsLibReady()); |
213 EXPECT_FALSE(GetError()); | 214 EXPECT_FALSE(GetError()); |
214 EXPECT_EQ(TranslateErrors::NONE, GetErrorCode()); | 215 EXPECT_EQ(translate::TranslateErrors::NONE, GetErrorCode()); |
215 | 216 |
216 ExecuteScript(kTranslate); | 217 ExecuteScript(kTranslate); |
217 | 218 |
218 EXPECT_TRUE(GetError()); | 219 EXPECT_TRUE(GetError()); |
219 EXPECT_EQ(TranslateErrors::TRANSLATION_ERROR, GetErrorCode()); | 220 EXPECT_EQ(translate::TranslateErrors::TRANSLATION_ERROR, GetErrorCode()); |
220 } | 221 } |
221 | 222 |
222 // Test if onTranslateProgress callback handles number type error correctly and | 223 // Test if onTranslateProgress callback handles number type error correctly and |
223 // converts it to the proper error code. | 224 // converts it to the proper error code. |
224 TEST_F(TranslateScriptBrowserTest, CallbackGetNumberError2) { | 225 TEST_F(TranslateScriptBrowserTest, CallbackGetNumberError2) { |
225 ExecuteScript(kCallbackReturnNumberError); | 226 ExecuteScript(kCallbackReturnNumberError); |
226 ExecuteScript(GenerateSetCallbackErrorCodeScript(2)); | 227 ExecuteScript(GenerateSetCallbackErrorCodeScript(2)); |
227 | 228 |
228 InjectElementLibrary(); | 229 InjectElementLibrary(); |
229 EXPECT_TRUE(IsLibReady()); | 230 EXPECT_TRUE(IsLibReady()); |
230 EXPECT_FALSE(GetError()); | 231 EXPECT_FALSE(GetError()); |
231 EXPECT_EQ(TranslateErrors::NONE, GetErrorCode()); | 232 EXPECT_EQ(translate::TranslateErrors::NONE, GetErrorCode()); |
232 | 233 |
233 ExecuteScript(kTranslate); | 234 ExecuteScript(kTranslate); |
234 | 235 |
235 EXPECT_TRUE(GetError()); | 236 EXPECT_TRUE(GetError()); |
236 EXPECT_EQ(TranslateErrors::UNSUPPORTED_LANGUAGE, GetErrorCode()); | 237 EXPECT_EQ(translate::TranslateErrors::UNSUPPORTED_LANGUAGE, GetErrorCode()); |
237 } | 238 } |
238 | 239 |
239 // TODO(toyoshim): Add test for onLoadJavaScript. | 240 // TODO(toyoshim): Add test for onLoadJavaScript. |
OLD | NEW |