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

Side by Side Diff: chrome/renderer/translate_helper_browsertest.cc

Issue 10408089: Update RenderViewTest::LoadHTML documentation, and remove spurious commits. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 7 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "chrome/common/chrome_constants.h" 5 #include "chrome/common/chrome_constants.h"
6 #include "chrome/common/render_messages.h" 6 #include "chrome/common/render_messages.h"
7 #include "chrome/renderer/translate_helper.h" 7 #include "chrome/renderer/translate_helper.h"
8 #include "chrome/test/base/chrome_render_view_test.h" 8 #include "chrome/test/base/chrome_render_view_test.h"
9 #include "content/public/renderer/render_view.h" 9 #include "content/public/renderer/render_view.h"
10 #include "testing/gmock/include/gmock/gmock.h" 10 #include "testing/gmock/include/gmock/gmock.h"
(...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after
304 } 304 }
305 305
306 // Tests that we send the right translatable for a page and that we respect the 306 // Tests that we send the right translatable for a page and that we respect the
307 // "no translate" meta-tag. 307 // "no translate" meta-tag.
308 TEST_F(ChromeRenderViewTest, TranslatablePage) { 308 TEST_F(ChromeRenderViewTest, TranslatablePage) {
309 // Suppress the normal delay that occurs when the page is loaded before which 309 // Suppress the normal delay that occurs when the page is loaded before which
310 // the renderer sends the page contents to the browser. 310 // the renderer sends the page contents to the browser.
311 SendContentStateImmediately(); 311 SendContentStateImmediately();
312 312
313 LoadHTML("<html><body>A random page with random content.</body></html>"); 313 LoadHTML("<html><body>A random page with random content.</body></html>");
314 ProcessPendingMessages();
315 const IPC::Message* message = render_thread_->sink().GetUniqueMessageMatching( 314 const IPC::Message* message = render_thread_->sink().GetUniqueMessageMatching(
316 ChromeViewHostMsg_TranslateLanguageDetermined::ID); 315 ChromeViewHostMsg_TranslateLanguageDetermined::ID);
317 ASSERT_NE(static_cast<IPC::Message*>(NULL), message); 316 ASSERT_NE(static_cast<IPC::Message*>(NULL), message);
318 ChromeViewHostMsg_TranslateLanguageDetermined::Param params; 317 ChromeViewHostMsg_TranslateLanguageDetermined::Param params;
319 ChromeViewHostMsg_TranslateLanguageDetermined::Read(message, &params); 318 ChromeViewHostMsg_TranslateLanguageDetermined::Read(message, &params);
320 EXPECT_TRUE(params.b); // Translatable should be true. 319 EXPECT_TRUE(params.b); // Translatable should be true.
321 render_thread_->sink().ClearMessages(); 320 render_thread_->sink().ClearMessages();
322 321
323 // Now the page specifies the META tag to prevent translation. 322 // Now the page specifies the META tag to prevent translation.
324 LoadHTML("<html><head><meta name=\"google\" value=\"notranslate\"></head>" 323 LoadHTML("<html><head><meta name=\"google\" value=\"notranslate\"></head>"
325 "<body>A random page with random content.</body></html>"); 324 "<body>A random page with random content.</body></html>");
326 ProcessPendingMessages();
327 message = render_thread_->sink().GetUniqueMessageMatching( 325 message = render_thread_->sink().GetUniqueMessageMatching(
328 ChromeViewHostMsg_TranslateLanguageDetermined::ID); 326 ChromeViewHostMsg_TranslateLanguageDetermined::ID);
329 ASSERT_NE(static_cast<IPC::Message*>(NULL), message); 327 ASSERT_NE(static_cast<IPC::Message*>(NULL), message);
330 ChromeViewHostMsg_TranslateLanguageDetermined::Read(message, &params); 328 ChromeViewHostMsg_TranslateLanguageDetermined::Read(message, &params);
331 EXPECT_FALSE(params.b); // Translatable should be false. 329 EXPECT_FALSE(params.b); // Translatable should be false.
332 render_thread_->sink().ClearMessages(); 330 render_thread_->sink().ClearMessages();
333 331
334 // Try the alternate version of the META tag (content instead of value). 332 // Try the alternate version of the META tag (content instead of value).
335 LoadHTML("<html><head><meta name=\"google\" content=\"notranslate\"></head>" 333 LoadHTML("<html><head><meta name=\"google\" content=\"notranslate\"></head>"
336 "<body>A random page with random content.</body></html>"); 334 "<body>A random page with random content.</body></html>");
337 ProcessPendingMessages();
338 message = render_thread_->sink().GetUniqueMessageMatching( 335 message = render_thread_->sink().GetUniqueMessageMatching(
339 ChromeViewHostMsg_TranslateLanguageDetermined::ID); 336 ChromeViewHostMsg_TranslateLanguageDetermined::ID);
340 ASSERT_NE(static_cast<IPC::Message*>(NULL), message); 337 ASSERT_NE(static_cast<IPC::Message*>(NULL), message);
341 ChromeViewHostMsg_TranslateLanguageDetermined::Read(message, &params); 338 ChromeViewHostMsg_TranslateLanguageDetermined::Read(message, &params);
342 EXPECT_FALSE(params.b); // Translatable should be false. 339 EXPECT_FALSE(params.b); // Translatable should be false.
343 } 340 }
344 341
345 // Tests that the language meta tag takes precedence over the CLD when reporting 342 // Tests that the language meta tag takes precedence over the CLD when reporting
346 // the page's language. 343 // the page's language.
347 TEST_F(ChromeRenderViewTest, LanguageMetaTag) { 344 TEST_F(ChromeRenderViewTest, LanguageMetaTag) {
348 // Suppress the normal delay that occurs when the page is loaded before which 345 // Suppress the normal delay that occurs when the page is loaded before which
349 // the renderer sends the page contents to the browser. 346 // the renderer sends the page contents to the browser.
350 SendContentStateImmediately(); 347 SendContentStateImmediately();
351 348
352 LoadHTML("<html><head><meta http-equiv=\"content-language\" content=\"es\">" 349 LoadHTML("<html><head><meta http-equiv=\"content-language\" content=\"es\">"
353 "</head><body>A random page with random content.</body></html>"); 350 "</head><body>A random page with random content.</body></html>");
354 ProcessPendingMessages();
355 const IPC::Message* message = render_thread_->sink().GetUniqueMessageMatching( 351 const IPC::Message* message = render_thread_->sink().GetUniqueMessageMatching(
356 ChromeViewHostMsg_TranslateLanguageDetermined::ID); 352 ChromeViewHostMsg_TranslateLanguageDetermined::ID);
357 ASSERT_NE(static_cast<IPC::Message*>(NULL), message); 353 ASSERT_NE(static_cast<IPC::Message*>(NULL), message);
358 ChromeViewHostMsg_TranslateLanguageDetermined::Param params; 354 ChromeViewHostMsg_TranslateLanguageDetermined::Param params;
359 ChromeViewHostMsg_TranslateLanguageDetermined::Read(message, &params); 355 ChromeViewHostMsg_TranslateLanguageDetermined::Read(message, &params);
360 EXPECT_EQ("es", params.a); 356 EXPECT_EQ("es", params.a);
361 render_thread_->sink().ClearMessages(); 357 render_thread_->sink().ClearMessages();
362 358
363 // Makes sure we support multiple languages specified. 359 // Makes sure we support multiple languages specified.
364 LoadHTML("<html><head><meta http-equiv=\"content-language\" " 360 LoadHTML("<html><head><meta http-equiv=\"content-language\" "
365 "content=\" fr , es,en \">" 361 "content=\" fr , es,en \">"
366 "</head><body>A random page with random content.</body></html>"); 362 "</head><body>A random page with random content.</body></html>");
367 ProcessPendingMessages();
368 message = render_thread_->sink().GetUniqueMessageMatching( 363 message = render_thread_->sink().GetUniqueMessageMatching(
369 ChromeViewHostMsg_TranslateLanguageDetermined::ID); 364 ChromeViewHostMsg_TranslateLanguageDetermined::ID);
370 ASSERT_NE(static_cast<IPC::Message*>(NULL), message); 365 ASSERT_NE(static_cast<IPC::Message*>(NULL), message);
371 ChromeViewHostMsg_TranslateLanguageDetermined::Read(message, &params); 366 ChromeViewHostMsg_TranslateLanguageDetermined::Read(message, &params);
372 EXPECT_EQ("fr", params.a); 367 EXPECT_EQ("fr", params.a);
373 } 368 }
374 369
375 // Tests that a back navigation gets a translatable. 370 // Tests that a back navigation gets a translatable.
376 TEST_F(ChromeRenderViewTest, BackToTranslatablePage) { 371 TEST_F(ChromeRenderViewTest, BackToTranslatablePage) {
377 SendContentStateImmediately(); 372 SendContentStateImmediately();
378 LoadHTML("<html><head><meta http-equiv=\"content-language\" content=\"zh\">" 373 LoadHTML("<html><head><meta http-equiv=\"content-language\" content=\"zh\">"
379 "</head><body>This page is in Chinese.</body></html>"); 374 "</head><body>This page is in Chinese.</body></html>");
380 ProcessPendingMessages();
381 const IPC::Message* message = render_thread_->sink().GetUniqueMessageMatching( 375 const IPC::Message* message = render_thread_->sink().GetUniqueMessageMatching(
382 ChromeViewHostMsg_TranslateLanguageDetermined::ID); 376 ChromeViewHostMsg_TranslateLanguageDetermined::ID);
383 ASSERT_NE(static_cast<IPC::Message*>(NULL), message); 377 ASSERT_NE(static_cast<IPC::Message*>(NULL), message);
384 ChromeViewHostMsg_TranslateLanguageDetermined::Param params; 378 ChromeViewHostMsg_TranslateLanguageDetermined::Param params;
385 ChromeViewHostMsg_TranslateLanguageDetermined::Read(message, &params); 379 ChromeViewHostMsg_TranslateLanguageDetermined::Read(message, &params);
386 EXPECT_EQ("zh", params.a); 380 EXPECT_EQ("zh", params.a);
387 render_thread_->sink().ClearMessages(); 381 render_thread_->sink().ClearMessages();
388 382
389 LoadHTML("<html><head><meta http-equiv=\"content-language\" content=\"fr\">" 383 LoadHTML("<html><head><meta http-equiv=\"content-language\" content=\"fr\">"
390 "</head><body>This page is in French.</body></html>"); 384 "</head><body>This page is in French.</body></html>");
391 ProcessPendingMessages();
392 message = render_thread_->sink().GetUniqueMessageMatching( 385 message = render_thread_->sink().GetUniqueMessageMatching(
393 ChromeViewHostMsg_TranslateLanguageDetermined::ID); 386 ChromeViewHostMsg_TranslateLanguageDetermined::ID);
394 ASSERT_NE(static_cast<IPC::Message*>(NULL), message); 387 ASSERT_NE(static_cast<IPC::Message*>(NULL), message);
395 ChromeViewHostMsg_TranslateLanguageDetermined::Read(message, &params); 388 ChromeViewHostMsg_TranslateLanguageDetermined::Read(message, &params);
396 EXPECT_EQ("fr", params.a); 389 EXPECT_EQ("fr", params.a);
397 render_thread_->sink().ClearMessages(); 390 render_thread_->sink().ClearMessages();
398 391
399 GoBack(GetMainFrame()->previousHistoryItem()); 392 GoBack(GetMainFrame()->previousHistoryItem());
400 393
401 message = render_thread_->sink().GetUniqueMessageMatching( 394 message = render_thread_->sink().GetUniqueMessageMatching(
402 ChromeViewHostMsg_TranslateLanguageDetermined::ID); 395 ChromeViewHostMsg_TranslateLanguageDetermined::ID);
403 ASSERT_NE(static_cast<IPC::Message*>(NULL), message); 396 ASSERT_NE(static_cast<IPC::Message*>(NULL), message);
404 ChromeViewHostMsg_TranslateLanguageDetermined::Read(message, &params); 397 ChromeViewHostMsg_TranslateLanguageDetermined::Read(message, &params);
405 EXPECT_EQ("zh", params.a); 398 EXPECT_EQ("zh", params.a);
406 render_thread_->sink().ClearMessages(); 399 render_thread_->sink().ClearMessages();
407 } 400 }
408 401
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698