From 52d1588fc3a9950cb050c8c23aa1f253149c9daa Mon Sep 17 00:00:00 2001 From: donandren Date: Thu, 30 Jun 2016 15:35:40 +0300 Subject: [PATCH] added failing test for ClrNamespace leaks in AvaloniaNamespaceRegistry --- .../Avalonia.Markup.Xaml.UnitTests.csproj | 1 + .../Context/AvaloniaNamespaceRegistryTest.cs | 37 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 tests/Avalonia.Markup.Xaml.UnitTests/Context/AvaloniaNamespaceRegistryTest.cs diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/Avalonia.Markup.Xaml.UnitTests.csproj b/tests/Avalonia.Markup.Xaml.UnitTests/Avalonia.Markup.Xaml.UnitTests.csproj index 7f8c790492..4fb3c60848 100644 --- a/tests/Avalonia.Markup.Xaml.UnitTests/Avalonia.Markup.Xaml.UnitTests.csproj +++ b/tests/Avalonia.Markup.Xaml.UnitTests/Avalonia.Markup.Xaml.UnitTests.csproj @@ -92,6 +92,7 @@ + diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/Context/AvaloniaNamespaceRegistryTest.cs b/tests/Avalonia.Markup.Xaml.UnitTests/Context/AvaloniaNamespaceRegistryTest.cs new file mode 100644 index 0000000000..35a1dbcf58 --- /dev/null +++ b/tests/Avalonia.Markup.Xaml.UnitTests/Context/AvaloniaNamespaceRegistryTest.cs @@ -0,0 +1,37 @@ +// Copyright (c) The Avalonia Project. All rights reserved. +// Licensed under the MIT license. See licence.md file in the project root for full license information. + +using Avalonia.Collections; +using Avalonia.Controls; +using Avalonia.Markup.Xaml.Context; +using Avalonia.Markup.Xaml.Converters; +using Avalonia.Styling; +using Moq; +using OmniXaml; +using OmniXaml.ObjectAssembler.Commands; +using OmniXaml.TypeConversion; +using OmniXaml.Typing; +using System; +using System.Reactive; +using Xunit; + +namespace Avalonia.Markup.Xaml.UnitTests.Context +{ + public class AvaloniaNamespaceRegistryTest + { + [Fact] + public void Should_Return_Same_ClrNameSpace() + { + string name = "clr-namespace:Avalonia.Markup.Xaml.UnitTests.Context;assembly=Avalonia.Markup.Xaml.UnitTests"; + + var target = new AvaloniaNamespaceRegistry(); + + var ns1 = target.GetNamespace(name); + var ns2 = target.GetNamespace(name); + + //AvaloniaNamespaceRegistry should not create new CreateClrNamespace + //for the same namespace + Assert.Same(ns1, ns2); + } + } +} \ No newline at end of file