From 0402bee369c27b0f500ff5b26faa14e4e95e70c2 Mon Sep 17 00:00:00 2001 From: XuShuo Date: Wed, 1 May 2024 07:47:59 +0800 Subject: [PATCH] test: Add test case for 9caa8a4 --- clause/where_test.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/clause/where_test.go b/clause/where_test.go index 9b69972e..5938ea63 100644 --- a/clause/where_test.go +++ b/clause/where_test.go @@ -152,6 +152,28 @@ func TestWhere(t *testing.T) { "SELECT * FROM `users` WHERE (`score` <= ? || `score` > ?) AND `score` > ?", []interface{}{100, 20, 0}, }, + { + []clause.Interface{clause.Select{}, clause.From{}, clause.Where{ + Exprs: []clause.Expression{clause.Not( + clause.Expr{SQL: "`score` <= ? || `score` > ?", + Vars: []interface{}{100, 20}}, + )}, + }}, + "SELECT * FROM `users` WHERE NOT (`score` <= ? || `score` > ?)", + []interface{}{100, 20}, + }, + { + []clause.Interface{clause.Select{}, clause.From{}, clause.Where{ + Exprs: []clause.Expression{clause.Not( + clause.Expr{SQL: "`score` <= ? || `score` > ?", + Vars: []interface{}{100, 20}}, + clause.Expr{SQL: "`score` > ?", + Vars: []interface{}{0}}, + )}, + }}, + "SELECT * FROM `users` WHERE NOT ((`score` <= ? || `score` > ?) AND `score` > ?)", + []interface{}{100, 20, 0}, + }, } for idx, result := range results {