Пример #1
0
 public ExportAssetUrls(AssetUrls inner, IAccessedCache cache, FubuDocsDirectories directories, ICurrentHttpRequest request)
 {
     _inner       = inner;
     _cache       = cache;
     _directories = directories;
     _request     = request;
 }
        public void determine_asset_url_respects_absolute_path()
        {
            var registry = new AssetUrls(new StubCurrentHttpRequest {
                TheApplicationRoot = "http://server"
            });

            registry.UrlForAsset(AssetFolder.images, "icon.png")
            .ShouldEqual("http://server/_content/images/icon.png");
        }
        public void image_url()
        {
            var page = MockRepository.GenerateMock<IFubuPage>();
            var urls = new AssetUrls(new StandInCurrentHttpRequest());
            page.Stub(x => x.Get<IAssetUrls>()).Return(urls);

            page.ImageUrl("some icon name")
                .ShouldEqual(urls.UrlForAsset(AssetFolder.images, "some icon name"));
        }
        public void determine_asset_url_complex()
        {
            var file = new AssetFile("shared/jquery.forms.js")
            {
                Folder = AssetFolder.scripts
            };

            AssetUrls.DetermineRelativeAssetUrl(file)
            .ShouldEqual("_content/scripts/shared/jquery.forms.js");
        }
Пример #5
0
        public void image_url()
        {
            var page = MockRepository.GenerateMock <IFubuPage>();
            var urls = new AssetUrls(new StandInCurrentHttpRequest());

            page.Stub(x => x.Get <IAssetUrls>()).Return(urls);

            page.ImageUrl("some icon name")
            .ShouldEqual(urls.UrlForAsset(AssetFolder.images, "some icon name"));
        }
Пример #6
0
        private IEnumerable <string> findUrls()
        {
            foreach (var chain in _graph.Behaviors)
            {
                if (chain.IsPartialOnly)
                {
                    continue;
                }
                if (chain.Route == null)
                {
                    continue;
                }
                if (!chain.Route.RespondsToMethod("GET"))
                {
                    continue;
                }


                if (chain.Route.Rank != 0)
                {
                    continue;
                }
                if (chain.InputType() != null && chain.InputType().CanBeCastTo <ResourcePath>())
                {
                    continue;
                }

                if (chain.Calls.Any(x => x.HandlerType.Assembly == Assembly.GetExecutingAssembly()))
                {
                    if (!chain.Calls.Any(x => x.HasAttribute <ExportAttribute>()))
                    {
                        continue;
                    }
                }

                var pattern = GetPattern(chain);

                if (ShouldIgnore(pattern))
                {
                    continue;
                }

                yield return(pattern);

                foreach (var route in chain.AdditionalRoutes)
                {
                    yield return(route.Pattern);
                }
            }

            foreach (var assetFile in _assetFiles.AllFiles())
            {
                if (assetFile.Name.Contains("diagnostics"))
                {
                    continue;
                }
                if (assetFile.Name.Contains("slickgrid"))
                {
                    continue;
                }

                yield return(AssetUrls.DetermineRelativeAssetUrl(assetFile.Folder, assetFile.Name));
            }
        }
 public void determine_asset_url_respects_absolute_path()
 {
     var registry = new AssetUrls(new StubCurrentHttpRequest{TheApplicationRoot = "http://server"});
     registry.UrlForAsset(AssetFolder.images, "icon.png")
         .ShouldEqual("http://server/_content/images/icon.png");
 }