Home | History | Annotate | Download | only in pdf
      1 // Copyright 2014 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "base/strings/utf_string_conversions.h"
      6 #include "chrome/browser/ui/browser.h"
      7 #include "chrome/browser/ui/pdf/pdf_browsertest_base.h"
      8 #include "chrome/browser/ui/tabs/tab_strip_model.h"
      9 #include "chrome/test/base/ui_test_utils.h"
     10 #include "content/public/browser/web_contents.h"
     11 #include "ui/base/clipboard/clipboard.h"
     12 
     13 // Note: All tests in here require the internal PDF plugin, so they're disabled
     14 // in non-official builds. We still compile them though, to prevent bitrot.
     15 //
     16 // These tests are interactive because they access the clipboard.
     17 
     18 namespace {
     19 
     20 const char kSearchKeyword[] = "adipiscing";
     21 
     22 #if defined(GOOGLE_CHROME_BUILD) && (defined(OS_WIN) || defined(OS_LINUX))
     23 #define MAYBE_FindAndCopy FindAndCopy
     24 #else
     25 // TODO(thestig): http://crbug.com/79837, http://crbug.com/329912
     26 #define MAYBE_FindAndCopy DISABLED_FindAndCopy
     27 #endif
     28 IN_PROC_BROWSER_TEST_F(PDFBrowserTest, MAYBE_FindAndCopy) {
     29   ASSERT_NO_FATAL_FAILURE(Load());
     30   // Verifies that find in page works.
     31   ASSERT_EQ(3, ui_test_utils::FindInPage(
     32       browser()->tab_strip_model()->GetActiveWebContents(),
     33       base::ASCIIToUTF16(kSearchKeyword),
     34       true, false, NULL, NULL));
     35 
     36   // Verify that copying selected text works.
     37   ui::Clipboard* clipboard = ui::Clipboard::GetForCurrentThread();
     38   // Reset the clipboard first.
     39   clipboard->Clear(ui::CLIPBOARD_TYPE_COPY_PASTE);
     40 
     41   browser()->tab_strip_model()->GetActiveWebContents()->Copy();
     42   ASSERT_NO_FATAL_FAILURE(WaitForResponse());
     43 
     44   std::string text;
     45   clipboard->ReadAsciiText(ui::CLIPBOARD_TYPE_COPY_PASTE, &text);
     46   EXPECT_EQ(kSearchKeyword, text);
     47 }
     48 
     49 }  // namespace
     50