uri-asset: Fix retrieving a relocated asset sync twice

Add a simple test for that.
This commit is contained in:
Thibault Saunier 2019-06-21 11:45:20 -04:00
parent a2b0dd3859
commit 564505e16f
2 changed files with 15 additions and 2 deletions

View file

@ -455,6 +455,7 @@ asset_ready_cb (GESAsset * source, GAsyncResult * res, RequestSyncData * data)
gchar *possible_uri = ges_uri_asset_try_update_id (data->error, source);
if (possible_uri) {
ges_asset_try_proxy (source, possible_uri);
g_clear_error (&data->error);
ges_asset_request_async (GES_TYPE_URI_CLIP, possible_uri, NULL,
(GAsyncReadyCallback) asset_ready_cb, data);

View file

@ -31,13 +31,14 @@ from gi.repository import GES # noqa
import unittest # noqa
from unittest import mock
from . import common
from .common import GESSimpleTimelineTest # noqa
Gst.init(None)
GES.init()
class TestTimeline(unittest.TestCase):
class TestTimeline(GESSimpleTimelineTest):
def test_request_relocated_assets_sync(self):
path = os.path.join(__file__, "../../../", "png.png")
@ -47,4 +48,15 @@ class TestTimeline(unittest.TestCase):
GES.add_missing_uri_relocation_uri(Gst.filename_to_uri(os.path.join(__file__, "../../assets")), False)
path = os.path.join(__file__, "../../", "png.png")
self.assertEqual(GES.UriClipAsset.request_sync(Gst.filename_to_uri(path)).props.id,
Gst.filename_to_uri(os.path.join(__file__, "../../assets/png.png")))
Gst.filename_to_uri(os.path.join(__file__, "../../assets/png.png")))
def test_request_relocated_twice(self):
mainloop = common.create_main_loop()
GES.add_missing_uri_relocation_uri(Gst.filename_to_uri(os.path.join(__file__, "../../")), True)
proj = GES.Project.new()
asset = proj.create_asset_sync("file:///png.png", GES.UriClip)
self.assertIsNotNone(asset)
asset = proj.create_asset_sync("file:///png.png", GES.UriClip)
self.assertIsNotNone(asset)