summaryrefslogtreecommitdiffstats
path: root/chrome/test
diff options
context:
space:
mode:
authorjoaodasilva@chromium.org <joaodasilva@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-13 09:57:21 +0000
committerjoaodasilva@chromium.org <joaodasilva@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-13 09:57:21 +0000
commit9d25f372972dc5ac24028c053e79c42d9df2795d (patch)
treecf1933fb5cb1d4fabe7190d8cc3780e815d1e81f /chrome/test
parentb4bd05478c5e4475d4cc91d05825094f931799e2 (diff)
downloadchromium_src-9d25f372972dc5ac24028c053e79c42d9df2795d.zip
chromium_src-9d25f372972dc5ac24028c053e79c42d9df2795d.tar.gz
chromium_src-9d25f372972dc5ac24028c053e79c42d9df2795d.tar.bz2
Bookmarks extension API checks if editing is allowed.
BUG=49604 TEST=Set the EditBookmarksEnabled preference to false, and extensions won't be able to modify bookmarks. Review URL: http://codereview.chromium.org/6824083 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81389 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test')
-rw-r--r--chrome/test/data/extensions/api_test/bookmark_manager/edit_disabled/manifest.json7
-rw-r--r--chrome/test/data/extensions/api_test/bookmark_manager/edit_disabled/test.html (renamed from chrome/test/data/extensions/api_test/bookmark_manager/test.html)0
-rw-r--r--chrome/test/data/extensions/api_test/bookmark_manager/edit_disabled/test.js76
-rw-r--r--chrome/test/data/extensions/api_test/bookmark_manager/standard/manifest.json (renamed from chrome/test/data/extensions/api_test/bookmark_manager/manifest.json)0
-rw-r--r--chrome/test/data/extensions/api_test/bookmark_manager/standard/test.html1
-rw-r--r--chrome/test/data/extensions/api_test/bookmark_manager/standard/test.js (renamed from chrome/test/data/extensions/api_test/bookmark_manager/test.js)0
6 files changed, 84 insertions, 0 deletions
diff --git a/chrome/test/data/extensions/api_test/bookmark_manager/edit_disabled/manifest.json b/chrome/test/data/extensions/api_test/bookmark_manager/edit_disabled/manifest.json
new file mode 100644
index 0000000..6a60660
--- /dev/null
+++ b/chrome/test/data/extensions/api_test/bookmark_manager/edit_disabled/manifest.json
@@ -0,0 +1,7 @@
+{
+ "name": "chrome.experimental.bookmarkManager (edit disabled)",
+ "version": "0.1",
+ "description": "end-to-end browser test for chrome.experimental.bookmarkManager API with editing disabled",
+ "background_page": "test.html",
+ "permissions": ["bookmarks", "experimental"]
+}
diff --git a/chrome/test/data/extensions/api_test/bookmark_manager/test.html b/chrome/test/data/extensions/api_test/bookmark_manager/edit_disabled/test.html
index 46f4d74..46f4d74 100644
--- a/chrome/test/data/extensions/api_test/bookmark_manager/test.html
+++ b/chrome/test/data/extensions/api_test/bookmark_manager/edit_disabled/test.html
diff --git a/chrome/test/data/extensions/api_test/bookmark_manager/edit_disabled/test.js b/chrome/test/data/extensions/api_test/bookmark_manager/edit_disabled/test.js
new file mode 100644
index 0000000..a016ebd
--- /dev/null
+++ b/chrome/test/data/extensions/api_test/bookmark_manager/edit_disabled/test.js
@@ -0,0 +1,76 @@
+// Bookmark Manager API test for Chrome.
+// browser_tests.exe --gtest_filter=ExtensionApiTest.BookmarkManagerEditDisabled
+
+const pass = chrome.test.callbackPass;
+const fail = chrome.test.callbackFail;
+const assertEq = chrome.test.assertEq;
+const assertTrue = chrome.test.assertTrue;
+const bookmarks = chrome.bookmarks;
+const bookmarkManager = chrome.experimental.bookmarkManager;
+
+var ERROR = "Bookmark editing is disabled.";
+
+// Bookmark model within this test:
+// <root>/
+// Bookmarks Bar/
+// Folder/
+// "BBB"
+// "AAA"
+// Other Bookmarks/
+
+var tests = [
+ function verifyModel() {
+ bookmarks.getTree(pass(function(result) {
+ assertEq(1, result.length);
+ var root = result[0];
+ assertEq(2, root.children.length);
+ bar = root.children[0];
+ assertEq(2, bar.children.length);
+ folder = bar.children[0];
+ aaa = bar.children[1];
+ assertEq('Folder', folder.title);
+ assertEq('AAA', aaa.title);
+ bbb = folder.children[0];
+ assertEq('BBB', bbb.title);
+ }));
+ },
+
+ function createDisabled() {
+ bookmarks.create({ parentId: bar.id, title: 'Folder2' }, fail(ERROR));
+ },
+
+ function moveDisabled() {
+ bookmarks.move(aaa.id, { parentId: folder.id }, fail(ERROR));
+ },
+
+ function removeDisabled() {
+ bookmarks.remove(aaa.id, fail(ERROR));
+ },
+
+ function removeTreeDisabled() {
+ bookmarks.removeTree(folder.id, fail(ERROR));
+ },
+
+ function updateDisabled() {
+ bookmarks.update(aaa.id, { title: 'CCC' }, fail(ERROR));
+ },
+
+ function importDisabled() {
+ bookmarks.import(fail(ERROR));
+ },
+
+ function cutDisabled() {
+ bookmarkManager.cut([bbb.id], fail(ERROR));
+ },
+
+ function canPasteDisabled() {
+ bookmarkManager.canPaste(folder.id, fail(ERROR));
+ },
+
+ function pasteDisabled() {
+ bookmarkManager.paste(folder.id, [bbb.id], fail(ERROR));
+ },
+
+];
+
+chrome.test.runTests(tests);
diff --git a/chrome/test/data/extensions/api_test/bookmark_manager/manifest.json b/chrome/test/data/extensions/api_test/bookmark_manager/standard/manifest.json
index ce4e407..ce4e407 100644
--- a/chrome/test/data/extensions/api_test/bookmark_manager/manifest.json
+++ b/chrome/test/data/extensions/api_test/bookmark_manager/standard/manifest.json
diff --git a/chrome/test/data/extensions/api_test/bookmark_manager/standard/test.html b/chrome/test/data/extensions/api_test/bookmark_manager/standard/test.html
new file mode 100644
index 0000000..46f4d74
--- /dev/null
+++ b/chrome/test/data/extensions/api_test/bookmark_manager/standard/test.html
@@ -0,0 +1 @@
+<script src="test.js"></script>
diff --git a/chrome/test/data/extensions/api_test/bookmark_manager/test.js b/chrome/test/data/extensions/api_test/bookmark_manager/standard/test.js
index e4ec7cd..e4ec7cd 100644
--- a/chrome/test/data/extensions/api_test/bookmark_manager/test.js
+++ b/chrome/test/data/extensions/api_test/bookmark_manager/standard/test.js