2018-02-12 15:32:18 -06:00
|
|
|
# -*- coding: utf-8; -*-
|
2014-11-18 23:29:26 -06:00
|
|
|
|
2018-02-12 15:32:18 -06:00
|
|
|
from __future__ import unicode_literals, absolute_import
|
2013-08-21 19:41:43 -05:00
|
|
|
|
|
|
|
from unittest import TestCase
|
2018-02-12 15:32:18 -06:00
|
|
|
from six import StringIO
|
|
|
|
|
2013-08-21 19:41:43 -05:00
|
|
|
from mock import patch
|
|
|
|
|
|
|
|
from rattail import csvutil
|
|
|
|
|
|
|
|
|
|
|
|
class TestDictWriter(TestCase):
|
|
|
|
|
|
|
|
def test_writeheader_26(self):
|
|
|
|
# Simulate Python 2.6
|
|
|
|
with patch('csv.writer'):
|
|
|
|
with patch('rattail.csvutil.csv.DictWriter', spec=['writer']) as DictWriter:
|
|
|
|
buf = StringIO()
|
|
|
|
writer = csvutil.DictWriter(buf, ['field1', 'field2'])
|
|
|
|
writer.writeheader()
|
|
|
|
buf.close()
|
|
|
|
writer.writer.writerow.assert_called_once_with(['field1', 'field2'])
|
|
|
|
|
|
|
|
def test_writeheader_27(self):
|
|
|
|
# Simulate Python 2.7+
|
|
|
|
with patch('csv.writer'):
|
|
|
|
with patch('rattail.csvutil.csv.DictWriter', spec=['writer', 'writeheader']) as DictWriter:
|
|
|
|
buf = StringIO()
|
|
|
|
writer = csvutil.DictWriter(buf, ['field1', 'field2'])
|
|
|
|
writer.writeheader()
|
|
|
|
buf.close()
|
|
|
|
self.assertFalse(writer.writer.writerow.called)
|
|
|
|
DictWriter.writeheader.assert_called_once_with(writer)
|