diff options
author | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-14 02:40:53 +0000 |
---|---|---|
committer | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-14 02:40:53 +0000 |
commit | 22f22e700c7f47c077184e26667bc77d4767099a (patch) | |
tree | d2a68a49996104f3f3254ce4b6bf8f3a4ec8ec90 /chrome/renderer/extensions | |
parent | 372d832bd96a6422209e2d9891b89d2699502569 (diff) | |
download | chromium_src-22f22e700c7f47c077184e26667bc77d4767099a.zip chromium_src-22f22e700c7f47c077184e26667bc77d4767099a.tar.gz chromium_src-22f22e700c7f47c077184e26667bc77d4767099a.tar.bz2 |
Revert "Revert "implemented extensions api windows.update().""
This reverts commit 81242e3b9c6e6fbc42ccf5f973b27ed4cf4401d6.
This wasn't the cause of the breakage.
Review URL: http://codereview.chromium.org/115337
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16032 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/extensions')
-rw-r--r-- | chrome/renderer/extensions/extension_api_client_unittest.cc | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/chrome/renderer/extensions/extension_api_client_unittest.cc b/chrome/renderer/extensions/extension_api_client_unittest.cc index 6104bab..9689d95 100644 --- a/chrome/renderer/extensions/extension_api_client_unittest.cc +++ b/chrome/renderer/extensions/extension_api_client_unittest.cc @@ -172,6 +172,89 @@ TEST_F(ExtensionAPIClientTest, GetAllWindows) { "GetAllWindows", "null"); } +TEST_F(ExtensionAPIClientTest, CreateWindow) { + ExpectJsFail("chrome.windows.create({url: 1}, function(){});", + "Uncaught Error: Invalid value for argument 0. Property " + "'url': Expected 'string' but got 'integer'."); + ExpectJsFail("chrome.windows.create({left: 'foo'}, function(){});", + "Uncaught Error: Invalid value for argument 0. Property " + "'left': Expected 'integer' but got 'string'."); + ExpectJsFail("chrome.windows.create({top: 'foo'}, function(){});", + "Uncaught Error: Invalid value for argument 0. Property " + "'top': Expected 'integer' but got 'string'."); + ExpectJsFail("chrome.windows.create({width: 'foo'}, function(){});", + "Uncaught Error: Invalid value for argument 0. Property " + "'width': Expected 'integer' but got 'string'."); + ExpectJsFail("chrome.windows.create({height: 'foo'}, function(){});", + "Uncaught Error: Invalid value for argument 0. Property " + "'height': Expected 'integer' but got 'string'."); + ExpectJsFail("chrome.windows.create({foo: 42}, function(){});", + "Uncaught Error: Invalid value for argument 0. Property " + "'foo': Unexpected property."); + + ExpectJsPass("chrome.windows.create({" + " url:'http://www.google.com/'," + " left:0," + " top: 10," + " width:100," + " height:200" + "})", + "CreateWindow", + "{\"url\":\"http://www.google.com/\"," + "\"left\":0," + "\"top\":10," + "\"width\":100," + "\"height\":200}"); +} + +TEST_F(ExtensionAPIClientTest, UpdateWindow) { + ExpectJsFail("chrome.windows.update(null);", + "Uncaught Error: Parameter 0 is required."); + ExpectJsFail("chrome.windows.update(42, {left: 'foo'});", + "Uncaught Error: Invalid value for argument 1. Property " + "'left': Expected 'integer' but got 'string'."); + ExpectJsFail("chrome.windows.update(42, {top: 'foo'});", + "Uncaught Error: Invalid value for argument 1. Property " + "'top': Expected 'integer' but got 'string'."); + ExpectJsFail("chrome.windows.update(42, {height: false});", + "Uncaught Error: Invalid value for argument 1. Property " + "'height': Expected 'integer' but got 'boolean'."); + ExpectJsFail("chrome.windows.update(42, {width: false});", + "Uncaught Error: Invalid value for argument 1. Property " + "'width': Expected 'integer' but got 'boolean'."); + ExpectJsFail("chrome.windows.update(42, {foo: false});", + "Uncaught Error: Invalid value for argument 1. Property " + "'foo': Unexpected property."); + + ExpectJsPass("chrome.windows.update(42, {" + " width:100," + " height:200" + "})", + "UpdateWindow", + "[42," + "{\"width\":100," + "\"height\":200}]"); +} + +TEST_F(ExtensionAPIClientTest, RemoveWindow) { + ExpectJsFail("chrome.windows.remove(32, function(){}, 20);", + "Uncaught Error: Too many arguments."); + + ExpectJsFail("chrome.windows.remove('abc', function(){});", + "Uncaught Error: Invalid value for argument 0. " + "Expected 'integer' but got 'string'."); + + ExpectJsFail("chrome.windows.remove(1, 1);", + "Uncaught Error: Invalid value for argument 1. " + "Expected 'function' but got 'integer'."); + + ExpectJsPass("chrome.windows.remove(2, function(){})", + "RemoveWindow", "2"); + + ExpectJsPass("chrome.windows.remove(2)", + "RemoveWindow", "2"); +} + // Tab API tests TEST_F(ExtensionAPIClientTest, GetTab) { |