11import EmberArray , { NativeArray } from '@ember/array' ;
22import { A } from '@ember/array' ;
3+ import { ENV } from '@ember/-internals/environment' ;
34import { isEmberArray } from '@ember/-internals/utils' ;
45import { moduleFor , AbstractTestCase } from 'internal-test-helpers' ;
56
@@ -23,38 +24,45 @@ moduleFor(
2324 assert . ok ( EmberArray . detect ( new A ( [ 1 , 2 ] ) ) , 'returned an ember array' ) ;
2425 } ) ;
2526 }
27+ }
28+ ) ;
2629
27- [ '@test Ember.A does not modify original' ] ( assert ) {
28- let original = [ 1 , 2 ] ;
29- let proxy = A ( original ) ;
30+ if ( ENV . EXTEND_PROTOTYPES . Array ) {
31+ moduleFor (
32+ 'Ember.A without Extended Prototypes' ,
33+ class extends AbstractTestCase {
34+ [ '@test Ember.A does not modify original' ] ( assert ) {
35+ let original = [ 1 , 2 ] ;
36+ let proxy = A ( original ) ;
3037
31- assert . notOk ( EmberArray . detect ( original ) , 'EmberArray is not detected in the original' ) ;
32- assert . ok ( EmberArray . detect ( proxy ) , 'EmberArray is detected in the proxy' ) ;
38+ assert . notOk ( EmberArray . detect ( original ) , 'EmberArray is not detected in the original' ) ;
39+ assert . ok ( EmberArray . detect ( proxy ) , 'EmberArray is detected in the proxy' ) ;
3340
34- assert . notOk ( NativeArray . detect ( original ) , 'NativeArray is not detected in the original' ) ;
35- assert . ok ( NativeArray . detect ( proxy ) , 'NativeArray is detected in the proxy' ) ;
41+ assert . notOk ( NativeArray . detect ( original ) , 'NativeArray is not detected in the original' ) ;
42+ assert . ok ( NativeArray . detect ( proxy ) , 'NativeArray is detected in the proxy' ) ;
3643
37- assert . strictEqual ( proxy . objectAt ( 1 ) , 2 , 'proxies to original array' ) ;
44+ assert . strictEqual ( proxy . objectAt ( 1 ) , 2 , 'proxies to original array' ) ;
3845
39- proxy . pushObject ( 3 ) ;
40- assert . deepEqual ( original , [ 1 , 2 , 3 ] , 'original array gets updated' ) ;
46+ proxy . pushObject ( 3 ) ;
47+ assert . deepEqual ( original , [ 1 , 2 , 3 ] , 'original array gets updated' ) ;
4148
42- assert . notOk ( isEmberArray ( original ) , 'original is not EmberArray' ) ;
43- assert . ok ( isEmberArray ( proxy ) , 'proxy is EmberArray' ) ;
49+ assert . notOk ( isEmberArray ( original ) , 'original is not EmberArray' ) ;
50+ assert . ok ( isEmberArray ( proxy ) , 'proxy is EmberArray' ) ;
4451
45- assert . ok ( Array . isArray ( proxy ) , 'proxy is a native array' ) ;
52+ assert . ok ( Array . isArray ( proxy ) , 'proxy is a native array' ) ;
4653
47- proxy . pushObjects ( [ 4 , 5 ] ) ;
48- assert . deepEqual ( original , [ 1 , 2 , 3 , 4 , 5 ] , 'pushObjects works' ) ;
49- }
54+ proxy . pushObjects ( [ 4 , 5 ] ) ;
55+ assert . deepEqual ( original , [ 1 , 2 , 3 , 4 , 5 ] , 'pushObjects works' ) ;
56+ }
5057
51- [ '@test Ember.A adds warnings about modification to original' ] ( ) {
52- let original = [ 1 , 2 ] ;
53- A ( original ) ;
58+ [ '@test Ember.A adds warnings about modification to original' ] ( ) {
59+ let original = [ 1 , 2 ] ;
60+ A ( original ) ;
5461
55- expectAssertion ( ( ) => {
56- original . pushObject ( 1 ) ;
57- } ) ;
62+ expectAssertion ( ( ) => {
63+ original . pushObject ( 1 ) ;
64+ } ) ;
65+ }
5866 }
59- }
60- ) ;
67+ ) ;
68+ }
0 commit comments