コード例 #1
0
        public static IMvcBuilder AddPugzor(this IMvcBuilder builder, Action <PugzorViewEngineOptions> setupAction = null)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            builder.Services.AddOptions()
            .AddTransient <IConfigureOptions <PugzorViewEngineOptions>, PugzorViewEngineOptionsSetup>();

            if (setupAction != null)
            {
                builder.Services.Configure(setupAction);
            }

            builder.Services
            .AddTransient <IConfigureOptions <MvcViewOptions>, PugzorMvcViewOptionsSetup>()
            .AddSingleton <IPugRendering, PugRendering>()
            .AddSingleton <IPugzorViewEngine, PugzorViewEngine>()
            .AddNodeServices(options =>
            {
                options.ProjectPath = TemporaryDirectoryHelper.CreateTemporaryDirectory();
            });

            return(builder);
        }
コード例 #2
0
        void Directory_Created_Exists()
        {
            var path   = TemporaryDirectoryHelper.CreateTemporaryDirectory(true);
            var result = Directory.Exists(path);

            Assert.True(result);
        }
コード例 #3
0
        public PugRendering(INodeServices nodeServices, IOptions <PugzorViewEngineOptions> options)
        {
            _nodeServices = nodeServices;
            var tempDirectory = TemporaryDirectoryHelper.CreateTemporaryDirectory();

            EmbeddedFileHelper.ExpandEmbeddedFiles(tempDirectory);
            _options = options.Value;
        }
コード例 #4
0
        public void EmbeddedFileHelper_Extract_DirectoryContainsFiles()
        {
            // Assuming temporary directory helper is working as should
            var tempDir = TemporaryDirectoryHelper.CreateTemporaryDirectory();

            EmbeddedFileHelper.ExpandEmbeddedFiles(tempDir);
            var directory = new DirectoryInfo(tempDir);

            Assert.NotEmpty(directory.EnumerateDirectories());
            Assert.NotEmpty(directory.EnumerateFiles());
        }
コード例 #5
0
        public PugRenderingTestsFixture()
        {
            var optionsMock = new Mock <IOptions <PugzorViewEngineOptions> >();

            optionsMock.SetupGet(q => q.Value)
            .Returns(new PugzorViewEngineOptions
            {
                // true: makes a lot of tests to fail
                Pretty = false
            });

            var mockServices       = new Mock <IServiceProvider>();
            var nodeServiceOptions = new NodeServicesOptions(mockServices.Object)
            {
                ProjectPath = TemporaryDirectoryHelper.CreateTemporaryDirectory(true)
            };
            var nodeServices = NodeServicesFactory.CreateNodeServices(nodeServiceOptions);

            Renderer = new PugRendering(nodeServices, optionsMock.Object);
        }