// Copyright 2014 Cubane Canada, Inc.  All rights reserved.
// See LICENSE for details.

/*---
info: |
    Promise.all with 2-element array
es6id: S25.4.4.1_A8.1_T1
author: Sam Mikes
description: Promise.all() rejects when a promise in its array rejects
flags: [async]
---*/

var rejectP1,
  p1 = new Promise(function(resolve, reject) {
    rejectP1 = reject;
  }),
  p2 = Promise.resolve(2);

Promise.all([p1, p2]).then(function(resolve) {
  $ERROR("Did not expect promise to be fulfilled.");
}, function(rejected) {
  if (rejected !== 1) {
    $ERROR("Expected promise to be rejected with 1, actually " + rejected);
  }
}).then($DONE, $DONE);

rejectP1(1);
