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

Side by Side Diff: chrome/test/data/extensions/api_test/idltest/binary_data/binary.js

Issue 10161038: Allow serialization of ArrayBuffer params in extension/apps API methods (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fixes for review feedback and browser test failures Created 8 years, 7 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
OLDNEW
(Empty)
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 var assertEq = chrome.test.assertEq;
6 var assertTrue = chrome.test.assertTrue;
7 var callbackPass = chrome.test.callbackPass;
8
9 function makeCompareCallback(buf) {
10 return function(array) {
11 assertEq(buf.byteLength, array.length);
12 for (var i = 0; i < buf.length; i++) {
13 assertEq(buf[i], array[i]);
14 }
15 };
16 }
17
18 function makeBuffer() {
19 var bufferSize = 128;
20 var ab = new ArrayBuffer(bufferSize);
21 var view = new Uint8Array(ab);
22 for (var i = 0; i < bufferSize; i++) {
23 view[i] = i+3;
24 }
25 return view;
26 }
27
28 var tests = [
29 function sendBuffer() {
30 var view = makeBuffer();
31 chrome.experimental.idltest.sendArrayBuffer(
32 view.buffer, callbackPass(makeCompareCallback(view.buffer)));
33 },
34
35 function sendBufferView() {
36 var view = makeBuffer();
37 chrome.experimental.idltest.sendArrayBufferView(
38 view, callbackPass(makeCompareCallback(view.buffer)));
39 },
40
41 function sendBufferSlice() {
42 var view = makeBuffer();
43 var bufferSlice = view.buffer.slice(64);
44 assertEq(64, bufferSlice.byteLength);
45 chrome.experimental.idltest.sendArrayBuffer(
46 bufferSlice, callbackPass(makeCompareCallback(bufferSlice)));
47 },
48
49 function getBuffer() {
50 chrome.experimental.idltest.getArrayBuffer(callbackPass(function(buffer) {
51 assertTrue(buffer.__proto__ == (new ArrayBuffer()).__proto__);
52 var view = new Uint8Array(buffer);
53 var expected = "hello world";
54 assertEq(view.byteLength, expected.length);
55 for (var i = 0; i < view.byteLength; i++) {
56 assertTrue(expected[i] == String.fromCharCode(view[i]));
57 }
58 }));
59 }
60 ];
61
62 chrome.test.runTests(tests);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698