mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-11 21:58:41 +02:00
MozReview-Commit-ID: 1C2aqQIpKAJ --HG-- extra : rebase_source : 9455bb9a0a658c4ee9ca40425529c8cc9895234a
24 lines
580 B
JavaScript
24 lines
580 B
JavaScript
// Mocks a getter or a function
|
|
// This is basically sinon.js (our in-tree version doesn't do getters :/) (see bug 1369855)
|
|
function mockReturn(obj, symbol, fixture) {
|
|
let getter = Object.getOwnPropertyDescriptor(obj, symbol).get;
|
|
if (getter) {
|
|
Object.defineProperty(obj, symbol, {
|
|
get() { return fixture; }
|
|
});
|
|
return {
|
|
restore() {
|
|
Object.defineProperty(obj, symbol, {
|
|
get: getter
|
|
});
|
|
}
|
|
}
|
|
}
|
|
let func = obj[symbol];
|
|
obj[symbol] = () => fixture;
|
|
return {
|
|
restore() {
|
|
obj[symbol] = func;
|
|
}
|
|
}
|
|
}
|