@@ -525,6 +525,66 @@ function setupPreparedTests(callback) {
525
525
} ) ;
526
526
}
527
527
528
+ function runExtraTests ( callback ) {
529
+ console . log ( "!--------- Extra Tests" ) ;
530
+ data . push ( { name : "-----------------------------" , css : 'two' } ) ;
531
+
532
+ db . execSQL ( 'drop table if exists extratests;' , function ( err ) {
533
+ if ( err ) {
534
+ console . log ( "!---- Drop Err" , err ) ;
535
+ }
536
+ db . execSQL ( 'create table extratests (`int_field` integer, `num_field` numeric, `real_field` real, `text_field` text, `blob_field` blob)' , function ( err ) {
537
+ if ( err ) {
538
+ data . push ( { name : 'Failed to create tables and data...' , css : 'one' } ) ;
539
+ console . log ( "!---- Create Table err" , err ) ;
540
+ return ;
541
+ }
542
+
543
+ // Add value
544
+ db . execSQL ( 'insert into extratests values (1, 2, 3, "4", "5")' )
545
+ . then ( ( ) => {
546
+ // Verify Value
547
+ return db . get ( 'select * from extratests' ) . then ( ( val ) => {
548
+ if ( val . int_field === 1 && val . num_field === 2 ) {
549
+ return Promise . resolve ( ) ;
550
+ } else {
551
+ return Promise . reject ( "Data doesn't match" ) ;
552
+ }
553
+ } ) ;
554
+ } )
555
+ // Update Value to null
556
+ . then ( ( ) => { return db . execSQL ( "update extratests set num_field=null where int_field=1" ) ; } )
557
+ . then ( ( ) => {
558
+ // Verify Value
559
+ return db . get ( 'select * from extratests' ) . then ( ( val ) => {
560
+ if ( val . int_field === 1 && val . num_field !== null ) {
561
+ return Promise . reject ( "Failed direct null" )
562
+ }
563
+ } ) ;
564
+ } )
565
+ . then ( ( ) => { return db . execSQL ( "update extratests set real_field=? where int_field=1" , [ null ] ) ; } )
566
+ . then ( ( ) => {
567
+ // Verify Value
568
+ return db . get ( 'select * from extratests' ) . then ( ( val ) => {
569
+ if ( val . int_field === 1 && val . real_field !== null ) {
570
+ return Promise . reject ( "Failed param as null" )
571
+ }
572
+ data . push ( { name : 'Passed: Extra Tests...' , 'css' : 'two' } ) ;
573
+ callback ( )
574
+ } ) ;
575
+ } )
576
+ . catch ( ( err ) => {
577
+ data . push ( { name : 'Failed: Extra Tests...' + err , 'css' : 'one' } ) ;
578
+ console . log ( "!---------- Extra err" , err , err . stack ) ;
579
+ callback ( ) ;
580
+ } )
581
+
582
+ } ) ;
583
+ } ) ;
584
+
585
+
586
+ }
587
+
528
588
function runPreparedTests ( callback ) {
529
589
if ( ! sqlite . HAS_COMMERCIAL ) {
530
590
callback ( ) ;
@@ -612,10 +672,12 @@ function runTests() {
612
672
runStringArrayTest ( function ( ) {
613
673
runStringObjectTest ( function ( ) {
614
674
runPreparedTests ( function ( ) {
615
- data . push ( { name : "-----------------------------" , css : 'two' } ) ;
616
- data . push ( { name : 'Tests completed...' , css : 'two' } ) ;
617
- console . log ( "-----------------------------" ) ;
618
- console . log ( "Tests completed!" ) ;
675
+ runExtraTests ( function ( ) {
676
+ data . push ( { name : "-----------------------------" , css : 'two' } ) ;
677
+ data . push ( { name : 'Tests completed...' , css : 'two' } ) ;
678
+ console . log ( "-----------------------------" ) ;
679
+ console . log ( "Tests completed!" ) ;
680
+ } )
619
681
} ) ;
620
682
} ) ;
621
683
} ) ;
0 commit comments