public void GeneratesOutputForEachTypeFromTemplateWhenPatternUsed() { var generator = MockRepository.GenerateMock<IOutputGenerator>(); var writer = MockRepository.GenerateStub<IOutputWriter>(); var resolver = MockRepository.GenerateStub<IPatternTemplateResolver>(); var transformer = new PageWriter(generator, writer, resolver); var namespaces = Namespaces("One", "Two"); Type<First>(namespaces[0]); Type<Second>(namespaces[1]); resolver.Stub(x => x.Resolve(null, null)) .IgnoreArguments() .Return(new List<TemplateMatch> { new TemplateMatch("One.First.htm", "!type.spark", new ViewData()), new TemplateMatch("Two.Second.htm", "!type.spark", new ViewData()) }); transformer.CreatePages("!type.spark", "", namespaces); generator.AssertWasCalled( x => x.Convert(null, null), x => x.Constraints(Is.Equal("!type.spark"), Is.Anything()) .Repeat.Twice()); }
public void TransformsTemplateInDirectoriesWithNamespacePattern() { var generator = MockRepository.GenerateStub<IOutputGenerator>(); var writer = MockRepository.GenerateMock<IOutputWriter>(); var resolver = MockRepository.GenerateStub<IPatternTemplateResolver>(); var transformer = new PageWriter(generator, writer, resolver); var namespaces = Namespaces("One", "Two"); resolver.Stub(x => x.Resolve(null, null)) .IgnoreArguments() .Return(new List<TemplateMatch> { new TemplateMatch("One\\template.htm", "!namespace\\template.spark", new ViewData()), new TemplateMatch("Two\\template.htm", "!namespace\\template.spark", new ViewData()) }); writer.Stub(x => x.Exists(null)) .IgnoreArguments() .Return(false); generator.Stub(x => x.Convert(null, null)) .IgnoreArguments() .Return("content"); transformer.CreatePages("!namespace\\template.spark", "output", namespaces); writer.AssertWasCalled(x => x.CreateDirectory("output\\One")); writer.AssertWasCalled(x => x.WriteFile("output\\One\\template.htm", "content")); writer.AssertWasCalled(x => x.CreateDirectory("output\\Two")); writer.AssertWasCalled(x => x.WriteFile("output\\Two\\template.htm", "content")); }
public void TransformsTemplatesInDirectories() { var generator = MockRepository.GenerateStub<IOutputGenerator>(); var writer = MockRepository.GenerateMock<IOutputWriter>(); var resolver = MockRepository.GenerateStub<IPatternTemplateResolver>(); var transformer = new PageWriter(generator, writer, resolver); var namespaces = new Namespace[0]; resolver.Stub(x => x.Resolve(null, null)) .IgnoreArguments() .Return(new List<TemplateMatch> { new TemplateMatch("directory\\test.htm", "", new ViewData()) }); generator.Stub(x => x.Convert(null, null)) .IgnoreArguments() .Return("content"); transformer.CreatePages("directory\\test.spark", "output", namespaces); writer.AssertWasCalled(x => x.WriteFile("output\\directory\\test.htm", "content")); }
public void GeneratesOutputFromTemplate() { var generator = MockRepository.GenerateMock<IOutputGenerator>(); var writer = MockRepository.GenerateStub<IOutputWriter>(); var resolver = MockRepository.GenerateStub<IPatternTemplateResolver>(); var transformer = new PageWriter(generator, writer, resolver); var namespaces = new Namespace[0]; resolver.Stub(x => x.Resolve(null, null)) .IgnoreArguments() .Return(new List<TemplateMatch> { new TemplateMatch("simple.htm", "simple.spark", new ViewData()) }); transformer.CreatePages("simple.spark", "", namespaces); generator.AssertWasCalled( x => x.Convert(null, null), x => x.Constraints(Is.Equal("simple.spark"), Is.Anything())); }
public void WritesOutputForEachNamespaceToFileWhenPatternUsed() { var generator = MockRepository.GenerateStub<IOutputGenerator>(); var writer = MockRepository.GenerateMock<IOutputWriter>(); var resolver = MockRepository.GenerateStub<IPatternTemplateResolver>(); var transformer = new PageWriter(generator, writer, resolver); var namespaces = Namespaces("One", "Two"); resolver.Stub(x => x.Resolve(null, null)) .IgnoreArguments() .Return(new List<TemplateMatch> { new TemplateMatch("One.htm", "!namespace.spark", new ViewData()), new TemplateMatch("Two.htm", "!namespace.spark", new ViewData()) }); generator.Stub(x => x.Convert(null, null)) .IgnoreArguments() .Return("content"); transformer.CreatePages("!namespace.spark", "", namespaces); writer.AssertWasCalled(x => x.WriteFile("One.htm", "content")); writer.AssertWasCalled(x => x.WriteFile("Two.htm", "content")); }
public void when_template_directory_set_exclude_directory_from_output() { var generator = MockRepository.GenerateStub<IOutputGenerator>(); var writer = MockRepository.GenerateMock<IOutputWriter>(); var resolver = MockRepository.GenerateStub<IPatternTemplateResolver>(); var transformer = new PageWriter(generator, writer, resolver); var namespaces = new Namespace[0]; resolver.Stub(x => x.Resolve(null, null)) .IgnoreArguments() .Return(new List<TemplateMatch> { new TemplateMatch("templates\\simple.htm", "templates\\simple.spark", new ViewData()) }); generator.Stub(x => x.Convert(null, null)) .IgnoreArguments() .Return("content"); transformer.SetTemplatePath("templates"); transformer.CreatePages("templates\\simple.spark", "output", namespaces); writer.AssertWasCalled(x => x.WriteFile("output\\simple.htm", "content")); }