| Index: chrome/renderer/resources/extension_apitest.js
|
| diff --git a/chrome/renderer/resources/extension_apitest.js b/chrome/renderer/resources/extension_apitest.js
|
| index 4b6f939586916aa5182f75c38b87e7f423533bfe..4785fcd3dc052338f5f218b49b2c12ac1e5bd2fa 100644
|
| --- a/chrome/renderer/resources/extension_apitest.js
|
| +++ b/chrome/renderer/resources/extension_apitest.js
|
| @@ -122,7 +122,41 @@ var chrome = chrome || {};
|
| }
|
| };
|
|
|
| + function checkDeepEq(expected, actual) {
|
| + for (var p in expected) {
|
| + var eq = true;
|
| + switch (typeof(expected[p])) {
|
| + case 'object':
|
| + eq = checkDeepEq(expected[p], actual[p]);
|
| + break;
|
| + case 'function':
|
| + eq = (typeof(actual[p]) != 'undefined' &&
|
| + expected[p].toString() == actual[p].toString());
|
| + break;
|
| + default:
|
| + eq = (expected[p] == actual[p] &&
|
| + typeof(expected[p]) == typeof(actual[p]));
|
| + break;
|
| + }
|
| + if (!eq)
|
| + return false;
|
| + }
|
| + for (var p in actual) {
|
| + if (typeof(expected[p]) == 'undefined')
|
| + return false;
|
| + }
|
| + return true;
|
| + }
|
| +
|
| chrome.test.assertEq = function(expected, actual) {
|
| + if (typeof(expected) == 'object') {
|
| + if (!checkDeepEq(expected, actual)) {
|
| + chrome.test.fail("API Test Error in " + testName(currentTest) +
|
| + "\nActual: " + JSON.stringify(actual) +
|
| + "\nExpected: " + JSON.stringify(expected));
|
| + }
|
| + return;
|
| + }
|
| if (expected != actual) {
|
| chrome.test.fail("API Test Error in " + testName(currentTest) +
|
| "\nActual: " + actual + "\nExpected: " + expected);
|
|
|