Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(26)

Side by Side Diff: tests/git_dates_test.py

Issue 1559943003: Added git hyper-blame, a tool that skips unwanted commits in git blame. (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/depot_tools.git@master
Patch Set: Respond to review. Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tests/git_common_test.py ('k') | tests/git_hyper_blame_test.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 #!/usr/bin/env python
2 # Copyright 2016 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file.
5 """Tests for git_dates."""
6
7 import datetime
8 import os
9 import sys
10 import unittest
11
12 DEPOT_TOOLS_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
13 sys.path.insert(0, DEPOT_TOOLS_ROOT)
14
15 from testing_support import coverage_utils
16
17
18 class GitDatesTestBase(unittest.TestCase):
19 @classmethod
20 def setUpClass(cls):
21 super(GitDatesTestBase, cls).setUpClass()
22 import git_dates
23 cls.git_dates = git_dates
24
25
26 class GitDatesTest(GitDatesTestBase):
27 def testTimestampOffsetToDatetime(self):
28 # 2016-01-25 06:25:43 UTC
29 timestamp = 1453703143
30
31 offset = '+1100'
32 expected_tz = self.git_dates.FixedOffsetTZ(datetime.timedelta(hours=11), '')
33 expected = datetime.datetime(2016, 1, 25, 17, 25, 43, tzinfo=expected_tz)
34 result = self.git_dates.timestamp_offset_to_datetime(timestamp, offset)
35 self.assertEquals(expected, result)
36 self.assertEquals(datetime.timedelta(hours=11), result.utcoffset())
37 self.assertEquals('+1100', result.tzname())
38 self.assertEquals(datetime.timedelta(0), result.dst())
39
40 offset = '-0800'
41 expected_tz = self.git_dates.FixedOffsetTZ(datetime.timedelta(hours=-8), '')
42 expected = datetime.datetime(2016, 1, 24, 22, 25, 43, tzinfo=expected_tz)
43 result = self.git_dates.timestamp_offset_to_datetime(timestamp, offset)
44 self.assertEquals(expected, result)
45 self.assertEquals(datetime.timedelta(hours=-8), result.utcoffset())
46 self.assertEquals('-0800', result.tzname())
47 self.assertEquals(datetime.timedelta(0), result.dst())
48
49 # Invalid offset.
50 offset = '-08xx'
51 expected_tz = self.git_dates.FixedOffsetTZ(datetime.timedelta(hours=0), '')
52 expected = datetime.datetime(2016, 1, 25, 6, 25, 43, tzinfo=expected_tz)
53 result = self.git_dates.timestamp_offset_to_datetime(timestamp, offset)
54 self.assertEquals(expected, result)
55 self.assertEquals(datetime.timedelta(hours=0), result.utcoffset())
56 self.assertEquals('UTC', result.tzname())
57 self.assertEquals(datetime.timedelta(0), result.dst())
58
59 # Offset out of range.
60 offset = '+2400'
61 self.assertRaises(ValueError, self.git_dates.timestamp_offset_to_datetime,
62 timestamp, offset)
63
64 def testDatetimeString(self):
65 tz = self.git_dates.FixedOffsetTZ(datetime.timedelta(hours=11), '')
66 dt = datetime.datetime(2016, 1, 25, 17, 25, 43, tzinfo=tz)
67 self.assertEquals('2016-01-25 17:25:43 +1100',
68 self.git_dates.datetime_string(dt))
69
70 tz = self.git_dates.FixedOffsetTZ(datetime.timedelta(hours=-8), '')
71 dt = datetime.datetime(2016, 1, 24, 22, 25, 43, tzinfo=tz)
72 self.assertEquals('2016-01-24 22:25:43 -0800',
73 self.git_dates.datetime_string(dt))
74
75
76 if __name__ == '__main__':
77 sys.exit(coverage_utils.covered_main(
78 os.path.join(DEPOT_TOOLS_ROOT, 'git_dates.py')))
OLDNEW
« no previous file with comments | « tests/git_common_test.py ('k') | tests/git_hyper_blame_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698