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

Side by Side Diff: extensions/test/data/utils_unittest.js

Issue 1938123002: Ensure that privates are private. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2704
Patch Set: Created 4 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
« no previous file with comments | « extensions/renderer/utils_native_handler.cc ('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 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 var assert = requireNative('assert'); 5 var assert = requireNative('assert');
6 var AssertTrue = assert.AssertTrue; 6 var AssertTrue = assert.AssertTrue;
7 var AssertFalse = assert.AssertFalse; 7 var AssertFalse = assert.AssertFalse;
8 var utils = require('utils'); 8 var utils = require('utils');
9 9
10 function testSuperClass() { 10 function testSuperClass() {
(...skipping 11 matching lines...) Expand all
22 } 22 }
23 23
24 SubClassImpl.prototype = { 24 SubClassImpl.prototype = {
25 __proto__: SuperClassImpl.prototype, 25 __proto__: SuperClassImpl.prototype,
26 attrA: 'aSub', 26 attrA: 'aSub',
27 attrC: 'cSub', 27 attrC: 'cSub',
28 func: function() { return 'overridden'; }, 28 func: function() { return 'overridden'; },
29 subFunc: function() { return 'subFunc'; } 29 subFunc: function() { return 'subFunc'; }
30 }; 30 };
31 31
32 var SuperClass = utils.expose('SuperClass', 32 function SuperClass() {
33 SuperClassImpl, 33 privates(SuperClass).constructPrivate(this, arguments);
34 { functions: ['func', 'superFunc'], 34 }
35 properties: ['attrA', 'attrB'] }); 35 utils.expose(SuperClass, SuperClassImpl, {
36 functions: ['func', 'superFunc'],
37 properties: ['attrA', 'attrB'],
38 });
36 39
37 var SubClass = utils.expose('SubClass', 40 function SubClass() {
38 SubClassImpl, 41 privates(SubClass).constructPrivate(this, arguments);
39 { superclass: SuperClass, 42 }
40 functions: ['subFunc'], 43 utils.expose(SubClass, SubClassImpl, {
41 properties: ['attrC'] }); 44 superclass: SuperClass,
45 functions: ['subFunc'],
46 properties: ['attrC'],
47 });
42 48
43 var supe = new SuperClass(); 49 var supe = new SuperClass();
44 AssertTrue(supe.attrA == 'aSuper'); 50 AssertTrue(supe.attrA == 'aSuper');
45 AssertTrue(supe.attrB == 'bSuper'); 51 AssertTrue(supe.attrB == 'bSuper');
46 AssertFalse('attrC' in supe); 52 AssertFalse('attrC' in supe);
47 AssertTrue(supe.func() == 'func'); 53 AssertTrue(supe.func() == 'func');
48 AssertTrue('superFunc' in supe); 54 AssertTrue('superFunc' in supe);
49 AssertTrue(supe.superFunc() == 'superFunc'); 55 AssertTrue(supe.superFunc() == 'superFunc');
50 AssertFalse('subFunc' in supe); 56 AssertFalse('subFunc' in supe);
51 AssertTrue(supe instanceof SuperClass); 57 AssertTrue(supe instanceof SuperClass);
52 58
53 var sub = new SubClass(); 59 var sub = new SubClass();
54 AssertTrue(sub.attrA == 'aSub'); 60 AssertTrue(sub.attrA == 'aSub');
55 AssertTrue(sub.attrB == 'bSuper'); 61 AssertTrue(sub.attrB == 'bSuper');
56 AssertTrue(sub.attrC == 'cSub'); 62 AssertTrue(sub.attrC == 'cSub');
57 AssertTrue(sub.func() == 'overridden'); 63 AssertTrue(sub.func() == 'overridden');
58 AssertTrue(sub.superFunc() == 'superFunc'); 64 AssertTrue(sub.superFunc() == 'superFunc');
59 AssertTrue('subFunc' in sub); 65 AssertTrue('subFunc' in sub);
60 AssertTrue(sub.subFunc() == 'subFunc'); 66 AssertTrue(sub.subFunc() == 'subFunc');
61 AssertTrue(sub instanceof SuperClass); 67 AssertTrue(sub instanceof SuperClass);
62 AssertTrue(sub instanceof SubClass); 68 AssertTrue(sub instanceof SubClass);
63 69
64 function SubSubClassImpl() {} 70 function SubSubClassImpl() {}
65 SubSubClassImpl.prototype = Object.create(SubClassImpl.prototype); 71 SubSubClassImpl.prototype = Object.create(SubClassImpl.prototype);
66 SubSubClassImpl.prototype.subSubFunc = function() { return 'subsub'; } 72 SubSubClassImpl.prototype.subSubFunc = function() { return 'subsub'; };
67 73
68 var SubSubClass = utils.expose('SubSubClass', 74 function SubSubClass() {
69 SubSubClassImpl, 75 privates(SubSubClass).constructPrivate(this, arguments);
70 { superclass: SubClass, 76 }
71 functions: ['subSubFunc'] }); 77 utils.expose(SubSubClass, SubSubClassImpl, {
78 superclass: SubClass,
79 functions: ['subSubFunc'],
80 });
81
72 var subsub = new SubSubClass(); 82 var subsub = new SubSubClass();
73 AssertTrue(subsub.attrA == 'aSub'); 83 AssertTrue(subsub.attrA == 'aSub');
74 AssertTrue(subsub.attrB == 'bSuper'); 84 AssertTrue(subsub.attrB == 'bSuper');
75 AssertTrue(subsub.attrC == 'cSub'); 85 AssertTrue(subsub.attrC == 'cSub');
76 AssertTrue(subsub.func() == 'overridden'); 86 AssertTrue(subsub.func() == 'overridden');
77 AssertTrue(subsub.superFunc() == 'superFunc'); 87 AssertTrue(subsub.superFunc() == 'superFunc');
78 AssertTrue(subsub.subFunc() == 'subFunc'); 88 AssertTrue(subsub.subFunc() == 'subFunc');
79 AssertTrue(subsub.subSubFunc() == 'subsub'); 89 AssertTrue(subsub.subSubFunc() == 'subsub');
80 AssertTrue(subsub instanceof SuperClass); 90 AssertTrue(subsub instanceof SuperClass);
81 AssertTrue(subsub instanceof SubClass); 91 AssertTrue(subsub instanceof SubClass);
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 }).catch(function(e) { 138 }).catch(function(e) {
129 AssertTrue(e.message == 'error message'); 139 AssertTrue(e.message == 'error message');
130 }); 140 });
131 } 141 }
132 142
133 exports.testSuperClass = testSuperClass; 143 exports.testSuperClass = testSuperClass;
134 exports.testPromiseNoResult = testPromiseNoResult; 144 exports.testPromiseNoResult = testPromiseNoResult;
135 exports.testPromiseOneResult = testPromiseOneResult; 145 exports.testPromiseOneResult = testPromiseOneResult;
136 exports.testPromiseTwoResults = testPromiseTwoResults; 146 exports.testPromiseTwoResults = testPromiseTwoResults;
137 exports.testPromiseError = testPromiseError; 147 exports.testPromiseError = testPromiseError;
OLDNEW
« no previous file with comments | « extensions/renderer/utils_native_handler.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698