1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
|
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""Tests for the WebKit time implementation."""
from __future__ import unicode_literals
import decimal
import unittest
from dfdatetime import webkit_time
class WebKitTimeEpochTest(unittest.TestCase):
"""Tests for the WebKit time epoch."""
def testInitialize(self):
"""Tests the __init__ function."""
webkit_epoch = webkit_time.WebKitTimeEpoch()
self.assertIsNotNone(webkit_epoch)
class WebKitTimeTest(unittest.TestCase):
"""Tests for the WebKit timestamp."""
# pylint: disable=protected-access
def testProperties(self):
"""Tests the properties."""
webkit_time_object = webkit_time.WebKitTime(timestamp=12926120791546875)
self.assertEqual(webkit_time_object.timestamp, 12926120791546875)
webkit_time_object = webkit_time.WebKitTime()
self.assertIsNone(webkit_time_object.timestamp)
def testGetNormalizedTimestamp(self):
"""Tests the _GetNormalizedTimestamp function."""
webkit_time_object = webkit_time.WebKitTime(timestamp=12926120791546875)
normalized_timestamp = webkit_time_object._GetNormalizedTimestamp()
self.assertEqual(normalized_timestamp, decimal.Decimal('1281647191.546875'))
webkit_time_object = webkit_time.WebKitTime(timestamp=0x1ffffffffffffffff)
normalized_timestamp = webkit_time_object._GetNormalizedTimestamp()
self.assertIsNone(normalized_timestamp)
webkit_time_object = webkit_time.WebKitTime()
normalized_timestamp = webkit_time_object._GetNormalizedTimestamp()
self.assertIsNone(normalized_timestamp)
def testCopyFromDateTimeString(self):
"""Tests the CopyFromDateTimeString function."""
webkit_time_object = webkit_time.WebKitTime()
expected_timestamp = 12926044800000000
webkit_time_object.CopyFromDateTimeString('2010-08-12')
self.assertEqual(webkit_time_object.timestamp, expected_timestamp)
expected_timestamp = 12926120791000000
webkit_time_object.CopyFromDateTimeString('2010-08-12 21:06:31')
self.assertEqual(webkit_time_object.timestamp, expected_timestamp)
expected_timestamp = 12926120791546875
webkit_time_object.CopyFromDateTimeString('2010-08-12 21:06:31.546875')
self.assertEqual(webkit_time_object.timestamp, expected_timestamp)
expected_timestamp = 12926124391546875
webkit_time_object.CopyFromDateTimeString(
'2010-08-12 21:06:31.546875-01:00')
self.assertEqual(webkit_time_object.timestamp, expected_timestamp)
expected_timestamp = 12926117191546875
webkit_time_object.CopyFromDateTimeString(
'2010-08-12 21:06:31.546875+01:00')
self.assertEqual(webkit_time_object.timestamp, expected_timestamp)
expected_timestamp = 86400 * 1000000
webkit_time_object.CopyFromDateTimeString('1601-01-02 00:00:00')
self.assertEqual(webkit_time_object.timestamp, expected_timestamp)
def testCopyToDateTimeString(self):
"""Tests the CopyToDateTimeString function."""
webkit_time_object = webkit_time.WebKitTime(timestamp=12926120791546875)
date_time_string = webkit_time_object.CopyToDateTimeString()
self.assertEqual(date_time_string, '2010-08-12 21:06:31.546875')
webkit_time_object = webkit_time.WebKitTime()
date_time_string = webkit_time_object.CopyToDateTimeString()
self.assertIsNone(date_time_string)
def testCopyToDateTimeStringISO8601(self):
"""Tests the CopyToDateTimeStringISO8601 function."""
webkit_time_object = webkit_time.WebKitTime(timestamp=12926120791546875)
date_time_string = webkit_time_object.CopyToDateTimeStringISO8601()
self.assertEqual(date_time_string, '2010-08-12T21:06:31.546875Z')
def testGetDate(self):
"""Tests the GetDate function."""
webkit_time_object = webkit_time.WebKitTime(timestamp=12926120791546875)
date_tuple = webkit_time_object.GetDate()
self.assertEqual(date_tuple, (2010, 8, 12))
webkit_time_object = webkit_time.WebKitTime()
date_tuple = webkit_time_object.GetDate()
self.assertEqual(date_tuple, (None, None, None))
def testGetTimeOfDay(self):
"""Tests the GetTimeOfDay function."""
webkit_time_object = webkit_time.WebKitTime(timestamp=12926120791546875)
time_of_day_tuple = webkit_time_object.GetTimeOfDay()
self.assertEqual(time_of_day_tuple, (21, 6, 31))
webkit_time_object = webkit_time.WebKitTime()
time_of_day_tuple = webkit_time_object.GetTimeOfDay()
self.assertEqual(time_of_day_tuple, (None, None, None))
if __name__ == '__main__':
unittest.main()
|