From 826474371831153a5280a6877e3c1c411316eb32 Mon Sep 17 00:00:00 2001 From: Mike Cooper Date: Wed, 12 Oct 2011 19:13:27 +0000 Subject: [PATCH] Make tests work again, fix Author test, make tests for wok.util.date_and_times. --- wok/tests/__init__.py | 0 wok/tests/test_page.py | 8 ++-- wok/tests/test_util.py | 96 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 100 insertions(+), 4 deletions(-) create mode 100644 wok/tests/__init__.py diff --git a/wok/tests/__init__.py b/wok/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/wok/tests/test_page.py b/wok/tests/test_page.py index 8a10ede..4de7e21 100644 --- a/wok/tests/test_page.py +++ b/wok/tests/test_page.py @@ -3,20 +3,20 @@ except ImportError: from unittest import TestCase -from wok.page import Page +from wok.page import Author class TestAuthor(TestCase): def test_author(self): - a = Page.Author.parse('Bob Smith') + a = Author.parse('Bob Smith') self.assertEqual(a.raw, 'Bob Smith') self.assertEqual(a.name, 'Bob Smith') - a = Page.Author.parse('Bob Smith ') + a = Author.parse('Bob Smith ') self.assertEqual(a.raw, 'Bob Smith ') self.assertEqual(a.name, 'Bob Smith') self.assertEqual(a.email, 'bob@here.com') - a = Page.Author.parse('') + a = Author.parse('') self.assertEqual(a.raw, '') self.assertEqual(a.email, 'bob@here.com') diff --git a/wok/tests/test_util.py b/wok/tests/test_util.py index 8b797f2..2e98ce3 100644 --- a/wok/tests/test_util.py +++ b/wok/tests/test_util.py @@ -3,6 +3,8 @@ except ImportError: from unittest import TestCase +from datetime import date, time, datetime, tzinfo + from wok import util class TestSlugs(TestCase): @@ -42,3 +44,97 @@ def test_apostrophes(self): self.assertEqual(slug, util.slugify(orig)) test_apostrophes.todo = "Apostrophes are treated like normal words right now" + +class TestDatetimes(TestCase): + + def setUp(self): + """ + The date used is February 3rd, 2011 at 00:23 in the morning. + + The datetime is the first commit of wok. + The date is the day this test was first written. + The time is pi second, in GMT-8. + """ + self.datetime = datetime(2011, 2, 3, 0, 23, 0, 0) + self.date = date(2011, 10, 12) + self.time = time(3, 14, 15, 0) + + def test_blanks(self): + inp = {} + out = {'datetime': None, 'date': None, 'time': None, } + + util.date_and_times(inp) + self.assertEquals(inp, out) + + def test_just_date(self): + inp = {'date': self.date} + out = { + 'datetime': datetime(2011, 10, 12, 0, 0, 0, 0), + 'date': self.date, + 'time': None, + } + + util.date_and_times(inp) + self.assertEquals(inp, out) + + def test_just_time(self): + inp = {'time': self.time} + out = {'datetime': None, 'date': None, 'time': self.time, } + + util.date_and_times(inp) + self.assertEquals(inp, out) + + def test_date_and_times(self): + inp = {'date': self.date, 'time': self.time} + out = { + 'datetime': datetime(2011, 10, 12, 3, 14, 15, 0), + 'date': self.date, + 'time': self.time, + } + + util.date_and_times(inp) + self.assertEquals(inp, out) + + def test_just_datetime(self): + inp = {'datetime': self.datetime} + out = { + 'datetime': self.datetime, + 'date': self.datetime.date(), + 'time': self.datetime.time(), + } + + util.date_and_times(inp) + self.assertEquals(inp, out) + + def test_datetime_and_date(self): + inp = {'datetime': self.datetime, 'date': self.date} + out = { + 'datetime': datetime(2011, 10, 12, 0, 23, 0, 0), + 'date': self.date, + 'time': self.datetime.time(), + } + + util.date_and_times(inp) + self.assertEquals(inp, out) + + def test_datetime_and_time(self): + inp = {'datetime': self.datetime, 'time': self.time} + out = { + 'datetime': datetime(2011, 2, 3, 3, 14, 15, 0), + 'date': self.datetime.date(), + 'time': self.time, + } + + util.date_and_times(inp) + self.assertEquals(inp, out) + + def test_all(self): + inp = {'datetime': self.datetime, 'date': self.date, 'time': self.time} + out = { + 'datetime': datetime(2011, 10, 12, 3, 14, 15, 0), + 'date': self.date, + 'time': self.time, + } + + util.date_and_times(inp) + self.assertEquals(inp, out)