private IntegratedPipelineBlueprint InitializeBlueprint() { IntegratedPipelineBlueprintStage firstStage = null; string appStartup = ConfigurationManager.AppSettings[Constants.OwinAppStartup]; var loader = new DefaultLoader(); Action <IAppBuilder> startup = loader.Load(appStartup ?? string.Empty); if (startup == null) { return(null); } var appContext = OwinBuilder.Build(builder => { EnableIntegratedPipeline(builder, stage => firstStage = stage); startup.Invoke(builder); }); if (appContext == null) { return(null); } string basePath = Utils.NormalizePath(HttpRuntime.AppDomainAppVirtualPath); return(new IntegratedPipelineBlueprint(appContext, firstStage, basePath)); }
public void An_extra_segment_will_cause_the_match_to_fail() { var loader = new DefaultLoader(); var configuration = loader.Load("Owin.Loader.DefaultConfigurationLoaderTests+Hello.Bar"); Assert.Null(configuration); }
public static void Register(string name, Type type, ICustomDeserializer loader = null) { EnsureConfig(); // Default loader if none specified if (loader == null) { loader = new DefaultLoader(); } lock (types) { types[name] = type; } lock (names) { names[type] = name; } lock (builders) { builders[type] = loader; } }
public DefaultLoaderTests() { _settings = new SakeSettings { Output = new StringWriter() }; _loader = new DefaultLoader(new DefaultLog(_settings), _settings); }
public void Run(IPrinter printer) { var loader = new DefaultLoader <ILanguage>(); // we load each group here var english = loader .Load(Groups.English); var spanish = loader .Load(Groups.Spanish); var japanese = loader .Load(Groups.Japanese); // each language is under the same interface // we can use the same properties to access each // making our code very clean // Thank you! PrintThankYou(english, printer); // ¡Gracias! PrintThankYou(spanish, printer); // ありがと PrintThankYou(japanese, printer); }
public static void Register(string name, Type type, ICustomDeserializer loader = null) { EnsureConfig(); // Default loader if none specified if (loader == null) { loader = new DefaultLoader(); } lock (types) { if (!types.ContainsKey(name)) { types.Add(name, type); } } lock (names) { if (!names.ContainsKey(type)) { names.Add(type, name); } } lock (builders) { if (!builders.ContainsKey(type)) { builders.Add(type, loader); } } }
public void An_extra_segment_will_cause_the_match_to_fail() { var loader = new DefaultLoader(); var configuration = loader.Load("Owin.Loader.DefaultConfigurationLoaderTests+Hello.Bar"); Assert.Null(configuration); }
public override IEnumerable <object[]> GetData(MethodInfo methodUnderTest, Type[] parameterTypes) { var makefiles = Directory.GetFiles(Directory.GetCurrentDirectory(), "test-*.shade").Select(Path.GetFileName); var settings = new SakeSettings { Output = Console.Out }; var loader = new DefaultLoader(new DefaultLog(settings), settings); foreach (var makefile in makefiles) { IBuilder builder; try { builder = loader.Load(new Options { Makefile = makefile }); } catch (Exception) { builder = null; } if (builder == null) { yield return(new object[] { makefile, null }); } else { foreach (var target in builder.Targets.Values.Where(target => target.Name.StartsWith("test-"))) { yield return(new object[] { makefile, target.Name }); } } } }
/// <summary> /// Register a declarative type with the resource loader system. /// </summary> /// <param name="kind">the $kind name to map to this type.</param> /// <param name="type">type of object to create.</param> /// <param name="loader">optional custom deserializer.</param> /// <returns>Resource explorer for fluent style multiple calls.</returns> public ResourceExplorer RegisterType(string kind, Type type, ICustomDeserializer loader = null) { // Default loader if none specified if (loader == null) { loader = new DefaultLoader(); } lock (kinds) { kinds[kind] = type; } lock (names) { names[type] = kind; } lock (builders) { builders[type] = loader; } return(this); }
internal static OwinAppContext Build() { string appStartup = ConfigurationManager.AppSettings[Constants.OwinAppStartup]; var loader = new DefaultLoader(); Action <IAppBuilder> startup = loader.Load(appStartup ?? string.Empty); return(Build(startup)); }
public void Strings_are_split_based_on_dots() { string[] strings = DefaultLoader.DotByDot("this.is.a.test").ToArray(); Assert.Equal(4, strings.Length); Assert.Equal("this.is.a.test", strings[0]); Assert.Equal("this.is.a", strings[1]); Assert.Equal("this.is", strings[2]); Assert.Equal("this", strings[3]); }
public void An_extra_segment_will_cause_the_match_to_fail() { var loader = new DefaultLoader(); IList<string> errors = new List<string>(); Action<IAppBuilder> configuration = loader.Load("Owin.Loader.Tests.DefaultConfigurationLoaderTests.Hello.Bar", errors); Assert.Null(configuration); Assert.NotEmpty(errors); }
public void An_extra_segment_will_cause_the_match_to_fail() { var loader = new DefaultLoader(); IList <string> errors = new List <string>(); Action <IAppBuilder> configuration = loader.Load("Owin.Loader.Tests.DefaultConfigurationLoaderTests.Hello.Bar", errors); Assert.Null(configuration); Assert.NotEmpty(errors); }
public void Load_will_find_assembly_and_type_and_static_method() { var loader = new DefaultLoader(); var configuration = loader.Load("Owin.Loader.Tests.DefaultConfigurationLoaderTests.Hello"); _helloCalls = 0; configuration(new AppBuilder()); Assert.Equal(1, _helloCalls); }
public void Startup_inferred_given_assembly_name() { var loader = new DefaultLoader(); var configuration = loader.Load("Owin.Loader.Tests"); Startup.ConfigurationCalls = 0; configuration(new AppBuilder()); Assert.Equal(1, Startup.ConfigurationCalls); }
public void Load_will_find_assembly_and_type_and_static_method() { var loader = new DefaultLoader(); var configuration = loader.Load("Owin.Loader.Tests.DefaultConfigurationLoaderTests.Hello"); _helloCalls = 0; configuration(new AppBuilder()); Assert.Equal(1, _helloCalls); }
public void Load_will_find_assembly_and_type_and_static_method() { IList <string> errors = new List <string>(); var loader = new DefaultLoader(); Action <IAppBuilder> configuration = loader.Load("Owin.Loader.Tests.DefaultConfigurationLoaderTests.Hello", errors); _helloCalls = 0; configuration(new AppBuilder()); Assert.Equal(1, _helloCalls); }
public void Friendly_Name_Startup_Configuration_Attribute_will_be_discovered() { IList <string> errors = new List <string>(); var loader = new DefaultLoader(); Action <IAppBuilder> configuration = loader.Load("AFrienDlyName", errors); Startup.ConfigurationCalls = 0; configuration(new AppBuilder()); Assert.Equal(1, Startup.ConfigurationCalls); }
public void Friendly_Name_Used_To_Find_Alternate_Config_Method() { IList <string> errors = new List <string>(); var loader = new DefaultLoader(); Action <IAppBuilder> configuration = loader.Load("AlternateConfiguraTION", errors); Startup.AlternateConfigurationCalls = 0; configuration(new AppBuilder()); Assert.Equal(1, Startup.AlternateConfigurationCalls); }
public void Load_will_find_assembly_and_type_and_static_method() { IList<string> errors = new List<string>(); var loader = new DefaultLoader(); Action<IAppBuilder> configuration = loader.Load("Owin.Loader.Tests.DefaultConfigurationLoaderTests.Hello", errors); _helloCalls = 0; configuration(new AppBuilder()); Assert.Equal(1, _helloCalls); }
public void Different_OwinStartupAttribute_Definition_Works() { IList <string> errors = new List <string>(); var loader = new DefaultLoader(); Action <IAppBuilder> configuration = loader.Load("AlternaTeStartupAtTribute", errors); _helloCalls = 0; configuration(new AppBuilder()); Assert.Equal(1, _helloCalls); }
public void Comma_may_be_used_if_assembly_name_doesnt_match_namespace() { var loader = new DefaultLoader(); var configuration = loader.Load("DifferentNamespace.DoesNotFollowConvention, Owin.Loader.Tests"); DoesNotFollowConvention.ConfigurationCalls = 0; configuration(new AppBuilder()); Assert.Equal(1, DoesNotFollowConvention.ConfigurationCalls); }
private void SetDefaultLoadingViewBindings() { if (TaskLoaderNotifier == null) { return; } DefaultLoader?.SetBinding( ActivityIndicator.IsRunningProperty, new Binding(nameof(TaskLoaderNotifier.ShowLoader), source: TaskLoaderNotifier)); }
public void MakefileTarget(string makefile, string target) { var settings = new SakeSettings { Output = new RemoveEscapes(Console.Out) }; var loader = new DefaultLoader(new DefaultLog(settings), settings); var engine = new SakeEngine(settings, loader, new DefaultRunner()); engine.Execute(new Options { Makefile = makefile, Targets = new[] { target } }); }
private static void Main() { var runtimeTypeSource = RuntimeTypeSource.FromAttributes(Assemblies.AssembliesInAppFolder); var loader = new DefaultLoader(runtimeTypeSource); var model = (Zoo)loader.FromPath("Model.xaml", new Settings { InstanceLifeCycleListener = new MyListener() }); var byName = model.Find("Rocky"); Console.WriteLine("Loaded model:\n{0}", model); Console.WriteLine($"Searching an animal by name in this namescope (Zoo instance): \n\tRocky => {byName}"); Console.ReadLine(); }
public void Method_that_returns_app_action_may_also_be_called() { var loader = new DefaultLoader(); var configuration = loader.Load("Owin.Loader.Tests.DefaultConfigurationLoaderTests.Alpha"); var builder = new AppBuilder(); configuration(builder); var app = builder.Build <AppFunc>(); _alphaCalls = 0; app(new Dictionary <string, object>()); Assert.Equal(1, _alphaCalls); }
public void Startup_Configuration_in_assembly_namespace_will_be_discovered_by_default() { var loader = new DefaultLoader(); var configuration = loader.Load(string.Empty); Startup.ConfigurationCalls = 0; configuration(new AppBuilder()); Assert.Equal(1, Startup.ConfigurationCalls); configuration = loader.Load(null); Startup.ConfigurationCalls = 0; configuration(new AppBuilder()); Assert.Equal(1, Startup.ConfigurationCalls); }
public void Startup_Configuration_Attribute_will_be_discovered_by_default() { IList <string> errors = new List <string>(); var loader = new DefaultLoader(); Action <IAppBuilder> configuration = loader.Load(string.Empty, errors); Startup.ConfigurationCalls = 0; configuration(new AppBuilder()); Assert.Equal(1, Startup.ConfigurationCalls); configuration = loader.Load(null, errors); Startup.ConfigurationCalls = 0; configuration(new AppBuilder()); Assert.Equal(1, Startup.ConfigurationCalls); }
public static void DeleteAllImagesFromCache() { if (Directory.Exists(PicDir)) { foreach (var file in Directory.GetFiles(PicDir)) { File.Delete(file); } } if (DefaultLoader != null) { DefaultLoader.PurgeCache(); } }
public void Leading_and_trailing_dot_and_empty_strings_are_safe_and_ignored() { string[] string1 = DefaultLoader.DotByDot(".a.test").ToArray(); string[] string2 = DefaultLoader.DotByDot("a.test.").ToArray(); string[] string3 = DefaultLoader.DotByDot(".a.test.").ToArray(); string[] string4 = DefaultLoader.DotByDot(".").ToArray(); string[] string5 = DefaultLoader.DotByDot(string.Empty).ToArray(); string[] string6 = DefaultLoader.DotByDot(null).ToArray(); AssertArrayEqual(new[] { "a.test", "a" }, string1); AssertArrayEqual(new[] { "a.test", "a" }, string2); AssertArrayEqual(new[] { "a.test", "a" }, string3); AssertArrayEqual(new string[0], string4); AssertArrayEqual(new string[0], string5); AssertArrayEqual(new string[0], string6); }
public void Run(IPrinter printer) { var loader = new DefaultLoader <ILanguage>(); var english = loader .Load(Groups.English); var spanish = loader .Load(Groups.Spanish); // writes "Hello!" even though we never put English on it printer.Print(english.Hello); // properly writes ¡Hola! printer.Print(spanish.Hello); }
public void Configuration_method_defaults_to_Configuration_if_only_type_name_is_provided() { IList <string> errors = new List <string>(); var loader = new DefaultLoader(); Action <IAppBuilder> configuration = loader.Load("Owin.Loader.Tests.DefaultConfigurationLoaderTests+MultiConfigs", errors); MultiConfigs.FooCalls = 0; MultiConfigs.BarCalls = 0; MultiConfigs.ConfigurationCalls = 0; configuration(new AppBuilder()); Assert.Equal(0, MultiConfigs.FooCalls); Assert.Equal(0, MultiConfigs.BarCalls); Assert.Equal(1, MultiConfigs.ConfigurationCalls); }
public void Comma_may_be_used_if_assembly_name_doesnt_match_namespace() { IList <string> errors = new List <string>(); var loader = new DefaultLoader(); Action <IAppBuilder> configuration = loader.Load("DifferentNamespace.DoesNotFollowConvention, Owin.Loader.Tests", errors); Action <IAppBuilder> alternateConfiguration = loader.Load("DifferentNamespace.DoesNotFollowConvention.AlternateConfiguration, Owin.Loader.Tests", errors); DoesNotFollowConvention.ConfigurationCalls = 0; DoesNotFollowConvention.AlternateConfigurationCalls = 0; configuration(new AppBuilder()); Assert.Equal(1, DoesNotFollowConvention.ConfigurationCalls); Assert.Equal(0, DoesNotFollowConvention.AlternateConfigurationCalls); alternateConfiguration(new AppBuilder()); Assert.Equal(1, DoesNotFollowConvention.ConfigurationCalls); Assert.Equal(1, DoesNotFollowConvention.AlternateConfigurationCalls); }
internal static Action <IAppBuilder> GetAppStartup() { string appStartup = ConfigurationManager.AppSettings[Constants.OwinAppStartup]; var loader = new DefaultLoader(new ReferencedAssembliesWrapper()); IList <string> errors = new List <string>(); Action <IAppBuilder> startup = loader.Load(appStartup ?? string.Empty, errors); if (startup == null) { throw new EntryPointNotFoundException(Resources.Exception_AppLoderFailure + Environment.NewLine + " - " + string.Join(Environment.NewLine + " - ", errors) + (IsAutomaticAppStartupEnabled ? Environment.NewLine + Resources.Exception_HowToDisableAutoAppStartup : string.Empty) + Environment.NewLine + Resources.Exception_HowToSpecifyAppStartup); } return(startup); }
public void Calling_a_class_with_multiple_configs_is_okay() { var loader = new DefaultLoader(); var foo = loader.Load("Owin.Loader.Tests.DefaultConfigurationLoaderTests+MultiConfigs.Foo"); var bar = loader.Load("Owin.Loader.Tests.DefaultConfigurationLoaderTests+MultiConfigs.Bar"); MultiConfigs.FooCalls = 0; MultiConfigs.BarCalls = 0; Assert.NotNull(foo); Assert.NotNull(bar); foo(new AppBuilder()); Assert.Equal(1, MultiConfigs.FooCalls); Assert.Equal(0, MultiConfigs.BarCalls); bar(new AppBuilder()); Assert.Equal(1, MultiConfigs.FooCalls); Assert.Equal(1, MultiConfigs.BarCalls); }
public void Method_that_returns_app_action_may_also_be_called() { IList<string> errors = new List<string>(); var loader = new DefaultLoader(); Action<IAppBuilder> configuration = loader.Load("Owin.Loader.Tests.DefaultConfigurationLoaderTests.Alpha", errors); var builder = new AppBuilder(); configuration(builder); var app = builder.Build<AppFunc>(); _alphaCalls = 0; app(new Dictionary<string, object>()); Assert.Equal(1, _alphaCalls); }
public void Friendly_Name_Startup_Configuration_Attribute_will_be_discovered() { IList<string> errors = new List<string>(); var loader = new DefaultLoader(); Action<IAppBuilder> configuration = loader.Load("AFrienDlyName", errors); Startup.ConfigurationCalls = 0; configuration(new AppBuilder()); Assert.Equal(1, Startup.ConfigurationCalls); }
public void Friendly_Name_Used_To_Find_Alternate_Config_Method() { IList<string> errors = new List<string>(); var loader = new DefaultLoader(); Action<IAppBuilder> configuration = loader.Load("AlternateConfiguraTION", errors); Startup.AlternateConfigurationCalls = 0; configuration(new AppBuilder()); Assert.Equal(1, Startup.AlternateConfigurationCalls); }
public void Startup_Configuration_in_assembly_namespace_will_be_discovered_by_default() { var loader = new DefaultLoader(); var configuration = loader.Load(string.Empty); Startup.ConfigurationCalls = 0; configuration(new AppBuilder()); Assert.Equal(1, Startup.ConfigurationCalls); configuration = loader.Load(null); Startup.ConfigurationCalls = 0; configuration(new AppBuilder()); Assert.Equal(1, Startup.ConfigurationCalls); }
public void Comma_may_be_used_if_assembly_name_doesnt_match_namespace() { var loader = new DefaultLoader(); var configuration = loader.Load("DifferentNamespace.DoesNotFollowConvention, Owin.Loader.Tests"); DoesNotFollowConvention.ConfigurationCalls = 0; configuration(new AppBuilder()); Assert.Equal(1, DoesNotFollowConvention.ConfigurationCalls); }
public void Different_OwinStartupAttribute_Definition_Works() { IList<string> errors = new List<string>(); var loader = new DefaultLoader(); Action<IAppBuilder> configuration = loader.Load("AlternaTeStartupAtTribute", errors); _helloCalls = 0; configuration(new AppBuilder()); Assert.Equal(1, _helloCalls); }
public void Startup_Configuration_Attribute_will_be_discovered_by_default() { IList<string> errors = new List<string>(); var loader = new DefaultLoader(); Action<IAppBuilder> configuration = loader.Load(string.Empty, errors); Startup.ConfigurationCalls = 0; configuration(new AppBuilder()); Assert.Equal(1, Startup.ConfigurationCalls); configuration = loader.Load(null, errors); Startup.ConfigurationCalls = 0; configuration(new AppBuilder()); Assert.Equal(1, Startup.ConfigurationCalls); }
public void Comma_may_be_used_if_assembly_name_doesnt_match_namespace() { IList<string> errors = new List<string>(); var loader = new DefaultLoader(); Action<IAppBuilder> configuration = loader.Load("DifferentNamespace.DoesNotFollowConvention, Owin.Loader.Tests", errors); Action<IAppBuilder> alternateConfiguration = loader.Load("DifferentNamespace.DoesNotFollowConvention.AlternateConfiguration, Owin.Loader.Tests", errors); DoesNotFollowConvention.ConfigurationCalls = 0; DoesNotFollowConvention.AlternateConfigurationCalls = 0; configuration(new AppBuilder()); Assert.Equal(1, DoesNotFollowConvention.ConfigurationCalls); Assert.Equal(0, DoesNotFollowConvention.AlternateConfigurationCalls); alternateConfiguration(new AppBuilder()); Assert.Equal(1, DoesNotFollowConvention.ConfigurationCalls); Assert.Equal(1, DoesNotFollowConvention.AlternateConfigurationCalls); }
public void Startup_inferred_given_assembly_name() { var loader = new DefaultLoader(); var configuration = loader.Load("Owin.Loader.Tests"); Startup.ConfigurationCalls = 0; configuration(new AppBuilder()); Assert.Equal(1, Startup.ConfigurationCalls); }
public void Configuration_method_defaults_to_Configuration_if_only_type_name_is_provided() { IList<string> errors = new List<string>(); var loader = new DefaultLoader(); Action<IAppBuilder> configuration = loader.Load("Owin.Loader.Tests.DefaultConfigurationLoaderTests+MultiConfigs", errors); MultiConfigs.FooCalls = 0; MultiConfigs.BarCalls = 0; MultiConfigs.ConfigurationCalls = 0; configuration(new AppBuilder()); Assert.Equal(0, MultiConfigs.FooCalls); Assert.Equal(0, MultiConfigs.BarCalls); Assert.Equal(1, MultiConfigs.ConfigurationCalls); }