Coverage for gws-app/gws/plugin/csv_helper/_test.py: 0%

36 statements  

« prev     ^ index     » next       coverage.py v7.8.0, created at 2025-04-17 01:37 +0200

1"""Tests for the csv module.""" 

2 

3import gws 

4import gws.test.util as u 

5import gws.lib.intl as intl 

6import gws.plugin.csv_helper as csv 

7 

8 

9def test_write_headers(): 

10 cfg = csv.Config(format=gws.Config(delimiter=",", encoding='utf8', formulaHack=True, quote='"', quoteAll=False, rowDelimiter='\n')) 

11 obj = csv.Object() 

12 obj.initialize(cfg) 

13 wrt = obj.writer(intl.locale('en_US')) 

14 wrt.write_headers(['foo', 'bar', 'foo']) 

15 assert wrt.headers == r'"foo","bar","foo"' 

16 

17 

18def test_write_row(): 

19 cfg = csv.Config(format=gws.Config(delimiter=",", encoding='utf8', formulaHack=True, quote='"', quoteAll=False, rowDelimiter='\n')) 

20 obj = csv.Object() 

21 obj.initialize(cfg) 

22 wrt = obj.writer(intl.locale('en_US')) 

23 wrt.write_row(['foo', 'bar', 'foo']) 

24 assert wrt.rows == ['"foo","bar","foo"'] 

25 

26 

27def test_to_str(): 

28 cfg = csv.Config(format=gws.Config(delimiter=",", encoding='utf8', formulaHack=True, quote='"', quoteAll=False, rowDelimiter='\n')) 

29 obj = csv.Object() 

30 obj.initialize(cfg) 

31 wrt = obj.writer(intl.locale('en_US')) 

32 wrt.write_headers(['h1', 'h2', 'h3']) 

33 wrt.write_row(['r1', 'r2']) 

34 wrt.write_row(['r3', 'r4']) 

35 assert wrt.to_str() == ( 

36 '"h1","h2","h3"\n' 

37 '"r1","r2"\n' 

38 '"r3","r4"' 

39 ) 

40 

41 

42def test_to_bytes(): 

43 cfg = csv.Config(format=gws.Config(delimiter=",", encoding='utf8', formulaHack=True, quote='"', quoteAll=False, rowDelimiter='\n')) 

44 obj = csv.Object() 

45 obj.initialize(cfg) 

46 wrt = obj.writer(intl.locale('en_US')) 

47 wrt.write_headers(['h1', 'h2', 'h3']) 

48 wrt.write_row(['r1', 'r2']) 

49 assert wrt.to_bytes('utf8').decode('utf8') == wrt.to_str() 

50 assert wrt.to_bytes('utf8') == wrt.to_str().encode('utf8')