@@ -509,33 +509,21 @@ fn parse_update_with_table_alias() {
509509
510510#[ test]
511511fn parse_update_or ( ) {
512- let dialect = SQLiteDialect { } ;
513-
514- let check = |sql : & str , expected_action : Option < SqliteOnConflict > | match Parser :: parse_sql (
515- & dialect, sql,
516- )
517- . unwrap ( )
518- . pop ( )
519- . unwrap ( )
520- {
521- Statement :: Update { or, .. } => assert_eq ! ( or, expected_action) ,
522- _ => panic ! ( "{}" , sql) ,
512+ let expect_or_clause = |sql : & str , expected_action : SqliteOnConflict | match verified_stmt ( sql) {
513+ Statement :: Update { or, .. } => assert_eq ! ( or, Some ( expected_action) ) ,
514+ other => unreachable ! ( "Expected update with or, got {:?}" , other) ,
523515 } ;
524-
525- let sql = "UPDATE OR REPLACE t SET n = n + 1" ;
526- check ( sql, Some ( SqliteOnConflict :: Replace ) ) ;
527-
528- let sql = "UPDATE OR ROLLBACK t SET n = n + 1" ;
529- check ( sql, Some ( SqliteOnConflict :: Rollback ) ) ;
530-
531- let sql = "UPDATE OR ABORT t SET n = n + 1" ;
532- check ( sql, Some ( SqliteOnConflict :: Abort ) ) ;
533-
534- let sql = "UPDATE OR FAIL t SET n = n + 1" ;
535- check ( sql, Some ( SqliteOnConflict :: Fail ) ) ;
536-
537- let sql = "UPDATE OR IGNORE t SET n = n + 1" ;
538- check ( sql, Some ( SqliteOnConflict :: Ignore ) ) ;
516+ expect_or_clause (
517+ "UPDATE OR REPLACE t SET n = n + 1" ,
518+ SqliteOnConflict :: Replace ,
519+ ) ;
520+ expect_or_clause (
521+ "UPDATE OR ROLLBACK t SET n = n + 1" ,
522+ SqliteOnConflict :: Rollback ,
523+ ) ;
524+ expect_or_clause ( "UPDATE OR ABORT t SET n = n + 1" , SqliteOnConflict :: Abort ) ;
525+ expect_or_clause ( "UPDATE OR FAIL t SET n = n + 1" , SqliteOnConflict :: Fail ) ;
526+ expect_or_clause ( "UPDATE OR IGNORE t SET n = n + 1" , SqliteOnConflict :: Ignore ) ;
539527}
540528
541529#[ test]
0 commit comments