|
42 | 42 | if (createOptions.useReadCallback) {
|
43 | 43 | mapped.DO = createComputed({
|
44 | 44 | read: doData,
|
45 |
| - deferEvaluation: !!createOptions.deferEvaluation |
| 45 | + deferEvaluation: !!createOptions.deferEvaluation, |
| 46 | + pure: !!createOptions.pure |
46 | 47 | }, mapped);
|
47 | 48 | }
|
48 | 49 | else if (createOptions.useWriteCallback) {
|
|
57 | 58 | }
|
58 | 59 | else {
|
59 | 60 | mapped.DO = createComputed(doData, mapped, {
|
60 |
| - deferEvaluation: !!createOptions.deferEvaluation |
| 61 | + deferEvaluation: !!createOptions.deferEvaluation, |
| 62 | + pure: !!createOptions.pure |
61 | 63 | });
|
62 | 64 | }
|
63 | 65 |
|
|
271 | 273 | }, 0);
|
272 | 274 | });
|
273 | 275 |
|
| 276 | + QUnit.test('pure dependentObservables should NOT be auto-evaluated after mapping', function(assert) { |
| 277 | + var done = assert.async(); |
| 278 | + assert.expect(1); |
| 279 | + |
| 280 | + var mapped = testInfo.create({pure: true}); |
| 281 | + window.setTimeout(function() { |
| 282 | + assert.equal(testInfo.evaluationCount, 0); |
| 283 | + done(); |
| 284 | + }, 0); |
| 285 | + }); |
| 286 | + |
274 | 287 | QUnit.test('un-deferred dependentObservables with read callback that are NOT used immediately SHOULD be auto-evaluated after mapping', function(assert) {
|
275 | 288 | var done = assert.async();
|
276 | 289 | assert.expect(1);
|
|
305 | 318 | }, 0);
|
306 | 319 | });
|
307 | 320 |
|
| 321 | + QUnit.test('pure dependentObservables with read callback should NOT be auto-evaluated after mapping', function(assert) { |
| 322 | + var done = assert.async(); |
| 323 | + assert.expect(1); |
| 324 | + |
| 325 | + var mapped = testInfo.create({pure: true, useReadCallback: true}); |
| 326 | + window.setTimeout(function() { |
| 327 | + assert.equal(testInfo.evaluationCount, 0); |
| 328 | + done(); |
| 329 | + }, 0); |
| 330 | + }); |
| 331 | + |
308 | 332 | QUnit.test('can subscribe to proxy dependentObservable', function(assert) {
|
309 | 333 | assert.expect(0);
|
310 | 334 | var mapped = testInfo.create({deferEvaluation: true, useReadCallback: true});
|
|
0 commit comments