Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/webaudio/resources/audit.js |
| diff --git a/third_party/WebKit/LayoutTests/webaudio/resources/audit.js b/third_party/WebKit/LayoutTests/webaudio/resources/audit.js |
| index d2946161efbb1f2cd2f707a8d6487db5145ddee8..366f04098cf87ec2ed46347a6ce4d74ab9c82032 100644 |
| --- a/third_party/WebKit/LayoutTests/webaudio/resources/audit.js |
| +++ b/third_party/WebKit/LayoutTests/webaudio/resources/audit.js |
| @@ -964,6 +964,75 @@ window.Audit = (function () { |
| '${actual} ' + passDetail, |
| '${actual} ' + failDetail); |
| } |
| + |
| + /** |
| + * Check if |expected| property is truly owned by |actual| object. |
| + * |
| + * @example |
| + * should(BaseAudioContext.prototype, |
| + * 'BaseAudioContext.prototype').ownProperty('createGain'); |
| + * |
| + * @result |
| + * "PASS BaseAudioContext.prototype has an own property of |
| + * 'createGain'." |
| + */ |
| + ownProperty () { |
| + this._processArguments(arguments); |
| + |
| + return this._assert( |
| + this._actual.hasOwnProperty(this._expected), |
| + '${actual} has an own property of "${expected}".', |
| + '${actual} does not own the property of "${expected}".'); |
| + } |
| + |
| + |
| + /** |
| + * Check if |expected| property is not owned by |actual| object. |
| + * |
| + * @example |
| + * should(BaseAudioContext.prototype, |
| + * 'BaseAudioContext.prototype').notOwnProperty('startRendering'); |
| + * |
| + * @result |
| + * "PASS BaseAudioContext.prototype does not have an own property of |
| + * 'startRendering'." |
| + */ |
| + notOwnProperty () { |
| + this._processArguments(arguments); |
| + |
| + return this._assert( |
| + !this._actual.hasOwnProperty(this._expected), |
| + '${actual} does not have an own own property of "${expected}".', |
|
Raymond Toy
2017/04/07 16:10:58
"own own"?
hongchan
2017/04/07 17:22:17
Oops.
|
| + '${actual} has an own the property of "${expected}".') |
| + } |
| + |
| + |
| + /** |
| + * Check if an object is inherited from a class. This looks up the entire |
| + * prototype chain of a given object and tries to find a match. |
| + * |
| + * @example |
| + * should(sourceNode, 'A buffer source node') |
| + * .inheritFrom('AudioScheduledSourceNode'); |
| + * |
| + * @result |
| + * "PASS A buffer source node inherits from 'AudioScheduledSourceNode'." |
| + */ |
| + inheritFrom () { |
| + this._processArguments(arguments); |
| + |
| + let prototypes = []; |
| + let currentPrototype = Object.getPrototypeOf(this._actual); |
| + while (currentPrototype) { |
| + prototypes.push(currentPrototype.constructor.name); |
| + currentPrototype = Object.getPrototypeOf(currentPrototype); |
| + } |
| + |
| + return this._assert( |
| + prototypes.includes(this._expected), |
| + '${actual} inherits from "${expected}".', |
| + '${actual} does not inherit from "${expected}".'); |
| + } |
| } |