public void ResourceHandlerFactoryGetDllResource()
        {
            var factory = new ResourceHandlerFactory();
            var p1      = new DllResourceProvider("http://localhost/dist/v0.0.1",
                                                  "ViewExtensionLibraryTests",
                                                  Assembly.GetExecutingAssembly()
                                                  );

            var p2 = new DllResourceProvider("http://localhost/dynamo",
                                             "ViewExtensionLibraryTests.resources.Dynamo.svg",
                                             Assembly.GetExecutingAssembly()
                                             );

            factory.RegisterProvider("/dist/v0.0.1", p1);
            factory.RegisterProvider("/dynamo", p2);

            var req1 = new Mock <IRequest>();

            req1.Setup(r => r.Url).Returns("http://localhost/dist/v0.0.1/resources/Dynamo.svg");
            var req2 = new Mock <IRequest>();

            req2.Setup(r => r.Url).Returns("http://localhost/dynamo");

            var h1 = factory.GetResourceHandler(null, null, null, req1.Object);
            var h2 = factory.GetResourceHandler(null, null, null, req2.Object);

            Assert.IsNotNull(h1);
            Assert.IsNotNull(h2);
            Assert.IsTrue(factory.HasHandlers);
            Assert.AreEqual(2, factory.Handlers.Count);
        }
Exemplo n.º 2
0
        /// <summary>
        /// creates the resource providers that are used throughout the extensions lifetime
        /// to retrieve images and other resource files from disk.
        /// </summary>
        /// <param name="model"></param>
        /// <param name="customization"></param>
        private void InitializeResourceProviders(DynamoModel model, LibraryViewCustomization customization)
        {
            var dllProvider = new DllResourceProvider("http://localhost/dist", "Dynamo.LibraryViewExtensionMSWebBrowser.web.library");

            iconProvider             = new IconResourceProvider(model.PathManager, dllProvider, customization);
            nodeProvider             = new NodeItemDataProvider(model.SearchModel, iconProvider);
            searchResultDataProvider = new SearchResultDataProvider(model.SearchModel, iconProvider);
            layoutProvider           = new LayoutSpecProvider(customization, iconProvider, "Dynamo.LibraryViewExtensionMSWebBrowser.web.library.layoutSpecs.json");
        }
        public void CreateDllResourceProvider()
        {
            var factory = new ResourceHandlerFactory();
            var p1      = new DllResourceProvider("http://localhost/dist/v0.0.1",
                                                  "ViewExtensionLibraryTests",
                                                  Assembly.GetExecutingAssembly()
                                                  );

            Assert.IsTrue(p1.IsStaticResource);
            Assert.AreEqual("http", p1.Scheme);

            string extension = "txt";
            var    req       = new Mock <IRequest>();

            req.Setup(r => r.Url).Returns("http://localhost/dist/v0.0.1/resources/Dynamo.svg");
            var stream = p1.GetResource(req.Object, out extension);

            Assert.IsNotNull(stream);
            Assert.AreEqual("svg", extension);
            var size = stream.Length;


            var p2 = new DllResourceProvider("http://localhost/dynamo",
                                             "ViewExtensionLibraryTests.resources.Dynamo.svg",
                                             Assembly.GetExecutingAssembly()
                                             );

            Assert.IsTrue(p1.IsStaticResource);
            Assert.AreEqual("http", p1.Scheme);

            req.Setup(r => r.Url).Returns("http://localhost/dynamo");
            stream = p2.GetResource(req.Object, out extension);

            Assert.IsNotNull(stream);
            Assert.AreEqual("svg", extension);
            Assert.AreEqual(size, stream.Length);
        }