Fix inspect attachment subtracks
This commit is contained in:
@@ -548,6 +548,11 @@ class TagTableScreenStateTests(unittest.TestCase):
|
||||
screen.tagsTable = FakeTagTable()
|
||||
screen.shiftedSeasonsTable = FakeTagTable()
|
||||
screen._PatternDetailsScreen__pattern = object()
|
||||
screen._PatternDetailsScreen__showDescriptor = None
|
||||
widgets = {
|
||||
"#show_quality_hint": FakeStaticWidget(),
|
||||
}
|
||||
screen.query_one = lambda selector, _type=None: widgets[selector]
|
||||
|
||||
calls = []
|
||||
screen.updateTags = lambda: calls.append("updateTags")
|
||||
@@ -561,6 +566,48 @@ class TagTableScreenStateTests(unittest.TestCase):
|
||||
calls,
|
||||
)
|
||||
|
||||
def test_pattern_details_screen_on_mount_shows_show_quality_hint_for_new_pattern(self):
|
||||
set_current_language("en")
|
||||
|
||||
screen = object.__new__(PatternDetailsScreen)
|
||||
screen.context = {}
|
||||
screen._PatternDetailsScreen__showDescriptor = ShowDescriptor(
|
||||
id=7,
|
||||
name="Demo",
|
||||
year=1999,
|
||||
quality=23,
|
||||
)
|
||||
screen._PatternDetailsScreen__pattern = None
|
||||
|
||||
widgets = {
|
||||
"#showlabel": FakeStaticWidget(),
|
||||
"#show_quality_hint": FakeStaticWidget(),
|
||||
}
|
||||
screen.query_one = lambda selector, _type=None: widgets[selector]
|
||||
|
||||
screen.on_mount()
|
||||
|
||||
self.assertEqual("7 - Demo (1999)", widgets["#showlabel"].value)
|
||||
self.assertEqual("Show: 23", widgets["#show_quality_hint"].value)
|
||||
|
||||
def test_pattern_details_screen_show_quality_hint_is_hidden_when_pattern_quality_exists(self):
|
||||
set_current_language("en")
|
||||
|
||||
screen = object.__new__(PatternDetailsScreen)
|
||||
screen._PatternDetailsScreen__showDescriptor = ShowDescriptor(
|
||||
id=7,
|
||||
name="Demo",
|
||||
year=1999,
|
||||
quality=23,
|
||||
)
|
||||
screen._PatternDetailsScreen__pattern = type(
|
||||
"_Pattern",
|
||||
(),
|
||||
{"quality": 19},
|
||||
)()
|
||||
|
||||
self.assertEqual("", screen.getShowQualityHintText())
|
||||
|
||||
def test_inspect_details_screen_handle_edit_pattern_refreshes_even_without_result(self):
|
||||
screen = object.__new__(InspectDetailsScreen)
|
||||
|
||||
@@ -722,7 +769,7 @@ class TagTableScreenStateTests(unittest.TestCase):
|
||||
self.assertIn("English Full", screen.tracksTable.rows["row-0"])
|
||||
self.assertIs(target_track, screen.getSelectedTrackDescriptor())
|
||||
|
||||
def test_inspect_details_screen_update_tracks_blanks_irrelevant_attachment_fields(self):
|
||||
def test_inspect_details_screen_update_tracks_shows_attachment_format_and_blanks_language(self):
|
||||
attachment_track = TrackDescriptor(
|
||||
index=4,
|
||||
source_index=4,
|
||||
@@ -745,10 +792,36 @@ class TagTableScreenStateTests(unittest.TestCase):
|
||||
row = screen.tracksTable.rows["row-0"]
|
||||
|
||||
self.assertEqual("4", row[0])
|
||||
self.assertEqual(" ", row[3])
|
||||
self.assertEqual("TTF", row[3])
|
||||
self.assertEqual(" ", row[5])
|
||||
self.assertEqual(" ", row[7])
|
||||
self.assertEqual(" ", row[8])
|
||||
|
||||
def test_inspect_details_screen_update_tracks_shows_unknown_for_unknown_attachment_format(self):
|
||||
attachment_track = TrackDescriptor(
|
||||
index=5,
|
||||
source_index=5,
|
||||
sub_index=0,
|
||||
track_type=TrackType.ATTACHMENT,
|
||||
attachment_format=AttachmentFormat.UNKNOWN,
|
||||
tags={"filename": "blob.bin", "mimetype": "application/octet-stream"},
|
||||
)
|
||||
|
||||
screen = object.__new__(InspectDetailsScreen)
|
||||
screen.tracksTable = FakeTagTable()
|
||||
screen._sourceMediaDescriptor = FakeMediaDescriptor([attachment_track])
|
||||
screen._targetMediaDescriptor = None
|
||||
screen._currentPattern = None
|
||||
screen._trackRowData = {}
|
||||
screen._applyNormalization = False
|
||||
|
||||
screen.updateTracks()
|
||||
|
||||
row = screen.tracksTable.rows["row-0"]
|
||||
|
||||
self.assertEqual("unknown", row[3])
|
||||
self.assertEqual(" ", row[5])
|
||||
|
||||
def test_inspect_details_screen_maps_target_selection_back_to_source_track(self):
|
||||
source_track = TrackDescriptor(
|
||||
index=3,
|
||||
|
||||
Reference in New Issue
Block a user