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

Side by Side Diff: remoting/webapp/unittests/base_unittest.js

Issue 877993002: Implement base.IPC (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Ready for Checkin Created 5 years, 10 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
« no previous file with comments | « remoting/webapp/js_proto/chrome_proto.js ('k') | remoting/webapp/unittests/chrome_mocks.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 (function() { 5 (function() {
6 6
7 'use strict'; 7 'use strict';
8 8
9 module('base'); 9 module('base');
10 10
(...skipping 23 matching lines...) Expand all
34 }); 34 });
35 35
36 test('values(obj) should return an array containing the values of |obj|', 36 test('values(obj) should return an array containing the values of |obj|',
37 function() { 37 function() {
38 var output = base.values({ a: 'a', b: 'b'}); 38 var output = base.values({ a: 'a', b: 'b'});
39 39
40 notEqual(output.indexOf('a'), -1, '"a" should be in the output'); 40 notEqual(output.indexOf('a'), -1, '"a" should be in the output');
41 notEqual(output.indexOf('b'), -1, '"b" should be in the output'); 41 notEqual(output.indexOf('b'), -1, '"b" should be in the output');
42 }); 42 });
43 43
44 test('deepCopy(obj) should return null on NaN and undefined',
45 function() {
46 QUnit.equal(base.deepCopy(NaN), null);
47 QUnit.equal(base.deepCopy(undefined), null);
48 });
49
50 test('deepCopy(obj) should copy primitive types recursively',
51 function() {
52 QUnit.equal(base.deepCopy(1), 1);
53 QUnit.equal(base.deepCopy('hello'), 'hello');
54 QUnit.equal(base.deepCopy(false), false);
55 QUnit.equal(base.deepCopy(null), null);
56 QUnit.deepEqual(base.deepCopy([1, 2]), [1, 2]);
57 QUnit.deepEqual(base.deepCopy({'key': 'value'}), {'key': 'value'});
58 QUnit.deepEqual(base.deepCopy(
59 {'key': {'key_nested': 'value_nested'}}),
60 {'key': {'key_nested': 'value_nested'}}
61 );
62 QUnit.deepEqual(base.deepCopy([1, [2, [3]]]), [1, [2, [3]]]);
63 });
64
65 test('modify the original after deepCopy(obj) should not affect the copy',
66 function() {
67 var original = [1, 2, 3, 4];
68 var copy = base.deepCopy(original);
69 original[2] = 1000;
70 QUnit.deepEqual(copy, [1, 2, 3, 4]);
71 });
72
44 test('dispose(obj) should invoke the dispose method on |obj|', 73 test('dispose(obj) should invoke the dispose method on |obj|',
45 function() { 74 function() {
46 var obj = { 75 var obj = {
47 dispose: sinon.spy() 76 dispose: sinon.spy()
48 }; 77 };
49 base.dispose(obj); 78 base.dispose(obj);
50 sinon.assert.called(obj.dispose); 79 sinon.assert.called(obj.dispose);
51 }); 80 });
52 81
53 test('dispose(obj) should not crash if |obj| is null', 82 test('dispose(obj) should not crash if |obj| is null',
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after
273 /* Ѓ */ 0xD0, 0x83, 302 /* Ѓ */ 0xD0, 0x83,
274 /* ф */ 0xD1, 0x84]).buffer), 303 /* ф */ 0xD1, 0x84]).buffer),
275 "挂Ѓф"); 304 "挂Ѓф");
276 305
277 // Unicode surrogate pair for U+1F603. 306 // Unicode surrogate pair for U+1F603.
278 QUnit.equal(base.decodeUtf8(new Uint8Array([0xF0, 0x9F, 0x98, 0x83]).buffer), 307 QUnit.equal(base.decodeUtf8(new Uint8Array([0xF0, 0x9F, 0x98, 0x83]).buffer),
279 "😃"); 308 "😃");
280 }); 309 });
281 310
282 })(); 311 })();
OLDNEW
« no previous file with comments | « remoting/webapp/js_proto/chrome_proto.js ('k') | remoting/webapp/unittests/chrome_mocks.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698