def test_xlsx_types(self, open_workbook, ext): with open_workbook(get_file("types", ext)) as workbook: self.assert_workbooks_equal( workbook, Workbook( worksheets=[ make_worksheet( title="Sheet1", rows=[ [u"String", u"Danny"], [u"Date", date(1988, 7, 7)], [u"Date Time", datetime(2016, 1, 1, 12, 0)], [u"Time", time(12, 0)], [u"Midnight", time(0, 0)], [u"Int", 28], [u"Int.0", 5], [u"Float", 5.1], [u"Bool-F", False], [u"Bool-T", True], [u"Empty", None], [u"Percent", 0.49], [u"Calculation", 2], [u"Styled", u"Styled"], [u"Empty Date", None], ], ) ] ), )
def test_xlsx_types(self, open_workbook, ext): with open_workbook(get_file('types', ext)) as workbook: self.assert_workbooks_equal( workbook, Workbook(worksheets=[ make_worksheet(title='Sheet1', rows=[ ['String', 'Danny'], ['Date', date(1988, 7, 7)], ['Date Time', datetime(2016, 1, 1, 12, 0)], ['Time', time(12, 0)], [ 'Midnight', date(1899, 12, 30) if ext == 'xlsx' else time(0, 0) ], ['Int', 28], ['Int.0', 5], ['Float', 5.1], ['Bool-F', False], ['Bool-T', True], ['Empty', None], ['Percent', 0.49], ['Calculation', 2], ['Styled', 'Styled'], ['Empty Date', None], ]), ]))
def test_file_ext(self): with self.assertRaises(SpreadsheetFileExtError) as cxt: with open_any_workbook(get_file('badext', 'ext')): pass self.assertRegexpMatches( cxt.exception.message, r'File .*/ext/badext.ext does not end in .xls or .xlsx')
def test_csv_types(self, open_workbook, ext): with open_workbook(get_file('types', ext)) as workbook: self.assert_workbooks_equal( workbook, Workbook( worksheets=[ make_worksheet(title='Sheet1', rows=[ ['String', 'Danny'], ['Date', '7/7/1988'], ['Date Time', '1/1/2016 12:00'], ['Time', '12:00 PM'], ['Midnight', '12:00 AM'], ['Int', '28'], ['Int.0', '5.0'], ['Float', '5.1'], ['Bool-F', 'FALSE'], ['Bool-T', 'TRUE'], ['Empty', ''], ['Percent', '49%'], ['Calculation', '2'], ['Styled', 'Sطαйλד tэξţ'], ['Empty Date', ''], ]), ] ) )
def test_xlsx_types(self, open_workbook, ext): with open_workbook(get_file('types', ext)) as workbook: self.assert_workbooks_equal( workbook, Workbook( worksheets=[ make_worksheet(title='Sheet1', rows=[ ['String', 'Danny'], ['Date', date(1988, 7, 7)], ['Date Time', datetime(2016, 1, 1, 12, 0)], ['Time', time(12, 0)], ['Midnight', date(1899, 12, 30) if ext == 'xlsx' else time(0, 0)], ['Int', 28], ['Int.0', 5], ['Float', 5.1], ['Bool-F', False], ['Bool-T', True], ['Empty', None], ['Percent', 0.49], ['Calculation', 2], ['Styled', 'Styled'], ['Empty Date', None], ]), ] ) )
def test_file_ext(self): with self.assertRaises(SpreadsheetFileExtError) as cxt: with open_any_workbook(get_file('badext', 'ext')): pass expected_error = ( r'File .*/ext/badext.ext does not have a valid extension. Valid ' 'extensions are: csv, xls, xlsx') self.assertRegex(str(cxt.exception), expected_error)
def test_file_encrypted(self, open_workbook, ext): with self.assertRaises(SpreadsheetFileEncrypted) as cxt: with open_workbook(get_file('encrypted', ext)): pass self.assertEqual(str(cxt.exception), 'Workbook is encrypted')
def test_mismatched_row_lengths(self, open_workbook, ext): with self.assertRaises(SpreadsheetFileInvalidError): with open_workbook(get_file('mixed', ext)): pass
def test_csv_file_encrypted(self, open_workbook, ext): """An encrypted CSV file raises a SpreadsheetFileInvalidError error.""" with self.assertRaises(SpreadsheetFileInvalidError): with open_workbook(get_file('encrypted', ext)): pass
def test_empty_file(self, open_workbook, ext): with self.assertRaises(SpreadsheetFileInvalidError): with open_workbook(get_file('empty_file', ext)): pass
def test_file_not_found(self, open_workbook, ext): with self.assertRaises(SpreadsheetFileNotFound): with open_workbook(get_file('nosuchfile', ext)): pass
def test_file_ext(self): with self.assertRaises(SpreadsheetFileExtError) as cxt: with open_any_workbook(get_file('badext', 'ext')): pass self.assertRegexpMatches(cxt.exception.message, r'File .*/ext/badext.ext does not end in .xls or .xlsx')
def test_file_encrypted(self, open_workbook, ext): with self.assertRaises(SpreadsheetFileEncrypted) as cxt: with open_workbook(get_file('encrypted', ext)): pass self.assertEqual(cxt.exception.message, u'Workbook is encrypted')