public void RouteTable_Deserialization()
        {
            DotvvmTestHelper.EnsureCompiledAssemblyCache();

            var config1 = DotvvmTestHelper.CreateConfiguration();

            config1.RouteTable.Add("route1", "url1", "file1.dothtml", new { a = "ccc" });
            config1.RouteTable.Add("route2", "url2/{int:posint}", "file1.dothtml", new { a = "ccc" });

            // Add unknwon constraint, simulate user defined constraint that is not known to the VS Extension
            var r = new DotvvmRoute("url3", "file1.dothtml", new { }, provider => null, config1);

            typeof(RouteBase).GetProperty("Url").SetMethod.Invoke(r, new[] { "url3/{a:unsuppotedConstraint}" });
            config1.RouteTable.Add("route3", r);

            var settings = new JsonSerializerSettings {
                TypeNameHandling = TypeNameHandling.Auto
            };
            var config2 = JsonConvert.DeserializeObject <DotvvmConfiguration>(JsonConvert.SerializeObject(config1, settings), settings);

            Assert.AreEqual(config2.RouteTable["route1"].Url, "url1");
            Assert.AreEqual(config2.RouteTable["route2"].Url, "url2/{int:posint}");
            Assert.AreEqual(config2.RouteTable["route3"].Url, "url3/{a:unsuppotedConstraint}");
        }
Example #2
0
 public ConfigurationSerializationTests()
 {
     DotvvmTestHelper.EnsureCompiledAssemblyCache();
 }
Example #3
0
 public JsonDiffTests()
 {
     DotvvmTestHelper.EnsureCompiledAssemblyCache();
 }