private void configureServices(ServiceRegistry services) { services.ReplaceService <ITemplateRegistry <IRazorTemplate> >(_templateRegistry); services.SetServiceIfNone <IRazorTemplateGenerator, RazorTemplateGenerator>(); services.SetServiceIfNone <ITemplateCompiler, TemplateCompiler>(); services.SetServiceIfNone <ITemplateFactory, TemplateFactoryCache>(); services.ReplaceService <IParsingRegistrations <IRazorTemplate> >(_parsings); services.SetServiceIfNone <ITemplateDirectoryProvider <IRazorTemplate>, TemplateDirectoryProvider <IRazorTemplate> >(); services.SetServiceIfNone <ISharedPathBuilder>(new SharedPathBuilder()); services.SetServiceIfNone <IPartialRenderer, PartialRenderer>(); var graph = new SharingGraph(); services.SetServiceIfNone(graph); services.SetServiceIfNone <ISharingGraph>(graph); services.FillType <ISharedTemplateLocator <IRazorTemplate>, SharedTemplateLocator <IRazorTemplate> >(); services.FillType <ISharingAttacher <IRazorTemplate>, MasterAttacher <IRazorTemplate> >(); services.FillType <ITemplateSelector <IRazorTemplate>, RazorTemplateSelector>(); services.FillType <Bottles.IActivator, SharingAttacherActivator <IRazorTemplate> >(); services.FillType <IRenderStrategy, AjaxRenderStrategy>(); services.FillType <IRenderStrategy, DefaultRenderStrategy>(); services.SetServiceIfNone <IViewModifierService <IFubuRazorView>, ViewModifierService <IFubuRazorView> >(); services.FillType <IViewModifier <IFubuRazorView>, FubuPartialRendering>(); }
private void configureServices(IServiceRegistry services) { var configuration = new TemplateServiceConfiguration { BaseTemplateType = typeof(FubuRazorView) }; services.ReplaceService <ITemplateRegistry <IRazorTemplate> >(_templateRegistry); services.ReplaceService <IFubuTemplateService>(new FubuTemplateService(_templateRegistry, new TemplateService(configuration), new FileSystem())); services.ReplaceService <ITemplateServiceConfiguration>(configuration); services.ReplaceService <IParsingRegistrations <IRazorTemplate> >(_parsings); services.SetServiceIfNone <ITemplateDirectoryProvider <IRazorTemplate>, TemplateDirectoryProvider <IRazorTemplate> >(); services.SetServiceIfNone <ISharedPathBuilder>(new SharedPathBuilder()); var graph = new SharingGraph(); services.SetServiceIfNone(graph); services.SetServiceIfNone <ISharingGraph>(graph); services.FillType <IActivator, RazorActivator>(); services.FillType <ISharedTemplateLocator <IRazorTemplate>, SharedTemplateLocator <IRazorTemplate> >(); services.FillType <ISharingAttacher <IRazorTemplate>, MasterAttacher <IRazorTemplate> >(); services.FillType <ITemplateSelector <IRazorTemplate>, RazorTemplateSelector>(); services.FillType <IActivator, SharingAttacherActivator <IRazorTemplate> >(); services.FillType <IRenderStrategy, AjaxRenderStrategy>(); services.FillType <IRenderStrategy, DefaultRenderStrategy>(); services.SetServiceIfNone <IViewModifierService <IFubuRazorView>, ViewModifierService <IFubuRazorView> >(); services.FillType <IViewModifier <IFubuRazorView>, LayoutActivation>(); services.FillType <IViewModifier <IFubuRazorView>, PartialRendering>(); services.FillType <IViewModifier <IFubuRazorView>, FubuPartialRendering>(); }
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 allTemplates = new TemplateRegistry <IRazorTemplate>(); var razorSettings = new RazorEngineSettings(); var razorSet = razorSettings.Search; new ContentFolder(TemplateConstants.HostOrigin, pathApp).FindFiles(razorSet) .Union(new ContentFolder("Package1", pathPackage1).FindFiles(razorSet) .Union(new ContentFolder("Package2", pathPackage2).FindFiles(razorSet))) .Each(x => { if (x.Provenance == TemplateConstants.HostOrigin && x.Path.StartsWith(pathPackage1)) { return; } allTemplates.Register(new Template(x.Path, x.ProvenancePath, x.Provenance)); }); var viewPathPolicy = new ViewPathPolicy <IRazorTemplate>(); allTemplates.Each(x => { viewPathPolicy.Apply(x); x.Descriptor = new ViewDescriptor <IRazorTemplate>(x); }); var commonNamespaces = new CommonViewNamespaces(); commonNamespaces.AddForType <string>(); _templateFactory = new TemplateFactoryCache(commonNamespaces, razorSettings, new TemplateCompiler(), new RazorTemplateGenerator()); _pak1TemplateRegistry = new TemplateRegistry <IRazorTemplate>(allTemplates.ByOrigin(Package1)); _pak2TemplateRegistry = new TemplateRegistry <IRazorTemplate>(allTemplates.ByOrigin(Package2)); _appTemplateRegistry = new TemplateRegistry <IRazorTemplate>(allTemplates.FromHost()); _serviceLocator = MockRepository.GenerateMock <IServiceLocator>(); var sharingGraph = new SharingGraph(); sharingGraph.Dependency("Package1", ContentFolder.Application); sharingGraph.Dependency("Package2", ContentFolder.Application); var templateDirectory = new TemplateDirectoryProvider <IRazorTemplate>(new SharedPathBuilder(), allTemplates, sharingGraph); _sharedTemplateLocator = new SharedTemplateLocator <IRazorTemplate>(templateDirectory, allTemplates, new RazorTemplateSelector()); var partialRenderer = new PartialRenderer(_sharedTemplateLocator, _templateFactory); _serviceLocator.Expect(x => x.GetInstance(Arg.Is(typeof(IPartialRenderer)))).Return(partialRenderer); _serviceLocator.Expect(x => x.GetInstance(typeof(IOutputWriter))).Return(MockRepository.GenerateMock <IOutputWriter>()); }
public void beforeEach() { _policies = new List <ISharingPolicy> { MockRepository.GenerateMock <ISharingPolicy>() }; _graph = new SharingGraph(); _packageLog = MockRepository.GenerateMock <IPackageLog>(); _sharingLogs = new SharingLogsCache(); _activator = new SharingPolicyActivator(_graph, _sharingLogs, _policies); }
public void beforeEach() { Directory.GetFiles(".", "*view.config").Each(File.Delete); _graph = new SharingGraph(); _fileSystem = new FileSystem(); _packageLog = new PackageLog(); _sharingLogs = new SharingLogsCache(); _activator = new SharingConfigActivator(_graph, _sharingLogs, new FubuApplicationFiles()); }
private void configureServices(IServiceRegistry services) { services.ReplaceService <ISparkTemplateRegistry>(_templateRegistry); services.ReplaceService <ITemplateRegistry <ITemplate> >(_templateRegistry); services.ReplaceService <IParsingRegistrations <ITemplate> >(_parsings); var graph = new SharingGraph(); services.SetServiceIfNone(graph); services.SetServiceIfNone <ISharingGraph>(graph); services.SetServiceIfNone <ISparkViewEngine>(new SparkViewEngine()); services.SetServiceIfNone <ICacheService>(new DefaultCacheService(HttpRuntime.Cache)); services.SetServiceIfNone(new SharingLogsCache()); services.FillType <IActivator, SharingConfigActivator>(); services.FillType <IActivator, SharingPolicyActivator>(); services.FillType <IActivator, SharingAttacherActivator <ITemplate> >(); services.FillType <IActivator, SparkActivator>(); services.FillType <IActivator, SparkPrecompiler>(); services.FillType <ISharingAttacher <ITemplate>, MasterAttacher <ITemplate> >(); services.FillType <ISharingAttacher <ITemplate>, BindingsAttacher>(); services.SetServiceIfNone <ISharedPathBuilder>(new SharedPathBuilder()); services.SetServiceIfNone <ITemplateDirectoryProvider <ITemplate>, TemplateDirectoryProvider <ITemplate> >(); services.SetServiceIfNone <ISharedTemplateLocator, SharedTemplateLocator>(); services.FillType <ISharedTemplateLocator <ITemplate>, SharedTemplateLocator>(); services.FillType <IRenderStrategy, NestedRenderStrategy>(); services.FillType <IRenderStrategy, AjaxRenderStrategy>(); services.FillType <IRenderStrategy, DefaultRenderStrategy>(); services.FillType <ITemplateSelector <ITemplate>, SparkTemplateSelector>(); services.SetServiceIfNone <IViewEntryProviderCache, ViewEntryProviderCache>(); services.SetServiceIfNone <IViewModifierService <IFubuSparkView>, ViewModifierService <IFubuSparkView> >(); services.FillType <IViewModifier <IFubuSparkView>, PageActivation <IFubuSparkView> >(); services.FillType <IViewModifier <IFubuSparkView>, SiteResourceAttacher>(); services.FillType <IViewModifier <IFubuSparkView>, ContentActivation>(); services.FillType <IViewModifier <IFubuSparkView>, OnceTableActivation>(); services.FillType <IViewModifier <IFubuSparkView>, OuterViewOutputActivator>(); services.FillType <IViewModifier <IFubuSparkView>, NestedViewOutputActivator>(); services.FillType <IViewModifier <IFubuSparkView>, ViewContentDisposer>(); services.FillType <IViewModifier <IFubuSparkView>, NestedOutputActivation>(); services.SetServiceIfNone <IHtmlEncoder, DefaultHtmlEncoder>(); services.SetServiceIfNone(new DefaultViewDefinitionPolicy()); services.SetServiceIfNone <IViewDefinitionResolver, ViewDefinitionResolver>(); }
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 allTemplates = new TemplateRegistry <IRazorTemplate>(); var razorSet = new RazorEngineSettings().Search; new ContentFolder(TemplateConstants.HostOrigin, pathApp).FindFiles(razorSet) .Union(new ContentFolder("Package1", pathPackage1).FindFiles(razorSet) .Union(new ContentFolder("Package2", pathPackage2).FindFiles(razorSet))) .Each(x => { if (x.Provenance == TemplateConstants.HostOrigin && x.Path.StartsWith(pathPackage1)) { return; } allTemplates.Register(new Template(x.Path, x.ProvenancePath, x.Provenance)); }); var viewPathPolicy = new ViewPathPolicy <IRazorTemplate>(); allTemplates.Each(viewPathPolicy.Apply); var config = new TemplateServiceConfiguration { BaseTemplateType = typeof(FubuRazorView) }; _templateService = new FubuTemplateService(allTemplates, new TemplateService(config), new FileSystem()); _pak1TemplateRegistry = new TemplateRegistry <IRazorTemplate>(allTemplates.ByOrigin(Package1)); _pak2TemplateRegistry = new TemplateRegistry <IRazorTemplate>(allTemplates.ByOrigin(Package2)); _appTemplateRegistry = new TemplateRegistry <IRazorTemplate>(allTemplates.FromHost()); _serviceLocator = MockRepository.GenerateMock <IServiceLocator>(); var sharingGraph = new SharingGraph(); sharingGraph.Dependency("Package1", ContentFolder.Application); sharingGraph.Dependency("Package2", ContentFolder.Application); var templateDirectory = new TemplateDirectoryProvider <IRazorTemplate>(new SharedPathBuilder(), allTemplates, sharingGraph); _sharedTemplateLocator = new SharedTemplateLocator <IRazorTemplate>(templateDirectory, allTemplates, new RazorTemplateSelector()); }
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)); }
protected override void beforeEach() { _root = AppDomain.CurrentDomain.BaseDirectory; _pak1Root = FileSystem.Combine(_root, "Packs", "Pak1"); _pak2Root = FileSystem.Combine(_root, "Packs", "Pak2"); _templates = new TemplateRegistry { new Template(FileSystem.Combine(_root, "Actions", "Home", "home.spark"), _root, FubuSparkConstants.HostOrigin), new Template(FileSystem.Combine(_pak1Root, "Actions", "Home", "home.spark"), _pak1Root, "Pak1"), new Template(FileSystem.Combine(_pak2Root, "Home", "home.spark"), _pak2Root, "Pak2") }; _graph = new SharingGraph(); _graph.Dependency("Pak1", "Pak2"); _graph.Dependency("Pak2", FubuSparkConstants.HostOrigin); _graph.Dependency(FubuSparkConstants.HostOrigin, "Pak3"); Container.Inject <ISharedPathBuilder>(new SharedPathBuilder(new [] { Shared })); Container.Inject <ISharingGraph>(_graph); Container.Inject <ITemplateRegistry>(_templates); }