1// Copyright (c) 2012 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/files/file_path.h"
6#include "base/path_service.h"
7#include "chrome/browser/ui/browser.h"
8#include "chrome/browser/ui/tabs/tab_strip_model.h"
9#include "chrome/common/chrome_paths.h"
10#include "chrome/test/base/in_process_browser_test.h"
11#include "chrome/test/base/ui_test_utils.h"
12#include "content/public/browser/web_contents.h"
13#include "content/public/test/browser_test_utils.h"
14#include "net/base/filename_util.h"
15
16class CalculatorBrowserTest : public InProcessBrowserTest {
17};
18
19IN_PROC_BROWSER_TEST_F(CalculatorBrowserTest, Model) {
20  base::FilePath test_file;
21  PathService::Get(chrome::DIR_TEST_DATA, &test_file);
22  test_file = test_file.DirName().DirName()
23      .AppendASCII("common").AppendASCII("extensions").AppendASCII("docs")
24      .AppendASCII("examples").AppendASCII("apps").AppendASCII("calculator")
25      .AppendASCII("tests").AppendASCII("automatic.html");
26
27  ui_test_utils::NavigateToURL(browser(), net::FilePathToFileURL(test_file));
28
29  bool success;
30  bool executed = content::ExecuteScriptAndExtractBool(
31      browser()->tab_strip_model()->GetActiveWebContents(),
32      "window.domAutomationController.send(window.runTests().success)",
33      &success);
34
35  ASSERT_TRUE(executed);
36  ASSERT_TRUE(success);
37}
38