diff --git a/packages/@ember/-internals/glimmer/lib/environment.ts b/packages/@ember/-internals/glimmer/lib/environment.ts index 12a91fcb41d..013ac499285 100644 --- a/packages/@ember/-internals/glimmer/lib/environment.ts +++ b/packages/@ember/-internals/glimmer/lib/environment.ts @@ -98,14 +98,6 @@ const VM_DEPRECATION_OVERRIDES: (DeprecationOptions & { disabled?: boolean; message?: string; })[] = [ - { - id: 'autotracking.mutation-after-consumption', - until: '4.0.0', - for: 'ember-source', - since: { - enabled: '3.21.0', - }, - }, { id: 'this-property-fallback', disabled: ENV._DISABLE_PROPERTY_FALLBACK_DEPRECATION, diff --git a/packages/@ember/-internals/glimmer/tests/integration/custom-component-manager-test.js b/packages/@ember/-internals/glimmer/tests/integration/custom-component-manager-test.js index acbdd722c3e..c4d6552f3cd 100644 --- a/packages/@ember/-internals/glimmer/tests/integration/custom-component-manager-test.js +++ b/packages/@ember/-internals/glimmer/tests/integration/custom-component-manager-test.js @@ -3,7 +3,7 @@ import { moduleFor, RenderingTestCase, runTask, strip } from 'internal-test-help import { componentCapabilities } from '@glimmer/manager'; import { Object as EmberObject } from '@ember/-internals/runtime'; -import { set, setProperties, computed, tracked } from '@ember/-internals/metal'; +import { set, setProperties, computed } from '@ember/-internals/metal'; import { setComponentManager } from '@ember/-internals/glimmer'; const BasicComponentManager = EmberObject.extend({ @@ -887,35 +887,5 @@ moduleFor( assert.verifySteps([]); } - - '@test tracked property mutation in constructor issues a deprecation'() { - let ComponentClass = setComponentManager( - createBasicManager, - class extends EmberObject { - @tracked itemCount = 0; - - init() { - super.init(...arguments); - - // first read the tracked property - let { itemCount } = this; - - // then attempt to update the tracked property - this.itemCount = itemCount + 1; - } - } - ); - - this.registerComponent('foo-bar', { - template: `{{this.itemCount}}`, - ComponentClass, - }); - - expectDeprecation(() => { - this.render(''); - }, /You attempted to update `itemCount` on `<.*>`, but it had already been used previously in the same computation/); - - this.assertHTML(`1`); - } } ); diff --git a/packages/@ember/-internals/glimmer/tests/integration/custom-modifier-manager-test.js b/packages/@ember/-internals/glimmer/tests/integration/custom-modifier-manager-test.js index c75905f35b6..144f5dff9a4 100644 --- a/packages/@ember/-internals/glimmer/tests/integration/custom-modifier-manager-test.js +++ b/packages/@ember/-internals/glimmer/tests/integration/custom-modifier-manager-test.js @@ -241,50 +241,6 @@ class ModifierManagerTest extends RenderingTestCase { assert.equal(updateCount, 2); } - '@test provides a helpful deprecation when mutating a tracked value that was consumed already within constructor'( - assert - ) { - let ModifierClass = setModifierManager( - (owner) => { - return new this.CustomModifierManager(owner); - }, - class { - static create() { - return new this(); - } - - @tracked foo = 123; - - constructor() { - // first read the tracked property - this.foo; - - // then attempt to update the tracked property - this.foo = 456; - } - - didInsertElement() {} - didUpdate() {} - willDestroyElement() {} - } - ); - - this.registerModifier( - 'foo-bar', - class extends ModifierClass { - didInsertElement() { - assert.ok(true, 'modifiers didInsertElement was called'); - } - } - ); - - let expectedMessage = backtrackingMessageFor('foo'); - - expectDeprecation(() => { - this.render('

hello world

'); - }, expectedMessage); - } - '@test provides a helpful assertion when mutating a value that was consumed already'() { class Person { @tracked name = 'bob'; diff --git a/packages/@ember/-internals/glimmer/tests/integration/helpers/custom-helper-test.js b/packages/@ember/-internals/glimmer/tests/integration/helpers/custom-helper-test.js index dcba0e131bf..fc6a7fcfb73 100644 --- a/packages/@ember/-internals/glimmer/tests/integration/helpers/custom-helper-test.js +++ b/packages/@ember/-internals/glimmer/tests/integration/helpers/custom-helper-test.js @@ -8,8 +8,7 @@ import { defineSimpleHelper, } from 'internal-test-helpers'; import { Helper, Component } from '@ember/-internals/glimmer'; -import { set, tracked } from '@ember/-internals/metal'; -import { backtrackingMessageFor } from '../../utils/debug-stack'; +import { set } from '@ember/-internals/metal'; moduleFor( 'Helpers test: custom helpers', @@ -731,55 +730,6 @@ moduleFor( this.assertText('huzza!'); } - ['@test class-based helper gives helpful warning when mutating a value that was tracked already']() { - this.add( - 'helper:hello-world', - class extends Helper { - compute() { - this.get('value'); - this.set('value', 123); - } - } - ); - - let expectedMessage = backtrackingMessageFor('value', '<.+?>', { - renderTree: ['\\(result of a `<\\(unknown\\).*?>` helper\\)'], - }); - - expectDeprecation(() => { - // TODO: this must be a bug?? - expectDeprecation( - backtrackingMessageFor('undefined', undefined, { - renderTree: ['\\(result of a `<\\(unknown\\).*?>` helper\\)'], - }) - ); - - this.render('{{hello-world}}'); - }, expectedMessage); - } - - ['@test class-based helper gives helpful deprecation when mutating a tracked property that was tracked already']() { - this.add( - 'helper:hello-world', - class HelloWorld extends Helper { - @tracked value; - - compute() { - this.value; - this.value = 123; - } - } - ); - - let expectedMessage = backtrackingMessageFor('value', '', { - renderTree: ['\\(result of a `` helper\\)'], - }); - - expectDeprecation(() => { - this.render('{{hello-world}}'); - }, expectedMessage); - } - '@feature(EMBER_DYNAMIC_HELPERS_AND_MODIFIERS) Can resolve a helper'() { this.registerHelper('hello-world', ([text]) => text ?? 'Hello, world!'); diff --git a/packages/@ember/-internals/glimmer/tests/integration/helpers/tracked-test.js b/packages/@ember/-internals/glimmer/tests/integration/helpers/tracked-test.js index d21570e7ca4..c407d60a5a0 100644 --- a/packages/@ember/-internals/glimmer/tests/integration/helpers/tracked-test.js +++ b/packages/@ember/-internals/glimmer/tests/integration/helpers/tracked-test.js @@ -1,7 +1,5 @@ import { Object as EmberObject, A, MutableArray } from '@ember/-internals/runtime'; import { - get, - set, tracked, nativeDescDecorator as descriptor, notifyPropertyChange, @@ -9,7 +7,6 @@ import { import Service, { inject } from '@ember/service'; import { moduleFor, RenderingTestCase, strip, runTask } from 'internal-test-helpers'; -import { backtrackingMessageFor } from '../../utils/debug-stack'; import { Component } from '../../utils/helpers'; moduleFor( @@ -406,46 +403,5 @@ moduleFor( this.assertText('12'); } - - '@test simple helper gives helpful warning when mutating a value that was tracked already'() { - this.registerHelper('hello-world', function helloWorld([person]) { - get(person, 'name'); - set(person, 'name', 'sam'); - }); - - let expectedMessage = backtrackingMessageFor('name', '\\(unknown object\\)', { - renderTree: ['\\(result of a `.*` helper\\)'], - }); - - expectDeprecation(() => { - // TODO: this must be a bug?? - expectDeprecation( - backtrackingMessageFor('undefined', undefined, { - renderTree: ['\\(result of a `.*` helper\\)'], - }) - ); - - this.render('{{hello-world this.model}}', { model: {} }); - }, expectedMessage); - } - - '@test simple helper gives helpful deprecation when mutating a tracked property that was tracked already'() { - class Person { - @tracked name = 'bob'; - } - - this.registerHelper('hello-world', ([person]) => { - person.name; - person.name = 'sam'; - }); - - let expectedMessage = backtrackingMessageFor('name', 'Person', { - renderTree: ['\\(result of a `\\(unknown function\\)` helper\\)'], - }); - - expectDeprecation(() => { - this.render('{{hello-world this.model}}', { model: new Person() }); - }, expectedMessage); - } } ); diff --git a/packages/@ember/-internals/metal/tests/tracked/validation_test.js b/packages/@ember/-internals/metal/tests/tracked/validation_test.js index 1aa090cd903..47e5ba1a231 100644 --- a/packages/@ember/-internals/metal/tests/tracked/validation_test.js +++ b/packages/@ember/-internals/metal/tests/tracked/validation_test.js @@ -378,25 +378,6 @@ moduleFor( }, /You attempted to update `value` on `EmberObject`, but it had already been used previously in the same computation/); } - ['@test gives helpful deprecation when a tracked property is mutated after access within unknownProperty within an autotracking transaction']() { - class EmberObject { - @tracked foo; - - unknownProperty() { - this.foo; - this.foo = 123; - } - } - - let obj = new EmberObject(); - - expectDeprecation(() => { - track(() => { - get(obj, 'bar'); - }); - }, /You attempted to update `foo` on `EmberObject`, but it had already been used previously in the same computation/); - } - ['@test get() does not entangle in the autotracking stack until after retrieving the value']( assert ) {