forked from mirrors/gecko-dev
		
	 10d1eecb24
			
		
	
	
		10d1eecb24
		
	
	
	
	
		
			
			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;
 | |
|     }
 | |
|   }
 | |
| }
 |