mirror of
				https://github.com/tc39/test262.git
				synced 2025-11-03 21:24:30 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
// Copyright (C) 2019 Leo Balter. All rights reserved.
 | 
						||
// This code is governed by the BSD license found in the LICENSE file.
 | 
						||
 | 
						||
/*---
 | 
						||
esid: sec-performpromiseallsettled
 | 
						||
description: >
 | 
						||
  Indexed setter properties on Array.prototype are not invoked.
 | 
						||
info: |
 | 
						||
  Promise.allSettled ( iterable )
 | 
						||
 | 
						||
  6. Let result be PerformPromiseAllSettled(iteratorRecord, C, promiseCapability).
 | 
						||
  7. If result is an abrupt completion, then
 | 
						||
    a. If iteratorRecord.[[Done]] is false, set result to IteratorClose(iteratorRecord, result).
 | 
						||
    b, IfAbruptRejectPromise(result, promiseCapability).
 | 
						||
 | 
						||
  Runtime Semantics: PerformPromiseAllSettled ( iteratorRecord, constructor, resultCapability )
 | 
						||
 | 
						||
  ...
 | 
						||
  4. Let remainingElementsCount be a new Record { [[value]]: 1 }.
 | 
						||
  ...
 | 
						||
  6.d ...
 | 
						||
    ii. Set remainingElementsCount.[[value]] to remainingElementsCount.[[value]] − 1.
 | 
						||
    iii. If remainingElementsCount.[[value]] is 0,
 | 
						||
      1. Let valuesArray be CreateArrayFromList(values).
 | 
						||
      ...
 | 
						||
  ...
 | 
						||
 | 
						||
  7.3.16 CreateArrayFromList (elements)
 | 
						||
    ...
 | 
						||
    4. For each element e of elements
 | 
						||
      a. Let status be CreateDataProperty(array, ToString(n), e).
 | 
						||
      b. Assert: status is true.
 | 
						||
    ...
 | 
						||
flags: [async]
 | 
						||
features: [Promise.allSettled]
 | 
						||
---*/
 | 
						||
 | 
						||
Object.defineProperty(Array.prototype, 0, {
 | 
						||
  set() {
 | 
						||
    throw new Test262Error('Setter on Array.prototype called');
 | 
						||
  }
 | 
						||
});
 | 
						||
 | 
						||
Promise.allSettled([42]).then(function() {
 | 
						||
  $DONE();
 | 
						||
}, $DONE);
 |