diff options
Diffstat (limited to 'tests/test_subcmds_sync.py')
-rw-r--r-- | tests/test_subcmds_sync.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/test_subcmds_sync.py b/tests/test_subcmds_sync.py index af6bbef7..13e23e34 100644 --- a/tests/test_subcmds_sync.py +++ b/tests/test_subcmds_sync.py | |||
@@ -304,6 +304,32 @@ class LocalSyncState(unittest.TestCase): | |||
304 | self.assertEqual(self.state.GetFetchTime(projA), 5) | 304 | self.assertEqual(self.state.GetFetchTime(projA), 5) |
305 | 305 | ||
306 | 306 | ||
307 | class SafeCheckoutOrder(unittest.TestCase): | ||
308 | def test_no_nested(self): | ||
309 | p_f = mock.MagicMock(relpath="f") | ||
310 | p_foo = mock.MagicMock(relpath="foo") | ||
311 | out = sync._SafeCheckoutOrder([p_f, p_foo]) | ||
312 | self.assertEqual(out, [[p_f, p_foo]]) | ||
313 | |||
314 | def test_basic_nested(self): | ||
315 | p_foo = p_foo = mock.MagicMock(relpath="foo") | ||
316 | p_foo_bar = mock.MagicMock(relpath="foo/bar") | ||
317 | out = sync._SafeCheckoutOrder([p_foo, p_foo_bar]) | ||
318 | self.assertEqual(out, [[p_foo], [p_foo_bar]]) | ||
319 | |||
320 | def test_complex_nested(self): | ||
321 | p_foo = mock.MagicMock(relpath="foo") | ||
322 | p_foo_bar = mock.MagicMock(relpath="foo/bar") | ||
323 | p_foo_bar_baz_baq = mock.MagicMock(relpath="foo/bar/baz/baq") | ||
324 | p_bar = mock.MagicMock(relpath="bar") | ||
325 | out = sync._SafeCheckoutOrder( | ||
326 | [p_foo_bar_baz_baq, p_foo, p_foo_bar, p_bar] | ||
327 | ) | ||
328 | self.assertEqual( | ||
329 | out, [[p_bar, p_foo], [p_foo_bar], [p_foo_bar_baz_baq]] | ||
330 | ) | ||
331 | |||
332 | |||
307 | class GetPreciousObjectsState(unittest.TestCase): | 333 | class GetPreciousObjectsState(unittest.TestCase): |
308 | """Tests for _GetPreciousObjectsState.""" | 334 | """Tests for _GetPreciousObjectsState.""" |
309 | 335 | ||