ember-source 2.16.1 → 2.16.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,7 +6,7 @@
6
6
  * Portions Copyright 2008-2011 Apple Inc. All rights reserved.
7
7
  * @license Licensed under MIT license
8
8
  * See https://raw.github.com/emberjs/ember.js/master/LICENSE
9
- * @version 2.16.1
9
+ * @version 2.16.2
10
10
  */
11
11
 
12
12
  var enifed, requireModule, Ember;
@@ -17293,7 +17293,7 @@ enifed('ember/features', ['exports', 'ember-environment', 'ember-utils'], functi
17293
17293
  enifed("ember/version", ["exports"], function (exports) {
17294
17294
  "use strict";
17295
17295
 
17296
- exports.default = "2.16.1";
17296
+ exports.default = "2.16.2";
17297
17297
  });
17298
17298
  enifed("handlebars", ["exports"], function (exports) {
17299
17299
  "use strict";
@@ -6,7 +6,7 @@
6
6
  * Portions Copyright 2008-2011 Apple Inc. All rights reserved.
7
7
  * @license Licensed under MIT license
8
8
  * See https://raw.github.com/emberjs/ember.js/master/LICENSE
9
- * @version 2.16.1
9
+ * @version 2.16.2
10
10
  */
11
11
 
12
12
  var enifed, requireModule, Ember;
@@ -6,7 +6,7 @@
6
6
  * Portions Copyright 2008-2011 Apple Inc. All rights reserved.
7
7
  * @license Licensed under MIT license
8
8
  * See https://raw.github.com/emberjs/ember.js/master/LICENSE
9
- * @version 2.16.1
9
+ * @version 2.16.2
10
10
  */
11
11
 
12
12
  var enifed, requireModule, Ember;
@@ -29980,13 +29980,23 @@ QUnit.test('should pass ESLint', function(assert) {
29980
29980
  assert.ok(true, 'ember-glimmer/tests/integration/helpers/mut-test.js should pass ESLint\n\n');
29981
29981
  });
29982
29982
 
29983
- enifed('ember-glimmer/tests/integration/helpers/partial-test', ['ember-babel', 'ember-glimmer/tests/utils/test-case', 'ember-metal', 'ember-glimmer/tests/utils/abstract-test-case'], function (_emberBabel, _testCase, _emberMetal, _abstractTestCase) {
29983
+ enifed('ember-glimmer/tests/integration/helpers/partial-test', ['ember-babel', 'ember-glimmer/tests/utils/test-case', 'ember-metal', 'ember-runtime', 'ember-glimmer/tests/utils/abstract-test-case'], function (_emberBabel, _testCase, _emberMetal, _emberRuntime, _abstractTestCase) {
29984
29984
  'use strict';
29985
29985
 
29986
- var _templateObject = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#each model.items as |template i|}}\n {{model.type}}: {{partial template}}\n {{/each}}'], ['\n {{#each model.items as |template i|}}\n {{model.type}}: {{partial template}}\n {{/each}}']),
29987
- _templateObject2 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#with item.thing as |t|}}\n {{partial t}}\n {{else}}\n Nothing!\n {{/with}}'], ['\n {{#with item.thing as |t|}}\n {{partial t}}\n {{else}}\n Nothing!\n {{/with}}']),
29988
- _templateObject3 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#outer.inner as |inner|}}\n inner.name: {{inner.name}}\n {{/outer.inner}}\n '], ['\n {{#outer.inner as |inner|}}\n inner.name: {{inner.name}}\n {{/outer.inner}}\n ']),
29989
- _templateObject4 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#outer-component name=name as |outer|}}\n {{partial \'some-partial\'}}\n {{/outer-component}}'], ['\n {{#outer-component name=name as |outer|}}\n {{partial \'some-partial\'}}\n {{/outer-component}}']);
29986
+ var _templateObject = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#each model.items as |item|}}\n {{item}}: {{partial \'show-item\'}} |\n {{/each}}'], ['\n {{#each model.items as |item|}}\n {{item}}: {{partial \'show-item\'}} |\n {{/each}}']),
29987
+ _templateObject2 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#with model as |item|}}\n {{item.name}}: {{partial \'show-id\'}}\n {{/with}}'], ['\n {{#with model as |item|}}\n {{item.name}}: {{partial \'show-id\'}}\n {{/with}}']),
29988
+ _templateObject3 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#each items as |item|}}\n {{item.id}}: {{partial \'show-item\'}} |\n {{/each}}'], ['\n {{#each items as |item|}}\n {{item.id}}: {{partial \'show-item\'}} |\n {{/each}}']),
29989
+ _templateObject4 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#each items as |item|}}\n {{item}}: {{partial \'show-item\'}} |\n {{/each}}'], ['\n {{#each items as |item|}}\n {{item}}: {{partial \'show-item\'}} |\n {{/each}}']),
29990
+ _templateObject5 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n [outer: {{name}}] {{partial \'inner-partial\'}}\n '], ['\n [outer: {{name}}] {{partial \'inner-partial\'}}\n ']),
29991
+ _templateObject6 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#each names as |name i|}}\n {{i}}: {{partial \'outer-partial\'}}\n {{/each}}'], ['\n {{#each names as |name i|}}\n {{i}}: {{partial \'outer-partial\'}}\n {{/each}}']),
29992
+ _templateObject7 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#with \'Ben\' as |person2|}}\n Hi {{person1}} (aged {{age}}) and {{person2}}. {{partial \'person3-partial\'}}\n {{/with}}\n '], ['\n {{#with \'Ben\' as |person2|}}\n Hi {{person1}} (aged {{age}}) and {{person2}}. {{partial \'person3-partial\'}}\n {{/with}}\n ']),
29993
+ _templateObject8 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#with \'Alex\' as |person3|}}\n Hi {{person1}} (aged {{age}}), {{person2}} and {{person3}}. {{partial \'person4-partial\'}}\n {{/with}}\n '], ['\n {{#with \'Alex\' as |person3|}}\n Hi {{person1}} (aged {{age}}), {{person2}} and {{person3}}. {{partial \'person4-partial\'}}\n {{/with}}\n ']),
29994
+ _templateObject9 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#with \'Sarah\' as |person4|}}\n Hi {{person1}} (aged {{age}}), {{person2}}, {{person3}} and {{person4}}.\n {{/with}}\n '], ['\n {{#with \'Sarah\' as |person4|}}\n Hi {{person1}} (aged {{age}}), {{person2}}, {{person3}} and {{person4}}.\n {{/with}}\n ']),
29995
+ _templateObject10 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#with \'Sophie\' as |person1|}}\n Hi {{person1}} (aged {{age}}). {{partial \'person2-partial\'}}\n {{/with}}'], ['\n {{#with \'Sophie\' as |person1|}}\n Hi {{person1}} (aged {{age}}). {{partial \'person2-partial\'}}\n {{/with}}']),
29996
+ _templateObject11 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#each model.items as |template i|}}\n {{model.type}}: {{partial template}}\n {{/each}}'], ['\n {{#each model.items as |template i|}}\n {{model.type}}: {{partial template}}\n {{/each}}']),
29997
+ _templateObject12 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#with item.thing as |t|}}\n {{partial t}}\n {{else}}\n Nothing!\n {{/with}}'], ['\n {{#with item.thing as |t|}}\n {{partial t}}\n {{else}}\n Nothing!\n {{/with}}']),
29998
+ _templateObject13 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#outer.inner as |inner|}}\n inner.name: {{inner.name}}\n {{/outer.inner}}\n '], ['\n {{#outer.inner as |inner|}}\n inner.name: {{inner.name}}\n {{/outer.inner}}\n ']),
29999
+ _templateObject14 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#outer-component name=name as |outer|}}\n {{partial \'some-partial\'}}\n {{/outer-component}}'], ['\n {{#outer-component name=name as |outer|}}\n {{partial \'some-partial\'}}\n {{/outer-component}}']);
29990
30000
 
29991
30001
  (0, _testCase.moduleFor)('Helpers test: {{partial}}', function (_RenderingTest) {
29992
30002
  (0, _emberBabel.inherits)(_class, _RenderingTest);
@@ -30078,13 +30088,183 @@ enifed('ember-glimmer/tests/integration/helpers/partial-test', ['ember-babel', '
30078
30088
  this.assertText('This sub-template is pretty great.');
30079
30089
  };
30080
30090
 
30081
- _class.prototype['@test dynamic partials in {{#each}}'] = function testDynamicPartialsInEach() {
30091
+ _class.prototype['@test partial using data from {{#each}}'] = function testPartialUsingDataFromEach() {
30082
30092
  var _this4 = this;
30083
30093
 
30094
+ this.registerPartial('show-item', '{{item}}');
30095
+
30096
+ this.render((0, _abstractTestCase.strip)(_templateObject), {
30097
+ model: {
30098
+ items: (0, _emberRuntime.A)(['apple', 'orange', 'banana'])
30099
+ }
30100
+ });
30101
+
30102
+ this.assertStableRerender();
30103
+
30104
+ this.assertText('apple: apple |orange: orange |banana: banana |');
30105
+
30106
+ this.runTask(function () {
30107
+ return _this4.context.model.items.pushObject('strawberry');
30108
+ });
30109
+
30110
+ this.assertText('apple: apple |orange: orange |banana: banana |strawberry: strawberry |');
30111
+
30112
+ this.runTask(function () {
30113
+ return (0, _emberMetal.set)(_this4.context, 'model', {
30114
+ items: (0, _emberRuntime.A)(['apple', 'orange', 'banana'])
30115
+ });
30116
+ });
30117
+
30118
+ this.assertText('apple: apple |orange: orange |banana: banana |');
30119
+ };
30120
+
30121
+ _class.prototype['@test partial using `{{get` on data from {{#with}}'] = function testPartialUsingGetOnDataFromWith() {
30122
+ var _this5 = this;
30123
+
30124
+ this.registerPartial('show-id', '{{get item "id"}}');
30125
+
30126
+ this.render((0, _abstractTestCase.strip)(_templateObject2), {
30127
+ model: { id: 1, name: 'foo' }
30128
+ });
30129
+
30130
+ this.assertStableRerender();
30131
+
30132
+ this.assertText('foo: 1');
30133
+
30134
+ this.runTask(function () {
30135
+ return (0, _emberMetal.set)(_this5.context, 'model.id', 2);
30136
+ });
30137
+
30138
+ this.assertText('foo: 2');
30139
+
30140
+ this.runTask(function () {
30141
+ return (0, _emberMetal.set)(_this5.context, 'model.name', 'bar');
30142
+ });
30143
+
30144
+ this.assertText('bar: 2');
30145
+
30146
+ this.runTask(function () {
30147
+ return (0, _emberMetal.set)(_this5.context, 'model', { id: 1, name: 'foo' });
30148
+ });
30149
+
30150
+ this.assertText('foo: 1');
30151
+ };
30152
+
30153
+ _class.prototype['@test partial using `{{get` on data from {{#each}}'] = function testPartialUsingGetOnDataFromEach() {
30154
+ var _this6 = this;
30155
+
30156
+ this.registerPartial('show-item', '{{get item "id"}}');
30157
+
30158
+ this.render((0, _abstractTestCase.strip)(_templateObject3), {
30159
+ items: (0, _emberRuntime.A)([{ id: 1 }, { id: 2 }, { id: 3 }])
30160
+ });
30161
+
30162
+ this.assertStableRerender();
30163
+
30164
+ this.assertText('1: 1 |2: 2 |3: 3 |');
30165
+
30166
+ this.runTask(function () {
30167
+ return _this6.context.items.pushObject({ id: 4 });
30168
+ });
30169
+
30170
+ this.assertText('1: 1 |2: 2 |3: 3 |4: 4 |');
30171
+
30172
+ this.runTask(function () {
30173
+ return (0, _emberMetal.set)(_this6.context, 'items', (0, _emberRuntime.A)([{ id: 1 }, { id: 2 }, { id: 3 }]));
30174
+ });
30175
+
30176
+ this.assertText('1: 1 |2: 2 |3: 3 |');
30177
+ };
30178
+
30179
+ _class.prototype['@test partial using conditional on data from {{#each}}'] = function testPartialUsingConditionalOnDataFromEach() {
30180
+ var _this7 = this;
30181
+
30182
+ this.registerPartial('show-item', '{{#if item}}{{item}}{{/if}}');
30183
+
30184
+ this.render((0, _abstractTestCase.strip)(_templateObject4), {
30185
+ items: (0, _emberRuntime.A)(['apple', null, 'orange', 'banana'])
30186
+ });
30187
+
30188
+ this.assertStableRerender();
30189
+
30190
+ this.assertText('apple: apple |: |orange: orange |banana: banana |');
30191
+
30192
+ this.runTask(function () {
30193
+ return _this7.context.items.pushObject('strawberry');
30194
+ });
30195
+
30196
+ this.assertText('apple: apple |: |orange: orange |banana: banana |strawberry: strawberry |');
30197
+
30198
+ this.runTask(function () {
30199
+ return (0, _emberMetal.set)(_this7.context, 'items', (0, _emberRuntime.A)(['apple', null, 'orange', 'banana']));
30200
+ });
30201
+
30202
+ this.assertText('apple: apple |: |orange: orange |banana: banana |');
30203
+ };
30204
+
30205
+ _class.prototype['@test nested partials using data from {{#each}}'] = function testNestedPartialsUsingDataFromEach() {
30206
+ var _this8 = this;
30207
+
30208
+ this.registerPartial('_outer-partial', (0, _abstractTestCase.strip)(_templateObject5));
30209
+
30210
+ this.registerPartial('inner-partial', '[inner: {{name}}]');
30211
+
30212
+ this.render((0, _abstractTestCase.strip)(_templateObject6), {
30213
+ names: (0, _emberRuntime.A)(['Alex', 'Ben'])
30214
+ });
30215
+
30216
+ this.assertStableRerender();
30217
+
30218
+ this.assertText('0: [outer: Alex] [inner: Alex]1: [outer: Ben] [inner: Ben]');
30219
+
30220
+ this.runTask(function () {
30221
+ return _this8.context.names.pushObject('Sophie');
30222
+ });
30223
+
30224
+ this.assertText('0: [outer: Alex] [inner: Alex]1: [outer: Ben] [inner: Ben]2: [outer: Sophie] [inner: Sophie]');
30225
+
30226
+ this.runTask(function () {
30227
+ return (0, _emberMetal.set)(_this8.context, 'names', (0, _emberRuntime.A)(['Alex', 'Ben']));
30228
+ });
30229
+
30230
+ this.assertText('0: [outer: Alex] [inner: Alex]1: [outer: Ben] [inner: Ben]');
30231
+ };
30232
+
30233
+ _class.prototype['@test nested partials within nested `{{#with}}` blocks'] = function testNestedPartialsWithinNestedWithBlocks() {
30234
+ var _this9 = this;
30235
+
30236
+ this.registerPartial('_person2-partial', (0, _abstractTestCase.strip)(_templateObject7));
30237
+
30238
+ this.registerPartial('_person3-partial', (0, _abstractTestCase.strip)(_templateObject8));
30239
+
30240
+ this.registerPartial('_person4-partial', (0, _abstractTestCase.strip)(_templateObject9));
30241
+
30242
+ this.render((0, _abstractTestCase.strip)(_templateObject10), { age: 0 });
30243
+
30244
+ this.assertStableRerender();
30245
+
30246
+ this.assertText('Hi Sophie (aged 0). Hi Sophie (aged 0) and Ben. Hi Sophie (aged 0), Ben and Alex. Hi Sophie (aged 0), Ben, Alex and Sarah.');
30247
+
30248
+ this.runTask(function () {
30249
+ return (0, _emberMetal.set)(_this9.context, 'age', 1);
30250
+ });
30251
+
30252
+ this.assertText('Hi Sophie (aged 1). Hi Sophie (aged 1) and Ben. Hi Sophie (aged 1), Ben and Alex. Hi Sophie (aged 1), Ben, Alex and Sarah.');
30253
+
30254
+ this.runTask(function () {
30255
+ return (0, _emberMetal.set)(_this9.context, 'age', 0);
30256
+ });
30257
+
30258
+ this.assertText('Hi Sophie (aged 0). Hi Sophie (aged 0) and Ben. Hi Sophie (aged 0), Ben and Alex. Hi Sophie (aged 0), Ben, Alex and Sarah.');
30259
+ };
30260
+
30261
+ _class.prototype['@test dynamic partials in {{#each}}'] = function testDynamicPartialsInEach() {
30262
+ var _this10 = this;
30263
+
30084
30264
  this.registerPartial('_odd', 'ODD{{i}}');
30085
30265
  this.registerPartial('_even', 'EVEN{{i}}');
30086
30266
 
30087
- this.render((0, _abstractTestCase.strip)(_templateObject), {
30267
+ this.render((0, _abstractTestCase.strip)(_templateObject11), {
30088
30268
  model: {
30089
30269
  items: ['even', 'odd', 'even', 'odd'],
30090
30270
  type: 'number'
@@ -30096,13 +30276,13 @@ enifed('ember-glimmer/tests/integration/helpers/partial-test', ['ember-babel', '
30096
30276
  this.assertText('number: EVEN0number: ODD1number: EVEN2number: ODD3');
30097
30277
 
30098
30278
  this.runTask(function () {
30099
- return (0, _emberMetal.set)(_this4.context, 'model.type', 'integer');
30279
+ return (0, _emberMetal.set)(_this10.context, 'model.type', 'integer');
30100
30280
  });
30101
30281
 
30102
30282
  this.assertText('integer: EVEN0integer: ODD1integer: EVEN2integer: ODD3');
30103
30283
 
30104
30284
  this.runTask(function () {
30105
- return (0, _emberMetal.set)(_this4.context, 'model', {
30285
+ return (0, _emberMetal.set)(_this10.context, 'model', {
30106
30286
  items: ['even', 'odd', 'even', 'odd'],
30107
30287
  type: 'number'
30108
30288
  });
@@ -30112,11 +30292,11 @@ enifed('ember-glimmer/tests/integration/helpers/partial-test', ['ember-babel', '
30112
30292
  };
30113
30293
 
30114
30294
  _class.prototype['@test dynamic partials in {{#with}}'] = function testDynamicPartialsInWith() {
30115
- var _this5 = this;
30295
+ var _this11 = this;
30116
30296
 
30117
30297
  this.registerPartial('_thing', '{{t}}');
30118
30298
 
30119
- this.render((0, _abstractTestCase.strip)(_templateObject2), {
30299
+ this.render((0, _abstractTestCase.strip)(_templateObject12), {
30120
30300
  item: { thing: false }
30121
30301
  });
30122
30302
 
@@ -30125,20 +30305,20 @@ enifed('ember-glimmer/tests/integration/helpers/partial-test', ['ember-babel', '
30125
30305
  this.assertText('Nothing!');
30126
30306
 
30127
30307
  this.runTask(function () {
30128
- return (0, _emberMetal.set)(_this5.context, 'item.thing', 'thing');
30308
+ return (0, _emberMetal.set)(_this11.context, 'item.thing', 'thing');
30129
30309
  });
30130
30310
 
30131
30311
  this.assertText('thing');
30132
30312
 
30133
30313
  this.runTask(function () {
30134
- return (0, _emberMetal.set)(_this5.context, 'item', { thing: false });
30314
+ return (0, _emberMetal.set)(_this11.context, 'item', { thing: false });
30135
30315
  });
30136
30316
 
30137
30317
  this.assertText('Nothing!');
30138
30318
  };
30139
30319
 
30140
30320
  _class.prototype['@test partials which contain contextual components'] = function testPartialsWhichContainContextualComponents() {
30141
- var _this6 = this;
30321
+ var _this12 = this;
30142
30322
 
30143
30323
  this.registerComponent('outer-component', {
30144
30324
  template: '{{yield (hash inner=(component "inner-component" name=name))}}'
@@ -30148,22 +30328,22 @@ enifed('ember-glimmer/tests/integration/helpers/partial-test', ['ember-babel', '
30148
30328
  template: '{{yield (hash name=name)}}'
30149
30329
  });
30150
30330
 
30151
- this.registerPartial('_some-partial', (0, _abstractTestCase.strip)(_templateObject3));
30331
+ this.registerPartial('_some-partial', (0, _abstractTestCase.strip)(_templateObject13));
30152
30332
 
30153
- this.render((0, _abstractTestCase.strip)(_templateObject4), { name: 'Sophie' });
30333
+ this.render((0, _abstractTestCase.strip)(_templateObject14), { name: 'Sophie' });
30154
30334
 
30155
30335
  this.assertStableRerender();
30156
30336
 
30157
30337
  this.assertText('inner.name: Sophie');
30158
30338
 
30159
30339
  this.runTask(function () {
30160
- return (0, _emberMetal.set)(_this6.context, 'name', 'Ben');
30340
+ return (0, _emberMetal.set)(_this12.context, 'name', 'Ben');
30161
30341
  });
30162
30342
 
30163
30343
  this.assertText('inner.name: Ben');
30164
30344
 
30165
30345
  this.runTask(function () {
30166
- return (0, _emberMetal.set)(_this6.context, 'name', 'Sophie');
30346
+ return (0, _emberMetal.set)(_this12.context, 'name', 'Sophie');
30167
30347
  });
30168
30348
 
30169
30349
  this.assertText('inner.name: Sophie');
@@ -55773,6 +55953,46 @@ enifed('ember-runtime/tests/mixins/promise_proxy_test', ['ember-metal', 'ember-r
55773
55953
  equal((0, _emberMetal.get)(proxy, 'isFulfilled'), false, 'expects the proxy to indicate that it is not fulfilled');
55774
55954
  });
55775
55955
 
55956
+ // https://github.com/emberjs/ember.js/issues/15694
55957
+ QUnit.test('rejection without specifying reason', function () {
55958
+ var reason = new Error('failure');
55959
+ var deferred = _rsvp2.defer();
55960
+ var proxy = ObjectPromiseProxy.create({
55961
+ promise: deferred.promise
55962
+ });
55963
+
55964
+ var didFulfillCount = 0;
55965
+ var didRejectCount = 0;
55966
+
55967
+ proxy.then(function () {
55968
+ return didFulfillCount++;
55969
+ }, function () {
55970
+ return didRejectCount++;
55971
+ });
55972
+
55973
+ equal((0, _emberMetal.get)(proxy, 'content'), undefined, 'expects the proxy to have no content');
55974
+ equal((0, _emberMetal.get)(proxy, 'reason'), undefined, 'expects the proxy to have no reason');
55975
+ equal((0, _emberMetal.get)(proxy, 'isPending'), true, 'expects the proxy to indicate that it is loading');
55976
+ equal((0, _emberMetal.get)(proxy, 'isSettled'), false, 'expects the proxy to indicate that it is not settled');
55977
+ equal((0, _emberMetal.get)(proxy, 'isRejected'), false, 'expects the proxy to indicate that it is not rejected');
55978
+ equal((0, _emberMetal.get)(proxy, 'isFulfilled'), false, 'expects the proxy to indicate that it is not fulfilled');
55979
+
55980
+ equal(didFulfillCount, 0, 'should not yet have been fulfilled');
55981
+ equal(didRejectCount, 0, 'should not yet have been rejected');
55982
+
55983
+ (0, _emberMetal.run)(deferred, 'reject');
55984
+
55985
+ equal(didFulfillCount, 0, 'should not yet have been fulfilled');
55986
+ equal(didRejectCount, 1, 'should have been rejected');
55987
+
55988
+ equal((0, _emberMetal.get)(proxy, 'content'), undefined, 'expects the proxy to have no content');
55989
+ equal((0, _emberMetal.get)(proxy, 'reason'), undefined, 'expects the proxy to have a reason');
55990
+ equal((0, _emberMetal.get)(proxy, 'isPending'), false, 'expects the proxy to indicate that it is not longer loading');
55991
+ equal((0, _emberMetal.get)(proxy, 'isSettled'), true, 'expects the proxy to indicate that it is settled');
55992
+ equal((0, _emberMetal.get)(proxy, 'isRejected'), true, 'expects the proxy to indicate that it is rejected');
55993
+ equal((0, _emberMetal.get)(proxy, 'isFulfilled'), false, 'expects the proxy to indicate that it is not fulfilled');
55994
+ });
55995
+
55776
55996
  QUnit.test('unhandled rejects still propagate to RSVP.on(\'error\', ...) ', function () {
55777
55997
  expect(1);
55778
55998
 
@@ -6,7 +6,7 @@
6
6
  * Portions Copyright 2008-2011 Apple Inc. All rights reserved.
7
7
  * @license Licensed under MIT license
8
8
  * See https://raw.github.com/emberjs/ember.js/master/LICENSE
9
- * @version 2.16.1
9
+ * @version 2.16.2
10
10
  */
11
11
 
12
12
  var enifed, requireModule, Ember;
@@ -28255,13 +28255,23 @@ enifed('ember-glimmer/tests/integration/helpers/mut-test', ['ember-babel', 'embe
28255
28255
  return _class2;
28256
28256
  }(_testCase.RenderingTest));
28257
28257
  });
28258
- enifed('ember-glimmer/tests/integration/helpers/partial-test', ['ember-babel', 'ember-glimmer/tests/utils/test-case', 'ember-metal', 'ember-glimmer/tests/utils/abstract-test-case'], function (_emberBabel, _testCase, _emberMetal, _abstractTestCase) {
28258
+ enifed('ember-glimmer/tests/integration/helpers/partial-test', ['ember-babel', 'ember-glimmer/tests/utils/test-case', 'ember-metal', 'ember-runtime', 'ember-glimmer/tests/utils/abstract-test-case'], function (_emberBabel, _testCase, _emberMetal, _emberRuntime, _abstractTestCase) {
28259
28259
  'use strict';
28260
28260
 
28261
- var _templateObject = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#each model.items as |template i|}}\n {{model.type}}: {{partial template}}\n {{/each}}'], ['\n {{#each model.items as |template i|}}\n {{model.type}}: {{partial template}}\n {{/each}}']),
28262
- _templateObject2 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#with item.thing as |t|}}\n {{partial t}}\n {{else}}\n Nothing!\n {{/with}}'], ['\n {{#with item.thing as |t|}}\n {{partial t}}\n {{else}}\n Nothing!\n {{/with}}']),
28263
- _templateObject3 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#outer.inner as |inner|}}\n inner.name: {{inner.name}}\n {{/outer.inner}}\n '], ['\n {{#outer.inner as |inner|}}\n inner.name: {{inner.name}}\n {{/outer.inner}}\n ']),
28264
- _templateObject4 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#outer-component name=name as |outer|}}\n {{partial \'some-partial\'}}\n {{/outer-component}}'], ['\n {{#outer-component name=name as |outer|}}\n {{partial \'some-partial\'}}\n {{/outer-component}}']);
28261
+ var _templateObject = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#each model.items as |item|}}\n {{item}}: {{partial \'show-item\'}} |\n {{/each}}'], ['\n {{#each model.items as |item|}}\n {{item}}: {{partial \'show-item\'}} |\n {{/each}}']),
28262
+ _templateObject2 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#with model as |item|}}\n {{item.name}}: {{partial \'show-id\'}}\n {{/with}}'], ['\n {{#with model as |item|}}\n {{item.name}}: {{partial \'show-id\'}}\n {{/with}}']),
28263
+ _templateObject3 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#each items as |item|}}\n {{item.id}}: {{partial \'show-item\'}} |\n {{/each}}'], ['\n {{#each items as |item|}}\n {{item.id}}: {{partial \'show-item\'}} |\n {{/each}}']),
28264
+ _templateObject4 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#each items as |item|}}\n {{item}}: {{partial \'show-item\'}} |\n {{/each}}'], ['\n {{#each items as |item|}}\n {{item}}: {{partial \'show-item\'}} |\n {{/each}}']),
28265
+ _templateObject5 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n [outer: {{name}}] {{partial \'inner-partial\'}}\n '], ['\n [outer: {{name}}] {{partial \'inner-partial\'}}\n ']),
28266
+ _templateObject6 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#each names as |name i|}}\n {{i}}: {{partial \'outer-partial\'}}\n {{/each}}'], ['\n {{#each names as |name i|}}\n {{i}}: {{partial \'outer-partial\'}}\n {{/each}}']),
28267
+ _templateObject7 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#with \'Ben\' as |person2|}}\n Hi {{person1}} (aged {{age}}) and {{person2}}. {{partial \'person3-partial\'}}\n {{/with}}\n '], ['\n {{#with \'Ben\' as |person2|}}\n Hi {{person1}} (aged {{age}}) and {{person2}}. {{partial \'person3-partial\'}}\n {{/with}}\n ']),
28268
+ _templateObject8 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#with \'Alex\' as |person3|}}\n Hi {{person1}} (aged {{age}}), {{person2}} and {{person3}}. {{partial \'person4-partial\'}}\n {{/with}}\n '], ['\n {{#with \'Alex\' as |person3|}}\n Hi {{person1}} (aged {{age}}), {{person2}} and {{person3}}. {{partial \'person4-partial\'}}\n {{/with}}\n ']),
28269
+ _templateObject9 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#with \'Sarah\' as |person4|}}\n Hi {{person1}} (aged {{age}}), {{person2}}, {{person3}} and {{person4}}.\n {{/with}}\n '], ['\n {{#with \'Sarah\' as |person4|}}\n Hi {{person1}} (aged {{age}}), {{person2}}, {{person3}} and {{person4}}.\n {{/with}}\n ']),
28270
+ _templateObject10 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#with \'Sophie\' as |person1|}}\n Hi {{person1}} (aged {{age}}). {{partial \'person2-partial\'}}\n {{/with}}'], ['\n {{#with \'Sophie\' as |person1|}}\n Hi {{person1}} (aged {{age}}). {{partial \'person2-partial\'}}\n {{/with}}']),
28271
+ _templateObject11 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#each model.items as |template i|}}\n {{model.type}}: {{partial template}}\n {{/each}}'], ['\n {{#each model.items as |template i|}}\n {{model.type}}: {{partial template}}\n {{/each}}']),
28272
+ _templateObject12 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#with item.thing as |t|}}\n {{partial t}}\n {{else}}\n Nothing!\n {{/with}}'], ['\n {{#with item.thing as |t|}}\n {{partial t}}\n {{else}}\n Nothing!\n {{/with}}']),
28273
+ _templateObject13 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#outer.inner as |inner|}}\n inner.name: {{inner.name}}\n {{/outer.inner}}\n '], ['\n {{#outer.inner as |inner|}}\n inner.name: {{inner.name}}\n {{/outer.inner}}\n ']),
28274
+ _templateObject14 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#outer-component name=name as |outer|}}\n {{partial \'some-partial\'}}\n {{/outer-component}}'], ['\n {{#outer-component name=name as |outer|}}\n {{partial \'some-partial\'}}\n {{/outer-component}}']);
28265
28275
 
28266
28276
  (0, _testCase.moduleFor)('Helpers test: {{partial}}', function (_RenderingTest) {
28267
28277
  (0, _emberBabel.inherits)(_class, _RenderingTest);
@@ -28352,13 +28362,183 @@ enifed('ember-glimmer/tests/integration/helpers/partial-test', ['ember-babel', '
28352
28362
  this.assertText('This sub-template is pretty great.');
28353
28363
  };
28354
28364
 
28355
- _class.prototype['@test dynamic partials in {{#each}}'] = function () {
28365
+ _class.prototype['@test partial using data from {{#each}}'] = function () {
28356
28366
  var _this4 = this;
28357
28367
 
28368
+ this.registerPartial('show-item', '{{item}}');
28369
+
28370
+ this.render((0, _abstractTestCase.strip)(_templateObject), {
28371
+ model: {
28372
+ items: (0, _emberRuntime.A)(['apple', 'orange', 'banana'])
28373
+ }
28374
+ });
28375
+
28376
+ this.assertStableRerender();
28377
+
28378
+ this.assertText('apple: apple |orange: orange |banana: banana |');
28379
+
28380
+ this.runTask(function () {
28381
+ return _this4.context.model.items.pushObject('strawberry');
28382
+ });
28383
+
28384
+ this.assertText('apple: apple |orange: orange |banana: banana |strawberry: strawberry |');
28385
+
28386
+ this.runTask(function () {
28387
+ return (0, _emberMetal.set)(_this4.context, 'model', {
28388
+ items: (0, _emberRuntime.A)(['apple', 'orange', 'banana'])
28389
+ });
28390
+ });
28391
+
28392
+ this.assertText('apple: apple |orange: orange |banana: banana |');
28393
+ };
28394
+
28395
+ _class.prototype['@test partial using `{{get` on data from {{#with}}'] = function () {
28396
+ var _this5 = this;
28397
+
28398
+ this.registerPartial('show-id', '{{get item "id"}}');
28399
+
28400
+ this.render((0, _abstractTestCase.strip)(_templateObject2), {
28401
+ model: { id: 1, name: 'foo' }
28402
+ });
28403
+
28404
+ this.assertStableRerender();
28405
+
28406
+ this.assertText('foo: 1');
28407
+
28408
+ this.runTask(function () {
28409
+ return (0, _emberMetal.set)(_this5.context, 'model.id', 2);
28410
+ });
28411
+
28412
+ this.assertText('foo: 2');
28413
+
28414
+ this.runTask(function () {
28415
+ return (0, _emberMetal.set)(_this5.context, 'model.name', 'bar');
28416
+ });
28417
+
28418
+ this.assertText('bar: 2');
28419
+
28420
+ this.runTask(function () {
28421
+ return (0, _emberMetal.set)(_this5.context, 'model', { id: 1, name: 'foo' });
28422
+ });
28423
+
28424
+ this.assertText('foo: 1');
28425
+ };
28426
+
28427
+ _class.prototype['@test partial using `{{get` on data from {{#each}}'] = function () {
28428
+ var _this6 = this;
28429
+
28430
+ this.registerPartial('show-item', '{{get item "id"}}');
28431
+
28432
+ this.render((0, _abstractTestCase.strip)(_templateObject3), {
28433
+ items: (0, _emberRuntime.A)([{ id: 1 }, { id: 2 }, { id: 3 }])
28434
+ });
28435
+
28436
+ this.assertStableRerender();
28437
+
28438
+ this.assertText('1: 1 |2: 2 |3: 3 |');
28439
+
28440
+ this.runTask(function () {
28441
+ return _this6.context.items.pushObject({ id: 4 });
28442
+ });
28443
+
28444
+ this.assertText('1: 1 |2: 2 |3: 3 |4: 4 |');
28445
+
28446
+ this.runTask(function () {
28447
+ return (0, _emberMetal.set)(_this6.context, 'items', (0, _emberRuntime.A)([{ id: 1 }, { id: 2 }, { id: 3 }]));
28448
+ });
28449
+
28450
+ this.assertText('1: 1 |2: 2 |3: 3 |');
28451
+ };
28452
+
28453
+ _class.prototype['@test partial using conditional on data from {{#each}}'] = function () {
28454
+ var _this7 = this;
28455
+
28456
+ this.registerPartial('show-item', '{{#if item}}{{item}}{{/if}}');
28457
+
28458
+ this.render((0, _abstractTestCase.strip)(_templateObject4), {
28459
+ items: (0, _emberRuntime.A)(['apple', null, 'orange', 'banana'])
28460
+ });
28461
+
28462
+ this.assertStableRerender();
28463
+
28464
+ this.assertText('apple: apple |: |orange: orange |banana: banana |');
28465
+
28466
+ this.runTask(function () {
28467
+ return _this7.context.items.pushObject('strawberry');
28468
+ });
28469
+
28470
+ this.assertText('apple: apple |: |orange: orange |banana: banana |strawberry: strawberry |');
28471
+
28472
+ this.runTask(function () {
28473
+ return (0, _emberMetal.set)(_this7.context, 'items', (0, _emberRuntime.A)(['apple', null, 'orange', 'banana']));
28474
+ });
28475
+
28476
+ this.assertText('apple: apple |: |orange: orange |banana: banana |');
28477
+ };
28478
+
28479
+ _class.prototype['@test nested partials using data from {{#each}}'] = function () {
28480
+ var _this8 = this;
28481
+
28482
+ this.registerPartial('_outer-partial', (0, _abstractTestCase.strip)(_templateObject5));
28483
+
28484
+ this.registerPartial('inner-partial', '[inner: {{name}}]');
28485
+
28486
+ this.render((0, _abstractTestCase.strip)(_templateObject6), {
28487
+ names: (0, _emberRuntime.A)(['Alex', 'Ben'])
28488
+ });
28489
+
28490
+ this.assertStableRerender();
28491
+
28492
+ this.assertText('0: [outer: Alex] [inner: Alex]1: [outer: Ben] [inner: Ben]');
28493
+
28494
+ this.runTask(function () {
28495
+ return _this8.context.names.pushObject('Sophie');
28496
+ });
28497
+
28498
+ this.assertText('0: [outer: Alex] [inner: Alex]1: [outer: Ben] [inner: Ben]2: [outer: Sophie] [inner: Sophie]');
28499
+
28500
+ this.runTask(function () {
28501
+ return (0, _emberMetal.set)(_this8.context, 'names', (0, _emberRuntime.A)(['Alex', 'Ben']));
28502
+ });
28503
+
28504
+ this.assertText('0: [outer: Alex] [inner: Alex]1: [outer: Ben] [inner: Ben]');
28505
+ };
28506
+
28507
+ _class.prototype['@test nested partials within nested `{{#with}}` blocks'] = function () {
28508
+ var _this9 = this;
28509
+
28510
+ this.registerPartial('_person2-partial', (0, _abstractTestCase.strip)(_templateObject7));
28511
+
28512
+ this.registerPartial('_person3-partial', (0, _abstractTestCase.strip)(_templateObject8));
28513
+
28514
+ this.registerPartial('_person4-partial', (0, _abstractTestCase.strip)(_templateObject9));
28515
+
28516
+ this.render((0, _abstractTestCase.strip)(_templateObject10), { age: 0 });
28517
+
28518
+ this.assertStableRerender();
28519
+
28520
+ this.assertText('Hi Sophie (aged 0). Hi Sophie (aged 0) and Ben. Hi Sophie (aged 0), Ben and Alex. Hi Sophie (aged 0), Ben, Alex and Sarah.');
28521
+
28522
+ this.runTask(function () {
28523
+ return (0, _emberMetal.set)(_this9.context, 'age', 1);
28524
+ });
28525
+
28526
+ this.assertText('Hi Sophie (aged 1). Hi Sophie (aged 1) and Ben. Hi Sophie (aged 1), Ben and Alex. Hi Sophie (aged 1), Ben, Alex and Sarah.');
28527
+
28528
+ this.runTask(function () {
28529
+ return (0, _emberMetal.set)(_this9.context, 'age', 0);
28530
+ });
28531
+
28532
+ this.assertText('Hi Sophie (aged 0). Hi Sophie (aged 0) and Ben. Hi Sophie (aged 0), Ben and Alex. Hi Sophie (aged 0), Ben, Alex and Sarah.');
28533
+ };
28534
+
28535
+ _class.prototype['@test dynamic partials in {{#each}}'] = function () {
28536
+ var _this10 = this;
28537
+
28358
28538
  this.registerPartial('_odd', 'ODD{{i}}');
28359
28539
  this.registerPartial('_even', 'EVEN{{i}}');
28360
28540
 
28361
- this.render((0, _abstractTestCase.strip)(_templateObject), {
28541
+ this.render((0, _abstractTestCase.strip)(_templateObject11), {
28362
28542
  model: {
28363
28543
  items: ['even', 'odd', 'even', 'odd'],
28364
28544
  type: 'number'
@@ -28370,13 +28550,13 @@ enifed('ember-glimmer/tests/integration/helpers/partial-test', ['ember-babel', '
28370
28550
  this.assertText('number: EVEN0number: ODD1number: EVEN2number: ODD3');
28371
28551
 
28372
28552
  this.runTask(function () {
28373
- return (0, _emberMetal.set)(_this4.context, 'model.type', 'integer');
28553
+ return (0, _emberMetal.set)(_this10.context, 'model.type', 'integer');
28374
28554
  });
28375
28555
 
28376
28556
  this.assertText('integer: EVEN0integer: ODD1integer: EVEN2integer: ODD3');
28377
28557
 
28378
28558
  this.runTask(function () {
28379
- return (0, _emberMetal.set)(_this4.context, 'model', {
28559
+ return (0, _emberMetal.set)(_this10.context, 'model', {
28380
28560
  items: ['even', 'odd', 'even', 'odd'],
28381
28561
  type: 'number'
28382
28562
  });
@@ -28386,11 +28566,11 @@ enifed('ember-glimmer/tests/integration/helpers/partial-test', ['ember-babel', '
28386
28566
  };
28387
28567
 
28388
28568
  _class.prototype['@test dynamic partials in {{#with}}'] = function () {
28389
- var _this5 = this;
28569
+ var _this11 = this;
28390
28570
 
28391
28571
  this.registerPartial('_thing', '{{t}}');
28392
28572
 
28393
- this.render((0, _abstractTestCase.strip)(_templateObject2), {
28573
+ this.render((0, _abstractTestCase.strip)(_templateObject12), {
28394
28574
  item: { thing: false }
28395
28575
  });
28396
28576
 
@@ -28399,20 +28579,20 @@ enifed('ember-glimmer/tests/integration/helpers/partial-test', ['ember-babel', '
28399
28579
  this.assertText('Nothing!');
28400
28580
 
28401
28581
  this.runTask(function () {
28402
- return (0, _emberMetal.set)(_this5.context, 'item.thing', 'thing');
28582
+ return (0, _emberMetal.set)(_this11.context, 'item.thing', 'thing');
28403
28583
  });
28404
28584
 
28405
28585
  this.assertText('thing');
28406
28586
 
28407
28587
  this.runTask(function () {
28408
- return (0, _emberMetal.set)(_this5.context, 'item', { thing: false });
28588
+ return (0, _emberMetal.set)(_this11.context, 'item', { thing: false });
28409
28589
  });
28410
28590
 
28411
28591
  this.assertText('Nothing!');
28412
28592
  };
28413
28593
 
28414
28594
  _class.prototype['@test partials which contain contextual components'] = function () {
28415
- var _this6 = this;
28595
+ var _this12 = this;
28416
28596
 
28417
28597
  this.registerComponent('outer-component', {
28418
28598
  template: '{{yield (hash inner=(component "inner-component" name=name))}}'
@@ -28422,22 +28602,22 @@ enifed('ember-glimmer/tests/integration/helpers/partial-test', ['ember-babel', '
28422
28602
  template: '{{yield (hash name=name)}}'
28423
28603
  });
28424
28604
 
28425
- this.registerPartial('_some-partial', (0, _abstractTestCase.strip)(_templateObject3));
28605
+ this.registerPartial('_some-partial', (0, _abstractTestCase.strip)(_templateObject13));
28426
28606
 
28427
- this.render((0, _abstractTestCase.strip)(_templateObject4), { name: 'Sophie' });
28607
+ this.render((0, _abstractTestCase.strip)(_templateObject14), { name: 'Sophie' });
28428
28608
 
28429
28609
  this.assertStableRerender();
28430
28610
 
28431
28611
  this.assertText('inner.name: Sophie');
28432
28612
 
28433
28613
  this.runTask(function () {
28434
- return (0, _emberMetal.set)(_this6.context, 'name', 'Ben');
28614
+ return (0, _emberMetal.set)(_this12.context, 'name', 'Ben');
28435
28615
  });
28436
28616
 
28437
28617
  this.assertText('inner.name: Ben');
28438
28618
 
28439
28619
  this.runTask(function () {
28440
- return (0, _emberMetal.set)(_this6.context, 'name', 'Sophie');
28620
+ return (0, _emberMetal.set)(_this12.context, 'name', 'Sophie');
28441
28621
  });
28442
28622
 
28443
28623
  this.assertText('inner.name: Sophie');
@@ -52172,6 +52352,47 @@ enifed('ember-runtime/tests/mixins/promise_proxy_test', ['ember-metal', 'ember-r
52172
52352
  equal((0, _emberMetal.get)(proxy, 'isFulfilled'), false, 'expects the proxy to indicate that it is not fulfilled');
52173
52353
  });
52174
52354
 
52355
+ // https://github.com/emberjs/ember.js/issues/15694
52356
+ QUnit.test('rejection without specifying reason', function () {
52357
+ new Error('failure');
52358
+
52359
+ var deferred = _rsvp2.defer();
52360
+ var proxy = ObjectPromiseProxy.create({
52361
+ promise: deferred.promise
52362
+ });
52363
+
52364
+ var didFulfillCount = 0;
52365
+ var didRejectCount = 0;
52366
+
52367
+ proxy.then(function () {
52368
+ return didFulfillCount++;
52369
+ }, function () {
52370
+ return didRejectCount++;
52371
+ });
52372
+
52373
+ equal((0, _emberMetal.get)(proxy, 'content'), undefined, 'expects the proxy to have no content');
52374
+ equal((0, _emberMetal.get)(proxy, 'reason'), undefined, 'expects the proxy to have no reason');
52375
+ equal((0, _emberMetal.get)(proxy, 'isPending'), true, 'expects the proxy to indicate that it is loading');
52376
+ equal((0, _emberMetal.get)(proxy, 'isSettled'), false, 'expects the proxy to indicate that it is not settled');
52377
+ equal((0, _emberMetal.get)(proxy, 'isRejected'), false, 'expects the proxy to indicate that it is not rejected');
52378
+ equal((0, _emberMetal.get)(proxy, 'isFulfilled'), false, 'expects the proxy to indicate that it is not fulfilled');
52379
+
52380
+ equal(didFulfillCount, 0, 'should not yet have been fulfilled');
52381
+ equal(didRejectCount, 0, 'should not yet have been rejected');
52382
+
52383
+ (0, _emberMetal.run)(deferred, 'reject');
52384
+
52385
+ equal(didFulfillCount, 0, 'should not yet have been fulfilled');
52386
+ equal(didRejectCount, 1, 'should have been rejected');
52387
+
52388
+ equal((0, _emberMetal.get)(proxy, 'content'), undefined, 'expects the proxy to have no content');
52389
+ equal((0, _emberMetal.get)(proxy, 'reason'), undefined, 'expects the proxy to have a reason');
52390
+ equal((0, _emberMetal.get)(proxy, 'isPending'), false, 'expects the proxy to indicate that it is not longer loading');
52391
+ equal((0, _emberMetal.get)(proxy, 'isSettled'), true, 'expects the proxy to indicate that it is settled');
52392
+ equal((0, _emberMetal.get)(proxy, 'isRejected'), true, 'expects the proxy to indicate that it is rejected');
52393
+ equal((0, _emberMetal.get)(proxy, 'isFulfilled'), false, 'expects the proxy to indicate that it is not fulfilled');
52394
+ });
52395
+
52175
52396
  QUnit.test('unhandled rejects still propagate to RSVP.on(\'error\', ...) ', function () {
52176
52397
  expect(1);
52177
52398