OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 """Unit tests for git_cl.py.""" | 6 """Unit tests for git_cl.py.""" |
7 | 7 |
8 import os | 8 import os |
9 import StringIO | 9 import StringIO |
10 import stat | 10 import stat |
(...skipping 738 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
749 ('foo BUG=allo R=joe ', ['c@c'], 'foo BUG=allo R=joe\n\nR=c@c'), | 749 ('foo BUG=allo R=joe ', ['c@c'], 'foo BUG=allo R=joe\n\nR=c@c'), |
750 ] | 750 ] |
751 expected = [i[2] for i in data] | 751 expected = [i[2] for i in data] |
752 actual = [] | 752 actual = [] |
753 for orig, reviewers, _expected in data: | 753 for orig, reviewers, _expected in data: |
754 obj = git_cl.ChangeDescription(orig) | 754 obj = git_cl.ChangeDescription(orig) |
755 obj.update_reviewers(reviewers) | 755 obj.update_reviewers(reviewers) |
756 actual.append(obj.description) | 756 actual.append(obj.description) |
757 self.assertEqual(expected, actual) | 757 self.assertEqual(expected, actual) |
758 | 758 |
| 759 def test_get_target_ref(self): |
| 760 # Check remote or remote branch not present. |
| 761 self.assertEqual(None, git_cl.GetTargetRef('origin', None, 'master', None)) |
| 762 self.assertEqual(None, git_cl.GetTargetRef(None, |
| 763 'refs/remotes/origin/master', |
| 764 'master', None)) |
| 765 |
| 766 # Check default target refs for branches. |
| 767 self.assertEqual('refs/heads/master', |
| 768 git_cl.GetTargetRef('origin', 'refs/remotes/origin/master', |
| 769 None, None)) |
| 770 self.assertEqual('refs/heads/master', |
| 771 git_cl.GetTargetRef('origin', 'refs/remotes/origin/lkgr', |
| 772 None, None)) |
| 773 self.assertEqual('refs/heads/master', |
| 774 git_cl.GetTargetRef('origin', 'refs/remotes/origin/lkcr', |
| 775 None, None)) |
| 776 self.assertEqual('refs/branch-heads/123', |
| 777 git_cl.GetTargetRef('origin', |
| 778 'refs/remotes/branch-heads/123', |
| 779 None, None)) |
| 780 self.assertEqual('refs/diff/test', |
| 781 git_cl.GetTargetRef('origin', |
| 782 'refs/remotes/origin/refs/diff/test', |
| 783 None, None)) |
| 784 |
| 785 # Check target refs for user-specified target branch. |
| 786 for branch in ('branch-heads/123', 'remotes/branch-heads/123', |
| 787 'refs/remotes/branch-heads/123'): |
| 788 self.assertEqual('refs/branch-heads/123', |
| 789 git_cl.GetTargetRef('origin', |
| 790 'refs/remotes/origin/master', |
| 791 branch, None)) |
| 792 for branch in ('origin/master', 'remotes/origin/master', |
| 793 'refs/remotes/origin/master'): |
| 794 self.assertEqual('refs/heads/master', |
| 795 git_cl.GetTargetRef('origin', |
| 796 'refs/remotes/branch-heads/123', |
| 797 branch, None)) |
| 798 for branch in ('master', 'heads/master', 'refs/heads/master'): |
| 799 self.assertEqual('refs/heads/master', |
| 800 git_cl.GetTargetRef('origin', |
| 801 'refs/remotes/branch-heads/123', |
| 802 branch, None)) |
| 803 |
| 804 # Check target refs for pending prefix. |
| 805 self.assertEqual('prefix/heads/master', |
| 806 git_cl.GetTargetRef('origin', 'refs/remotes/origin/master', |
| 807 None, 'prefix/')) |
| 808 |
| 809 |
759 if __name__ == '__main__': | 810 if __name__ == '__main__': |
760 git_cl.logging.basicConfig( | 811 git_cl.logging.basicConfig( |
761 level=git_cl.logging.DEBUG if '-v' in sys.argv else git_cl.logging.ERROR) | 812 level=git_cl.logging.DEBUG if '-v' in sys.argv else git_cl.logging.ERROR) |
762 unittest.main() | 813 unittest.main() |
OLD | NEW |