1
1
import EmberArray , { NativeArray } from '@ember/array' ;
2
2
import { A } from '@ember/array' ;
3
+ import { ENV } from '@ember/-internals/environment' ;
3
4
import { isEmberArray } from '@ember/-internals/utils' ;
4
5
import { moduleFor , AbstractTestCase } from 'internal-test-helpers' ;
5
6
@@ -23,38 +24,45 @@ moduleFor(
23
24
assert . ok ( EmberArray . detect ( new A ( [ 1 , 2 ] ) ) , 'returned an ember array' ) ;
24
25
} ) ;
25
26
}
27
+ }
28
+ ) ;
26
29
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 ) ;
30
37
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' ) ;
33
40
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' ) ;
36
43
37
- assert . strictEqual ( proxy . objectAt ( 1 ) , 2 , 'proxies to original array' ) ;
44
+ assert . strictEqual ( proxy . objectAt ( 1 ) , 2 , 'proxies to original array' ) ;
38
45
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' ) ;
41
48
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' ) ;
44
51
45
- assert . ok ( Array . isArray ( proxy ) , 'proxy is a native array' ) ;
52
+ assert . ok ( Array . isArray ( proxy ) , 'proxy is a native array' ) ;
46
53
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
+ }
50
57
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 ) ;
54
61
55
- expectAssertion ( ( ) => {
56
- original . pushObject ( 1 ) ;
57
- } ) ;
62
+ expectAssertion ( ( ) => {
63
+ original . pushObject ( 1 ) ;
64
+ } ) ;
65
+ }
58
66
}
59
- }
60
- ) ;
67
+ ) ;
68
+ }
0 commit comments