Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(257)

Side by Side Diff: chrome/browser/resources/google_now/utility_unittest.gtestjs

Issue 24109007: Switching to a new format for sending errors (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: AUTO Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/resources/google_now/utility.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 /** 5 /**
6 * Test fixture for utility.js. 6 * Test fixture for utility.js.
7 * @constructor 7 * @constructor
8 * @extends {testing.Test} 8 * @extends {testing.Test}
9 */ 9 */
10 function GoogleNowUtilityUnitTest () { 10 function GoogleNowUtilityUnitTest () {
(...skipping 28 matching lines...) Expand all
39 stack: testStack, 39 stack: testStack,
40 name: 'TEST ERROR NAME', 40 name: 'TEST ERROR NAME',
41 message: 'TEST ERROR MESSAGE' 41 message: 'TEST ERROR MESSAGE'
42 }; 42 };
43 43
44 this.makeAndRegisterMockGlobals(['buildServerRequest']); 44 this.makeAndRegisterMockGlobals(['buildServerRequest']);
45 this.makeMockLocalFunctions(['sendRequest']); 45 this.makeMockLocalFunctions(['sendRequest']);
46 46
47 var mockRequest = {send: this.mockLocalFunctions.functions().sendRequest}; 47 var mockRequest = {send: this.mockLocalFunctions.functions().sendRequest};
48 48
49 var expectedRequestParameters = 'error=TEST%20ERROR%20NAME%3A%20' + 49 var expectedRequestObject = {
50 'TEST%20ERROR%20MESSAGE&' + 50 message: 'TEST ERROR NAME: TEST ERROR MESSAGE',
51 'script=%2F%2Fext_id%2Futility.js&' + 51 file: '//ext_id/utility.js',
52 'line=29&' + 52 line: '29',
53 'trace=Error%3A%20TEST%20ERROR%20MESSAGE%0A%20%20%20%20' + 53 trace: 'Error: TEST ERROR MESSAGE\n ' +
54 'at%20buildErrorWithMessageForServer%20' + 54 'at buildErrorWithMessageForServer (chrome-extension://ext_id/util' +
55 '(chrome-extension%3A%2F%2Fext_id%2Futility.js%3A29%3A15)%0A' + 55 'ity.js:29:15)\n ' +
56 '%20%20%20%20at%20%3Canonymous%3E%3A2%3A16%0A%20%20%20%20' + 56 'at <anonymous>:2:16\n ' +
57 'at%20Object.InjectedScript._evaluateOn%20(%3Canonymous%3E%3A580%3A39)' + 57 'at Object.InjectedScript._evaluateOn (<anonymous>:580:39)\n ' +
58 '%0A%20%20%20%20' + 58 'at Object.InjectedScript._evaluateAndWrap (<anonymous>:539:52)\n' +
59 'at%20Object.InjectedScript._evaluateAndWrap%20(%3Canonymous%3E%3A539' + 59 ' at Object.InjectedScript.evaluate (<anonymous>:458:21)'
60 '%3A52)%0A%20%20%20%20' + 60 };
61 'at%20Object.InjectedScript.evaluate%20(%3Canonymous%3E%3A458%3A21)';
62 61
63 this.mockGlobals.expects(once()). 62 this.mockGlobals.expects(once()).
64 buildServerRequest('jserror', 'application/x-www-form-urlencoded'). 63 buildServerRequest('jserrors', 'application/json').
65 will(returnValue(mockRequest)); 64 will(returnValue(mockRequest));
66 this.mockLocalFunctions.expects(once()).sendRequest( 65 this.mockLocalFunctions.expects(once()).sendRequest(
67 expectedRequestParameters); 66 JSON.stringify(expectedRequestObject));
68 67
69 // Invoking the tested function. 68 // Invoking the tested function.
70 sendErrorReport(testError); 69 sendErrorReport(testError);
71 }); 70 });
72 71
73 TEST_F('GoogleNowUtilityUnitTest', 'SendErrorReport2', function() { 72 TEST_F('GoogleNowUtilityUnitTest', 'SendErrorReport2', function() {
74 // Test sending report for an error with a message that should not be sent to 73 // Test sending report for an error with a message that should not be sent to
75 // server, with an error generated in an anonymous function. 74 // server, with an error generated in an anonymous function.
76 75
77 // Setup and expectations. 76 // Setup and expectations.
78 var testStack = 'TypeError: Property \'processPendingDismissals\' of ' + 77 var testStack = 'TypeError: Property \'processPendingDismissals\' of ' +
79 'object [object Object] is not a function\n ' + 78 'object [object Object] is not a function\n ' +
80 'at chrome-extension://ext_id/background.js:444:11\n ' + 79 'at chrome-extension://ext_id/background.js:444:11\n ' +
81 'at chrome-extension://ext_id/utility.js:509:7'; 80 'at chrome-extension://ext_id/utility.js:509:7';
82 81
83 var testError = { 82 var testError = {
84 stack: testStack, 83 stack: testStack,
85 name: 'TypeError' 84 name: 'TypeError'
86 }; 85 };
87 86
88 this.makeAndRegisterMockGlobals(['buildServerRequest']); 87 this.makeAndRegisterMockGlobals(['buildServerRequest']);
89 this.makeMockLocalFunctions(['sendRequest']); 88 this.makeMockLocalFunctions(['sendRequest']);
90 89
91 var mockRequest = {send: this.mockLocalFunctions.functions().sendRequest}; 90 var mockRequest = {send: this.mockLocalFunctions.functions().sendRequest};
92 91
93 var expectedRequestParameters = 'error=TypeError&' + 92 var expectedRequestObject = {
94 'script=%2F%2Fext_id%2Fbackground.js&' + 93 message: 'TypeError',
95 'line=444&' + 94 file: '//ext_id/background.js',
96 'trace=(message%20removed)%0A%20%20%20%20' + 95 line: '444',
97 'at%20chrome-extension%3A%2F%2Fext_id%2Fbackground.js%3A444%3A11' + 96 trace: '(message removed)\n ' +
98 '%0A%20%20%20%20' + 97 'at chrome-extension://ext_id/background.js:444:11\n ' +
99 'at%20chrome-extension%3A%2F%2Fext_id%2Futility.js%3A509%3A7'; 98 'at chrome-extension://ext_id/utility.js:509:7'
99 };
100 100
101 this.mockGlobals.expects(once()). 101 this.mockGlobals.expects(once()).
102 buildServerRequest('jserror', 'application/x-www-form-urlencoded'). 102 buildServerRequest('jserrors', 'application/json').
103 will(returnValue(mockRequest)); 103 will(returnValue(mockRequest));
104 this.mockLocalFunctions.expects(once()).sendRequest( 104 this.mockLocalFunctions.expects(once()).sendRequest(
105 expectedRequestParameters); 105 JSON.stringify(expectedRequestObject));
106 106
107 // Invoking the tested function. 107 // Invoking the tested function.
108 sendErrorReport(testError); 108 sendErrorReport(testError);
109 }); 109 });
110 110
111 TEST_F('GoogleNowUtilityUnitTest', 'WrapperCheckInWrappedCallback', function() { 111 TEST_F('GoogleNowUtilityUnitTest', 'WrapperCheckInWrappedCallback', function() {
112 // Test generating an error when calling wrapper.checkInWrappedCallback from a 112 // Test generating an error when calling wrapper.checkInWrappedCallback from a
113 // non-instrumented code. 113 // non-instrumented code.
114 114
115 // Setup and expectations. 115 // Setup and expectations.
(...skipping 814 matching lines...) Expand 10 before | Expand all | Expand 10 after
930 var alarmsGetSavedArgs = new SaveMockArguments(); 930 var alarmsGetSavedArgs = new SaveMockArguments();
931 this.mockApis.expects(once()). 931 this.mockApis.expects(once()).
932 instrumented_alarms_get( 932 instrumented_alarms_get(
933 alarmsGetSavedArgs.match(eq(testAttemptAlarmName)), 933 alarmsGetSavedArgs.match(eq(testAttemptAlarmName)),
934 alarmsGetSavedArgs.match(ANYTHING)). 934 alarmsGetSavedArgs.match(ANYTHING)).
935 will(invokeCallback(alarmsGetSavedArgs, 1, {testField: 'TEST VALUE'})); 935 will(invokeCallback(alarmsGetSavedArgs, 1, {testField: 'TEST VALUE'}));
936 this.mockLocalFunctions.expects(once()).attempt(); 936 this.mockLocalFunctions.expects(once()).attempt();
937 // Invocation. 937 // Invocation.
938 onAlarmHandlerContainer[0]({name: testAttemptAlarmName}); 938 onAlarmHandlerContainer[0]({name: testAttemptAlarmName});
939 }); 939 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/google_now/utility.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698