uri-asset: Fix retrieving a relocated asset sync twice
authorThibault Saunier <tsaunier@igalia.com>
Fri, 21 Jun 2019 15:45:20 +0000 (11:45 -0400)
committerThibault Saunier <tsaunier@igalia.com>
Fri, 5 Jul 2019 22:11:04 +0000 (18:11 -0400)
Add a simple test for that.

ges/ges-uri-asset.c
tests/check/python/test_assets.py

index 8c0f3b1..5e21f5d 100644 (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);
index afe1590..8108ba1 100644 (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")))
\ No newline at end of file
+            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)
\ No newline at end of file