Пример #1
0
        public ExtendedTester()
        {
            var testRoot = Path.Combine(Directory.GetCurrentDirectory(), "Templates");

            var pathApp = Path.Combine(testRoot, "App");
            var pathPackage1 = Path.Combine(pathApp, "fubu-packages", "Package1", "WebContent");
            var pathPackage2 = Path.Combine(testRoot, "Package2");

            var templateRegistry = new TemplateRegistry<ITemplate>();
            var sparkSet = new SparkEngineSettings().Search;

            new ContentFolder(TemplateConstants.HostOrigin, pathApp).FindFiles(sparkSet)
                .Union(new ContentFolder("Package1", pathPackage1).FindFiles(sparkSet)
                .Union(new ContentFolder("Package2", pathPackage2).FindFiles(sparkSet)))
                .Each(x =>
                {
                    if (x.Provenance == TemplateConstants.HostOrigin && x.Path.StartsWith(pathPackage1)) return;
                    templateRegistry.Register(new Template(x.Path, x.ProvenancePath, x.Provenance));
                });

            var viewPathPolicy = new ViewPathPolicy<ITemplate>();
            templateRegistry.Each(viewPathPolicy.Apply);

            _viewFolder = new TemplateViewFolder(templateRegistry);
            _engine = new SparkViewEngine
            {
                ViewFolder = _viewFolder,
                BindingProvider = new FubuBindingProvider(new SparkTemplateRegistry(templateRegistry))
            };

            _pak1TemplateRegistry = new TemplateRegistry<ITemplate>(templateRegistry.ByOrigin(Package1));
            _pak2TemplateRegistry = new TemplateRegistry<ITemplate>(templateRegistry.ByOrigin(Package2));
            _appTemplateRegistry = new TemplateRegistry<ITemplate>(templateRegistry.FromHost());
        }
Пример #2
0
        public SparkTemplate(IFubuApplicationFiles files, IFubuFile file, ISparkViewEngine engine, SparkEngineSettings settings)
            : base(file, files)
        {
            _settings = settings;
            _full     = new Lazy <SparkViewDescriptor>(() => createSparkDescriptor(true));
            _partial  = new Lazy <SparkViewDescriptor>(() => createSparkDescriptor(false));

            _viewEntry        = new WatchedSparkEntry(() => engine.CreateEntry(_full.Value));
            _partialViewEntry = new WatchedSparkEntry(() => engine.CreateEntry(_partial.Value));
        }
Пример #3
0
        protected override void beforeEach()
        {
            theSettings = new SparkEngineSettings();

            Services.Inject(theSettings);

            var descriptor1   = new SparkDescriptor(new Template("a.spark", "root", "origin"));
            var descriptor2   = new SparkDescriptor(new Template("b.spark", "root", "origin"));
            var nativePartial = new SparkDescriptor(new Template("_Yeah.spark", "root", "origin"));

            MockFor <ISparkTemplateRegistry>().Expect(x => x.ViewDescriptors()).Return(new[] { descriptor1, descriptor2, nativePartial });
            MockFor <IViewEntryProviderCache>().Expect(x => x.GetViewEntry(Arg <SparkViewDescriptor> .Is.NotNull)).Repeat.Times(3);
        }
Пример #4
0
        public ExtendedTester()
        {
            var testRoot = Path.Combine(Directory.GetCurrentDirectory(), "Templates");

            var pathApp       = Path.Combine(testRoot, "App");
            var pathPackage1  = Path.Combine(pathApp, "fubu-packages", "Package1", "WebContent");
            var pathPackage2  = Path.Combine(testRoot, "Package2");
            var globalPackage = Path.Combine(testRoot, "Global");

            var templateRegistry = new TemplateRegistry <ITemplate>();
            var sparkSet         = new SparkEngineSettings().Search;

            _sharingGraph = new SharingGraph();
            _sharingGraph.Global("Global");
            _sharingGraph.CompileDependencies("Package1", "Package2");

            new ContentFolder(TemplateConstants.HostOrigin, pathApp).FindFiles(sparkSet)
            .Union(new ContentFolder("Package1", pathPackage1).FindFiles(sparkSet)
                   .Union(new ContentFolder("Package2", pathPackage2).FindFiles(sparkSet)
                          .Union(new ContentFolder("Global", globalPackage).FindFiles(sparkSet))))
            .Each(x =>
            {
                if (x.Provenance == TemplateConstants.HostOrigin && x.Path.StartsWith(pathPackage1))
                {
                    return;
                }
                templateRegistry.Register(new Template(x.Path, x.ProvenancePath, x.Provenance));
            });

            var viewPathPolicy = new ViewPathPolicy <ITemplate>();

            templateRegistry.Each(viewPathPolicy.Apply);

            _viewFolder = new TemplateViewFolder(templateRegistry);
            _templateDirectoryProvider = new TemplateDirectoryProvider <ITemplate>(new SharedPathBuilder(), templateRegistry, _sharingGraph);
            _engine = new SparkViewEngine
            {
                ViewFolder      = _viewFolder,
                BindingProvider = new FubuBindingProvider(new SparkTemplateRegistry(templateRegistry)),
                PartialProvider = new FubuPartialProvider(_templateDirectoryProvider)
            };

            _pak1TemplateRegistry   = new TemplateRegistry <ITemplate>(templateRegistry.ByOrigin(Package1));
            _pak2TemplateRegistry   = new TemplateRegistry <ITemplate>(templateRegistry.ByOrigin(Package2));
            _appTemplateRegistry    = new TemplateRegistry <ITemplate>(templateRegistry.FromHost());
            _globalTemplateRegistry = new TemplateRegistry <ITemplate>(templateRegistry.ByOrigin(Global));
        }