@@ -839,6 +839,31 @@ def test_create_column_with_fk(self):
839
839
target = util .target_of (cr , "res_partner" , "_test_lang_id" )
840
840
self .assertEqual (target , ("res_lang" , "id" , "res_partner__test_lang_id_fkey" ))
841
841
842
+ def test_ColumnList (self ):
843
+ cr = self .env .cr
844
+
845
+ s = lambda c : c .as_string (cr ._cnx )
846
+
847
+ columns = util .ColumnList (["a" , "A" ], ['"a"' , '"A"' ])
848
+ self .assertEqual (len (columns ), 2 )
849
+
850
+ columns2 = util .ColumnList .from_unquoted (cr , ["a" , "A" ])
851
+ self .assertEqual (columns2 , columns )
852
+
853
+ # iterating it yield quoted columns
854
+ self .assertEqual (list (iter (columns )), ['"a"' , '"A"' ])
855
+
856
+ self .assertEqual (list (columns .iter_unquoted ()), ["a" , "A" ])
857
+
858
+ self .assertEqual (s (columns ), '"a", "A"' )
859
+
860
+ self .assertEqual (s (columns .using (alias = "t" )), '"t"."a", "t"."A"' )
861
+ self .assertEqual (s (columns .using (leading_comma = True )), ', "a", "A"' )
862
+ self .assertEqual (s (columns .using (trailing_comma = True )), '"a", "A",' )
863
+ self .assertEqual (s (columns .using (leading_comma = True , trailing_comma = True )), ', "a", "A",' )
864
+
865
+ self .assertIs (columns .using (), columns )
866
+
842
867
843
868
class TestORM (UnitTestCase ):
844
869
def test_create_cron (self ):
0 commit comments