Browse Source

Added test for testing generated names for pasted element copies and that the new names is registered in the correct namescope.

pull/71/head
gumme 12 years ago
parent
commit
0516cd1b75
  1. 53
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Tests/Designer/EditOperationTests.cs

53
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Tests/Designer/EditOperationTests.cs

@ -151,5 +151,58 @@ namespace ICSharpCode.WpfDesign.Tests.Designer @@ -151,5 +151,58 @@ namespace ICSharpCode.WpfDesign.Tests.Designer
Assert.AreEqual(_name, grid.ContentProperty.CollectionElements[3].Name);
Assert.AreEqual(grid.ContentProperty.CollectionElements[3], selection.PrimarySelection);
}
[Test]
public void PasteSameElementMultipleTimesCheckCopiesNames()
{
var grid = IntializePasteOperationsTest();
var xamlContext = grid.Context as XamlDesignContext;
Assert.IsNotNull(xamlContext);
var selection = grid.Services.Selection;
var innerGrid = grid.ContentProperty.CollectionElements[0];
selection.SetSelectedComponents(new[] {innerGrid});
xamlContext.XamlEditAction.Paste();
Assert.AreEqual(innerGrid.ContentProperty.CollectionElements[1], selection.PrimarySelection);
selection.SetSelectedComponents(new[] {innerGrid});
xamlContext.XamlEditAction.Paste();
Assert.AreEqual(innerGrid.ContentProperty.CollectionElements[2], selection.PrimarySelection);
selection.SetSelectedComponents(new[] {innerGrid});
xamlContext.XamlEditAction.Paste();
Assert.AreEqual(innerGrid.ContentProperty.CollectionElements[3], selection.PrimarySelection);
selection.SetSelectedComponents(new[] {innerGrid});
xamlContext.XamlEditAction.Paste();
Assert.AreEqual(innerGrid.ContentProperty.CollectionElements[4], selection.PrimarySelection);
Assert.IsNullOrEmpty(innerGrid.ContentProperty.CollectionElements[0].Name);
Assert.AreEqual(_name, innerGrid.ContentProperty.CollectionElements[1].Name);
Assert.AreEqual(_name + "_Copy", innerGrid.ContentProperty.CollectionElements[2].Name);
Assert.AreEqual(_name + "_Copy1", innerGrid.ContentProperty.CollectionElements[3].Name);
Assert.AreEqual(_name + "_Copy2", innerGrid.ContentProperty.CollectionElements[4].Name);
xamlContext.XamlEditAction.Copy(new[] {innerGrid.ContentProperty.CollectionElements[3]});
var cutXaml = Clipboard.GetText(TextDataFormat.Xaml);
Assert.That(cutXaml, Is.StringContaining(":Name=\"" + _name + "_Copy1\""));
selection.SetSelectedComponents(new[] {innerGrid});
xamlContext.XamlEditAction.Paste();
Assert.AreEqual(innerGrid.ContentProperty.CollectionElements[5], selection.PrimarySelection);
Assert.AreEqual(_name + "_Copy3", innerGrid.ContentProperty.CollectionElements[5].Name);
var gridDepObj = grid.Component as DependencyObject;
Assert.IsNotNull(gridDepObj);
var nameScope = NameScope.GetNameScope(gridDepObj);
Assert.IsNotNull(nameScope);
Assert.IsNotNull(nameScope.FindName(_name));
Assert.IsNotNull(nameScope.FindName(_name + "_Copy"));
Assert.IsNotNull(nameScope.FindName(_name + "_Copy1"));
Assert.IsNotNull(nameScope.FindName(_name + "_Copy2"));
Assert.IsNotNull(nameScope.FindName(_name + "_Copy3"));
Assert.IsNull(nameScope.FindName(_name + "_Copy4"));
}
}
}

Loading…
Cancel
Save