ff
This commit is contained in:
@@ -190,7 +190,7 @@ class TagTableScreenStateTests(unittest.TestCase):
|
||||
widgets = {
|
||||
"#type_select": FakeValueWidget(TrackType.AUDIO),
|
||||
"#audio_layout_select": FakeValueWidget(AudioLayout.LAYOUT_STEREO),
|
||||
"#drop_checkbox": FakeSelectionListWidget({0}),
|
||||
"#drop_checkbox": FakeValueWidget(True),
|
||||
"#language_select": FakeValueWidget(IsoLanguage.GERMAN),
|
||||
"#title_input": FakeInputWidget("German Audio"),
|
||||
"#dispositions_selection_list": FakeSelectionListWidget({0, 6}),
|
||||
@@ -220,7 +220,7 @@ class TagTableScreenStateTests(unittest.TestCase):
|
||||
widgets = {
|
||||
"#type_select": FakeValueWidget(TrackType.ATTACHMENT),
|
||||
"#audio_layout_select": FakeValueWidget(AudioLayout.LAYOUT_UNDEFINED),
|
||||
"#drop_checkbox": FakeSelectionListWidget(set()),
|
||||
"#drop_checkbox": FakeValueWidget(False),
|
||||
"#language_select": FakeValueWidget(Select.NULL),
|
||||
"#title_input": FakeInputWidget(""),
|
||||
"#dispositions_selection_list": FakeSelectionListWidget(set()),
|
||||
@@ -329,7 +329,7 @@ class TagTableScreenStateTests(unittest.TestCase):
|
||||
"#pattern_label": FakeStaticWidget(),
|
||||
"#type_select": FakeValueWidget(None),
|
||||
"#audio_layout_select": FakeValueWidget(None),
|
||||
"#drop_checkbox": FakeSelectionListWidget(set()),
|
||||
"#drop_checkbox": FakeValueWidget(False),
|
||||
"#dispositions_selection_list": FakeSelectionListWidget(set()),
|
||||
"#language_select": FakeValueWidget(None),
|
||||
"#title_input": FakeInputWidget(""),
|
||||
@@ -376,6 +376,65 @@ class TagTableScreenStateTests(unittest.TestCase):
|
||||
self.assertIs(second_track, screen.getSelectedTrackDescriptor())
|
||||
self.assertEqual("Ja", screen.tracksTable.rows["row-1"][9])
|
||||
|
||||
def test_pattern_details_screen_toggles_draft_track_drop_state(self):
|
||||
first_track = make_track_descriptor(0, 0, TrackType.VIDEO)
|
||||
second_track = make_track_descriptor(1, 0, TrackType.SUBTITLE)
|
||||
|
||||
screen = object.__new__(PatternDetailsScreen)
|
||||
screen.context = {"logger": get_ffx_logger()}
|
||||
screen.tracksTable = FakeTagTable()
|
||||
screen._PatternDetailsScreen__draftTracks = [first_track, second_track]
|
||||
screen._PatternDetailsScreen__pattern = None
|
||||
screen._PatternDetailsScreen__trackRowData = {}
|
||||
|
||||
screen.updateTracks()
|
||||
screen.tracksTable.select_row("row-1")
|
||||
|
||||
screen.toggleSelectedTrackDropped(screen.getSelectedTrackDescriptor())
|
||||
|
||||
self.assertFalse(first_track.isDropped())
|
||||
self.assertTrue(second_track.isDropped())
|
||||
self.assertEqual("Ja", list(screen.tracksTable.rows.values())[1][9])
|
||||
|
||||
def test_pattern_details_screen_toggles_persisted_track_drop_state(self):
|
||||
class _FakePattern:
|
||||
def getId(self):
|
||||
return 5
|
||||
|
||||
class _FakeTrackController:
|
||||
def __init__(self):
|
||||
self.updated = []
|
||||
|
||||
def updateTrack(self, track_id, track_descriptor):
|
||||
self.updated.append((track_id, track_descriptor))
|
||||
return True
|
||||
|
||||
track = TrackDescriptor(
|
||||
id=17,
|
||||
pattern_id=5,
|
||||
index=1,
|
||||
source_index=1,
|
||||
sub_index=0,
|
||||
track_type=TrackType.SUBTITLE,
|
||||
codec_name=TrackCodec.UNKNOWN,
|
||||
dropped=False,
|
||||
)
|
||||
track_controller = _FakeTrackController()
|
||||
|
||||
screen = object.__new__(PatternDetailsScreen)
|
||||
screen.context = {"logger": get_ffx_logger()}
|
||||
screen._PatternDetailsScreen__pattern = _FakePattern()
|
||||
screen._PatternDetailsScreen__tc = track_controller
|
||||
screen.updateTracks = lambda: None
|
||||
|
||||
screen.toggleSelectedTrackDropped(track)
|
||||
|
||||
self.assertEqual(1, len(track_controller.updated))
|
||||
track_id, updated_track = track_controller.updated[0]
|
||||
self.assertEqual(17, track_id)
|
||||
self.assertFalse(track.isDropped())
|
||||
self.assertTrue(updated_track.isDropped())
|
||||
|
||||
def test_pattern_details_screen_reads_selected_tag_from_raw_row_mapping(self):
|
||||
screen = object.__new__(PatternDetailsScreen)
|
||||
screen.tagsTable = FakeTagTable()
|
||||
|
||||
Reference in New Issue
Block a user