@@ -1588,7 +1588,7 @@ describe('session()', function(){
1588
1588
} )
1589
1589
} )
1590
1590
1591
- describe ( '.regenerate()' , function ( ) {
1591
+ describe ( '.regenerate()' , function ( ) {
1592
1592
it ( 'should destroy/replace the previous session' , function ( done ) {
1593
1593
var server = createServer ( null , function ( req , res ) {
1594
1594
var id = req . session . id
@@ -1611,6 +1611,56 @@ describe('session()', function(){
1611
1611
. expect ( 200 , 'false' , done )
1612
1612
} ) ;
1613
1613
} )
1614
+
1615
+ it ( 'should return Promise without callback' , function ( done ) {
1616
+ var server = createServer ( null , function ( req , res ) {
1617
+ var id = req . session . id
1618
+ req . session . regenerate ( )
1619
+ . then ( function ( ) {
1620
+ res . end ( String ( req . session . id === id ) )
1621
+ } )
1622
+ . catch ( function ( err ) {
1623
+ if ( err ) res . statusCode = 500
1624
+ } )
1625
+ } )
1626
+
1627
+ request ( server )
1628
+ . get ( '/' )
1629
+ . expect ( shouldSetCookie ( 'connect.sid' ) )
1630
+ . expect ( 200 , function ( err , res ) {
1631
+ if ( err ) return done ( err )
1632
+ request ( server )
1633
+ . get ( '/' )
1634
+ . set ( 'Cookie' , cookie ( res ) )
1635
+ . expect ( shouldSetCookie ( 'connect.sid' ) )
1636
+ . expect ( shouldSetCookieToDifferentSessionId ( sid ( res ) ) )
1637
+ . expect ( 200 , 'false' , done )
1638
+ } )
1639
+ } )
1640
+
1641
+ it ( 'should not return Promise with callback' , function ( done ) {
1642
+ var server = createServer ( null , function ( req , res ) {
1643
+ var id = req . session . id
1644
+ var ret = req . session . regenerate ( function ( err ) {
1645
+ if ( err ) res . statusCode = 500
1646
+ res . statusCode = ( ret === undefined ) ? 200 : 500
1647
+ res . end ( String ( req . session . id === id ) )
1648
+ } )
1649
+ } )
1650
+
1651
+ request ( server )
1652
+ . get ( '/' )
1653
+ . expect ( shouldSetCookie ( 'connect.sid' ) )
1654
+ . expect ( 200 , function ( err , res ) {
1655
+ if ( err ) return done ( err )
1656
+ request ( server )
1657
+ . get ( '/' )
1658
+ . set ( 'Cookie' , cookie ( res ) )
1659
+ . expect ( shouldSetCookie ( 'connect.sid' ) )
1660
+ . expect ( shouldSetCookieToDifferentSessionId ( sid ( res ) ) )
1661
+ . expect ( 200 , 'false' , done )
1662
+ } )
1663
+ } )
1614
1664
} )
1615
1665
1616
1666
describe ( '.reload()' , function ( ) {
0 commit comments