204
206
# TODO: assert that the pending box is set to show
205
207
commit_col = dlg._treeview_files.get_column(0)
206
208
self.assertEqual('Commit*', commit_col.get_title())
209
renderer = commit_col.get_cell_renderers()[0]
210
self.assertFalse(renderer.get_active())
208
212
values = [(r[0], r[1], r[2], r[3]) for r in dlg._pending_store]
209
213
self.assertEqual([(rev_id2, '2007-10-01', 'Joe Foo', 'two')], values)
250
254
dlg = commit.CommitDialog(tree)
251
255
values = [(r[0], r[1], r[2], r[3], r[4]) for r in dlg._files_store]
252
self.assertEqual([('a-id', 'a', True, 'a', 'added'),
256
self.assertEqual([(None, None, True, 'All Files', ''),
257
('a-id', 'a', True, 'a', 'added'),
253
258
('b-id', 'b', True, 'b/', 'added'),
254
259
('c-id', 'b/c', True, 'b/c', 'added'),
266
271
dlg = commit.CommitDialog(tree)
267
272
values = [(r[0], r[1], r[2], r[3], r[4]) for r in dlg._files_store]
268
self.assertEqual([('b-id', 'd', True, 'b/ => d/', 'renamed'),
273
self.assertEqual([(None, None, True, 'All Files', ''),
274
('b-id', 'd', True, 'b/ => d/', 'renamed'),
269
275
('a-id', 'd/a', True, 'a => d/a', 'renamed'),
280
286
dlg = commit.CommitDialog(tree)
281
287
values = [(r[0], r[1], r[2], r[3], r[4]) for r in dlg._files_store]
282
self.assertEqual([('a-id', 'a', True, 'a', 'modified'),
288
self.assertEqual([(None, None, True, 'All Files', ''),
289
('a-id', 'a', True, 'a', 'modified'),
285
292
def test_filelist_renamed_and_modified(self):
299
306
dlg = commit.CommitDialog(tree)
300
307
values = [(r[0], r[1], r[2], r[3], r[4]) for r in dlg._files_store]
301
self.assertEqual([('b-id', 'd', True, 'b/ => d/', 'renamed'),
308
self.assertEqual([(None, None, True, 'All Files', ''),
309
('b-id', 'd', True, 'b/ => d/', 'renamed'),
302
310
('a-id', 'd/a', True, 'a => d/a', 'renamed and modified'),
303
311
('c-id', 'd/c', True, 'd/c', 'modified'),
321
329
dlg = commit.CommitDialog(tree)
322
330
values = [(r[0], r[1], r[2], r[3], r[4]) for r in dlg._files_store]
323
self.assertEqual([('a-id', 'a', True, 'a => a/', 'kind changed'),
331
self.assertEqual([(None, None, True, 'All Files', ''),
332
('a-id', 'a', True, 'a => a/', 'kind changed'),
324
333
# ('b-id', 'c', True, 'b => c/', 'renamed and modified'),
336
345
dlg = commit.CommitDialog(tree)
337
346
values = [(r[0], r[1], r[2], r[3], r[4]) for r in dlg._files_store]
338
self.assertEqual([('a-id', 'a', True, 'a', 'removed'),
347
self.assertEqual([(None, None, True, 'All Files', ''),
348
('a-id', 'a', True, 'a', 'removed'),
339
349
('b-id', 'b', True, 'b/', 'removed'),
371
381
self.assertEqual('+new contents for a\n', text[11])
372
382
self.assertEqual('\n', text[12])
374
self.assertEqual('Diff for whole tree', dlg._diff_label.get_text())
384
self.assertEqual('Diff for All Files', dlg._diff_label.get_text())
376
386
def test_file_selection(self):
377
387
"""Several things should happen when a file has been selected."""
382
392
dlg = commit.CommitDialog(tree)
383
393
diff_buffer = dlg._diff_view.buffer
384
self.assertEqual('Diff for whole tree', dlg._diff_label.get_text())
394
self.assertEqual('Diff for All Files', dlg._diff_label.get_text())
386
dlg._treeview_files.set_cursor((0,))
396
dlg._treeview_files.set_cursor((1,))
387
397
self.assertEqual('Diff for a', dlg._diff_label.get_text())
388
398
text = diff_buffer.get_text(diff_buffer.get_start_iter(),
389
399
diff_buffer.get_end_iter()).splitlines(True)
396
406
self.assertEqual('+contents of tree/a\n', text[4])
397
407
self.assertEqual('\n', text[5])
399
dlg._treeview_files.set_cursor((1,))
409
dlg._treeview_files.set_cursor((2,))
400
410
self.assertEqual('Diff for b', dlg._diff_label.get_text())
401
411
text = diff_buffer.get_text(diff_buffer.get_start_iter(),
402
412
diff_buffer.get_end_iter()).splitlines(True)
408
418
self.assertEqual('@@ -0,0 +1,1 @@\n', text[3])
409
419
self.assertEqual('+contents of tree/b\n', text[4])
410
420
self.assertEqual('\n', text[5])
422
def test_toggle_all_files(self):
423
"""When checking the All Files entry, it should toggle all fields"""
424
tree = self.make_branch_and_tree('tree')
425
self.build_tree(['tree/a', 'tree/b/'])
426
tree.add(['a', 'b'], ['a-id', 'b-id'])
428
dlg = commit.CommitDialog(tree)
429
self.assertEqual([(None, None, True),
432
], [(r[0], r[1], r[2]) for r in dlg._files_store])
434
# TODO: jam 20071002 I'm not sure how to exactly trigger a toggle, it
435
# looks like we need to call renderer.activate() and pass an
436
# event and widget, and lots of other stuff I'm not sure what to
437
# do with. So instead, we just call toggle directly, and assume
438
# that toggle is hooked in correctly
439
# column = dlg._treeview_files.get_column(0)
440
# renderer = column.get_cell_renderers()[0]
442
# Toggle a single entry should set just that entry to False
443
dlg._toggle_commit(None, 1, dlg._files_store)
444
self.assertEqual([(None, None, True),
445
('a-id', 'a', False),
447
], [(r[0], r[1], r[2]) for r in dlg._files_store])
449
# Toggling the main entry should set all entries
450
dlg._toggle_commit(None, 0, dlg._files_store)
451
self.assertEqual([(None, None, False),
452
('a-id', 'a', False),
453
('b-id', 'b', False),
454
], [(r[0], r[1], r[2]) for r in dlg._files_store])
456
dlg._toggle_commit(None, 2, dlg._files_store)
457
self.assertEqual([(None, None, False),
458
('a-id', 'a', False),
460
], [(r[0], r[1], r[2]) for r in dlg._files_store])
462
dlg._toggle_commit(None, 0, dlg._files_store)
463
self.assertEqual([(None, None, True),
466
], [(r[0], r[1], r[2]) for r in dlg._files_store])