Add case sensitivity test for options (dotnet/Extensions#2829)
authorHao Kung <HaoK@users.noreply.github.com>
Fri, 24 Jan 2020 09:35:32 +0000 (01:35 -0800)
committerGitHub <noreply@github.com>
Fri, 24 Jan 2020 09:35:32 +0000 (01:35 -0800)
Commit migrated from https://github.com/dotnet/Extensions/commit/2bb930c7fb664f9f6922628fb000901c50834504

src/libraries/Microsoft.Extensions.Options/tests/OptionsFactoryTests.cs

index 445f3b2..798a885 100644 (file)
@@ -23,6 +23,19 @@ namespace Microsoft.Extensions.Options.Tests
         }
 
         [Fact]
+        public void NamesAreCaseSensitive()
+        {
+            var services = new ServiceCollection();
+            services.Configure<FakeOptions>("UP", options => options.Message += "UP");
+            services.Configure<FakeOptions>("up", options => options.Message += "up");
+
+            var sp = services.BuildServiceProvider();
+            var factory = sp.GetRequiredService<IOptionsFactory<FakeOptions>>();
+            Assert.Equal("UP", factory.Create("UP").Message);
+            Assert.Equal("up", factory.Create("up").Message);
+        }        
+        
+        [Fact]
         public void CanConfigureAllOptions()
         {
             var services = new ServiceCollection();
@@ -257,4 +270,4 @@ namespace Microsoft.Extensions.Options.Tests
             Assert.Equal("No IConfigureOptions<> or IPostConfigureOptions<> implementations were found.", error.Message);
         }
     }
-}
\ No newline at end of file
+}