bookmark_manager_private_apitest.cc revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
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/command_line.h" 6#include "base/prefs/pref_service.h" 7#include "base/utf_string_conversions.h" 8#include "chrome/browser/bookmarks/bookmark_model.h" 9#include "chrome/browser/bookmarks/bookmark_model_factory.h" 10#include "chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api.h" 11#include "chrome/browser/extensions/extension_apitest.h" 12#include "chrome/browser/profiles/profile.h" 13#include "chrome/browser/ui/browser.h" 14#include "chrome/common/chrome_switches.h" 15#include "chrome/common/pref_names.h" 16#include "chrome/test/base/ui_test_utils.h" 17#include "components/user_prefs/user_prefs.h" 18 19// Times out on win asan, http://crbug.com/166026 20#if defined(OS_WIN) && defined(ADDRESS_SANITIZER) 21#define MAYBE_BookmarkManager DISABLED_BookmarkManager 22#else 23#define MAYBE_BookmarkManager BookmarkManager 24#endif 25IN_PROC_BROWSER_TEST_F(ExtensionApiTest, MAYBE_BookmarkManager) { 26 CommandLine::ForCurrentProcess()->AppendSwitch( 27 switches::kEnableExperimentalExtensionApis); 28 29 ASSERT_TRUE(RunComponentExtensionTest("bookmark_manager/standard")) 30 << message_; 31} 32 33IN_PROC_BROWSER_TEST_F(ExtensionApiTest, BookmarkManagerEditDisabled) { 34 CommandLine::ForCurrentProcess()->AppendSwitch( 35 switches::kEnableExperimentalExtensionApis); 36 37 Profile* profile = browser()->profile(); 38 39 // Provide some testing data here, since bookmark editing will be disabled 40 // within the extension. 41 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile); 42 ui_test_utils::WaitForBookmarkModelToLoad(model); 43 const BookmarkNode* bar = model->bookmark_bar_node(); 44 const BookmarkNode* folder = model->AddFolder(bar, 0, ASCIIToUTF16("Folder")); 45 model->AddURL(bar, 1, ASCIIToUTF16("AAA"), GURL("http://aaa.example.com")); 46 model->AddURL(folder, 0, ASCIIToUTF16("BBB"), GURL("http://bbb.example.com")); 47 48 PrefService* prefs = components::UserPrefs::Get(profile); 49 prefs->SetBoolean(prefs::kEditBookmarksEnabled, false); 50 51 ASSERT_TRUE(RunComponentExtensionTest("bookmark_manager/edit_disabled")) 52 << message_; 53} 54