public void Newlines_seperate_directives() { var loader = new StubAssemblyLoader(); var builder = new Builder(loader); builder.Parse(@"Load TestName Load TestTwo"); AssertLoadNames(loader, "TestName", "TestTwo"); }
public void Leading_and_trailing_newlines_ignored() { var loader = new StubAssemblyLoader(); var builder = new Builder(loader); builder.Parse(@" Load TestName Load TestTwo "); AssertLoadNames(loader, "TestName", "TestTwo"); }
public void Run_with_an_enumerable_fnapp_argument_will_wrap_all_previous_run_calls() { var loader = new StubAssemblyLoader(); var builder = new Builder(loader); builder.Parse(@" Load TestName Use TestMiddleware Run TestApp Use TestMiddleware Run TestApp Run TestCascade "); var app = builder.ToApp(); IDictionary<string, object> env = new Dictionary<string, object>(); app(env, ex => { }, (a, b, c) => { }); Assert.That(env.ContainsKey("TestMiddleware"), Is.False, "the use are attached to the apps, not the cascade"); Assert.That(env["TestCascade.Count"], Is.EqualTo(2)); }
public void Run_directive_calls_app_factory() { var loader = new StubAssemblyLoader(); var builder = new Builder(loader); builder.Parse(@" Load TestName Run TestApp "); var app = builder.ToApp(); Assert.That(app, Is.SameAs(TestApp.Singleton)); }
public void Use_with_more_text_provides_extra_argument() { var loader = new StubAssemblyLoader(); var builder = new Builder(loader); builder.Parse(@" Load TestName Use TestWithData Foo Run TestApp "); var app = builder.ToApp(); IDictionary<string, object> env = new Dictionary<string, object>(); app(env, ex => { }, (a, b, c) => { }); Assert.That(env.ContainsKey("TestWithData"), Is.True); Assert.That(env["TestWithData.Data"], Is.EqualTo("Foo")); }
public void Use_directive_calls_middleware_factory() { var loader = new StubAssemblyLoader(); var builder = new Builder(loader); builder.Parse(@" Load TestName Use TestMiddleware Run TestApp "); var app = builder.ToApp(); IDictionary<string, object> env = new Dictionary<string, object>(); app(env, ex => { }, (a, b, c) => { }); Assert.That(env["TestMiddleware"], Is.True); Assert.That(env["TestApp"], Is.True); }
public void Simple_format_may_be_parsed_to_load_assemblies() { var loader = new StubAssemblyLoader(); var builder = new Builder(loader); builder.Parse("Load TestName"); AssertLoadNames(loader, "TestName"); }