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
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-17 01:37 +0200
1"""Tests for the csv module."""
3import gws
4import gws.test.util as u
5import gws.lib.intl as intl
6import gws.plugin.csv_helper as csv
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"'
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"']
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 )
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')