@@ -7,13 +7,12 @@ import { omit, pick, forEach, copy } from "../../src/core";
7
7
8
8
import Spy = jasmine . Spy ;
9
9
import { services } from "../../src/common/coreservices" ;
10
- import { resolvablesBuilder } from "../../src/state/stateBuilder" ;
11
10
import { tree2Array } from "../testUtils.ts" ;
12
11
import { UIRouter } from "../../src/router" ;
13
12
14
13
///////////////////////////////////////////////
15
14
16
- let router , states , statesMap : { [ key :string ] : State } = { } ;
15
+ let router : UIRouter , states , statesMap : { [ key :string ] : State } = { } ;
17
16
let vals , counts , expectCounts ;
18
17
let asyncCount ;
19
18
@@ -76,7 +75,7 @@ beforeEach(function () {
76
75
77
76
tree2Array ( getStates ( ) , false ) . forEach ( state => router . stateRegistry . register ( state ) ) ;
78
77
statesMap = router . stateRegistry . get ( )
79
- . reduce ( ( acc , state ) => ( ( acc [ state . name ] = state . $$state ( ) ) , acc ) , { } ) ;
78
+ . reduce ( ( acc , state ) => ( acc [ state . name ] = state . $$state ( ) , acc ) , statesMap ) ;
80
79
} ) ;
81
80
82
81
function makePath ( names : string [ ] ) : PathNode [ ] {
@@ -347,5 +346,25 @@ describe('Resolvables system:', function () {
347
346
} ) . then ( done ) ;
348
347
} ) ;
349
348
} ) ;
349
+
350
+ // Test for #2641
351
+ it ( "should not re-resolve data, when redirecting to a child" , ( done ) => {
352
+ let $state = router . stateService ;
353
+ let $transitions = router . transitionService ;
354
+ $transitions . onStart ( { to : "J" } , ( $transition$ ) => {
355
+ var ctx = new ResolveContext ( $transition$ . treeChanges ( ) . to ) ;
356
+ return invokeLater ( function ( _J ) { } , ctx ) . then ( function ( ) {
357
+ expect ( counts . _J ) . toEqualData ( 1 ) ;
358
+ return $state . target ( "K" ) ;
359
+ } ) ;
360
+ } ) ;
361
+
362
+ $state . go ( "J" ) . then ( ( ) => {
363
+ expect ( $state . current . name ) . toBe ( "K" ) ;
364
+ expect ( counts . _J ) . toEqualData ( 1 ) ;
365
+ done ( ) ;
366
+ } ) ;
367
+ } ) ;
350
368
} ) ;
351
369
370
+
0 commit comments