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

Unified Diff: chrome/renderer/translate_helper_browsertest.cc

Issue 6874038: Remove the last Chrome dependencies from renderer, and enforce no more includes through DEPS. I ... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 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 side-by-side diff with in-line comments
Download patch
Index: chrome/renderer/translate_helper_browsertest.cc
===================================================================
--- chrome/renderer/translate_helper_browsertest.cc (revision 81920)
+++ chrome/renderer/translate_helper_browsertest.cc (working copy)
@@ -293,3 +293,72 @@
EXPECT_EQ(new_target_lang, received_target_lang);
EXPECT_EQ(TranslateErrors::NONE, error);
}
+
+// Tests that we send the right translatable for a page and that we respect the
+// "no translate" meta-tag.
+TEST_F(RenderViewTest, TranslatablePage) {
+ // Suppress the normal delay that occurs when the page is loaded before which
+ // the renderer sends the page contents to the browser.
+ view_->set_send_content_state_immediately(true);
+
+ LoadHTML("<html><body>A random page with random content.</body></html>");
+ ProcessPendingMessages();
+ const IPC::Message* message = render_thread_.sink().GetUniqueMessageMatching(
+ ViewHostMsg_TranslateLanguageDetermined::ID);
+ ASSERT_NE(static_cast<IPC::Message*>(NULL), message);
+ ViewHostMsg_TranslateLanguageDetermined::Param params;
+ ViewHostMsg_TranslateLanguageDetermined::Read(message, &params);
+ EXPECT_TRUE(params.b); // Translatable should be true.
+ render_thread_.sink().ClearMessages();
+
+ // Now the page specifies the META tag to prevent translation.
+ LoadHTML("<html><head><meta name=\"google\" value=\"notranslate\"></head>"
+ "<body>A random page with random content.</body></html>");
+ ProcessPendingMessages();
+ message = render_thread_.sink().GetUniqueMessageMatching(
+ ViewHostMsg_TranslateLanguageDetermined::ID);
+ ASSERT_NE(static_cast<IPC::Message*>(NULL), message);
+ ViewHostMsg_TranslateLanguageDetermined::Read(message, &params);
+ EXPECT_FALSE(params.b); // Translatable should be false.
+ render_thread_.sink().ClearMessages();
+
+ // Try the alternate version of the META tag (content instead of value).
+ LoadHTML("<html><head><meta name=\"google\" content=\"notranslate\"></head>"
+ "<body>A random page with random content.</body></html>");
+ ProcessPendingMessages();
+ message = render_thread_.sink().GetUniqueMessageMatching(
+ ViewHostMsg_TranslateLanguageDetermined::ID);
+ ASSERT_NE(static_cast<IPC::Message*>(NULL), message);
+ ViewHostMsg_TranslateLanguageDetermined::Read(message, &params);
+ EXPECT_FALSE(params.b); // Translatable should be false.
+}
+
+// Tests that the language meta tag takes precedence over the CLD when reporting
+// the page's language.
+TEST_F(RenderViewTest, LanguageMetaTag) {
+ // Suppress the normal delay that occurs when the page is loaded before which
+ // the renderer sends the page contents to the browser.
+ view_->set_send_content_state_immediately(true);
+
+ LoadHTML("<html><head><meta http-equiv=\"content-language\" content=\"es\">"
+ "</head><body>A random page with random content.</body></html>");
+ ProcessPendingMessages();
+ const IPC::Message* message = render_thread_.sink().GetUniqueMessageMatching(
+ ViewHostMsg_TranslateLanguageDetermined::ID);
+ ASSERT_NE(static_cast<IPC::Message*>(NULL), message);
+ ViewHostMsg_TranslateLanguageDetermined::Param params;
+ ViewHostMsg_TranslateLanguageDetermined::Read(message, &params);
+ EXPECT_EQ("es", params.a);
+ render_thread_.sink().ClearMessages();
+
+ // Makes sure we support multiple languages specified.
+ LoadHTML("<html><head><meta http-equiv=\"content-language\" "
+ "content=\" fr , es,en \">"
+ "</head><body>A random page with random content.</body></html>");
+ ProcessPendingMessages();
+ message = render_thread_.sink().GetUniqueMessageMatching(
+ ViewHostMsg_TranslateLanguageDetermined::ID);
+ ASSERT_NE(static_cast<IPC::Message*>(NULL), message);
+ ViewHostMsg_TranslateLanguageDetermined::Read(message, &params);
+ EXPECT_EQ("fr", params.a);
+}

Powered by Google App Engine
This is Rietveld 408576698