@@ -839,6 +839,31 @@ def test_create_column_with_fk(self):
839839 target = util .target_of (cr , "res_partner" , "_test_lang_id" )
840840 self .assertEqual (target , ("res_lang" , "id" , "res_partner__test_lang_id_fkey" ))
841841
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+
842867
843868class TestORM (UnitTestCase ):
844869 def test_create_cron (self ):
0 commit comments