public IEnumerator StandardShortCuts()
        {
            yield return(AddVisualElement());

            var explorerItems = BuilderTestsHelper.GetExplorerItems(hierarchy);

            Assert.That(explorerItems.Count, Is.EqualTo(1));
            yield return(UIETestEvents.Mouse.SimulateClick(explorerItems[0]));

            // Rename
            const string renameString = "renameString";

            yield return(UIETestEvents.ExecuteCommand(builder, UIETestEvents.Command.Rename));

            yield return(UIETestEvents.KeyBoard.SimulateTyping(builder, renameString));

            yield return(UIETestEvents.Mouse.SimulateClick(viewport));

            explorerItems = BuilderTestsHelper.GetExplorerItems(hierarchy);
            var explorerItemLabel = explorerItems[0].Q <Label>();

            Assert.That(explorerItemLabel.text, Is.EqualTo("#" + renameString));

            yield return(UIETestEvents.Mouse.SimulateClick(explorerItems[0]));

            // Duplicate
            yield return(UIETestEvents.ExecuteCommand(builder, UIETestEvents.Command.Duplicate));

            explorerItems = BuilderTestsHelper.GetExplorerItems(hierarchy);
            Assert.That(explorerItems.Count, Is.EqualTo(2));

            // Copy/Paste
            yield return(UIETestEvents.ExecuteCommand(builder, UIETestEvents.Command.Copy));

            yield return(UIETestEvents.ExecuteCommand(builder, UIETestEvents.Command.Paste));

            explorerItems = BuilderTestsHelper.GetExplorerItems(hierarchy);
            Assert.That(explorerItems.Count, Is.EqualTo(3));

            // Delete
            yield return(UIETestEvents.KeyBoard.SimulateKeyDown(builder, KeyCode.Delete));

            explorerItems = BuilderTestsHelper.GetExplorerItems(hierarchy);
            Assert.That(explorerItems.Count, Is.EqualTo(2));

            // Pasted as children of the parent of the currently selected element.

            AddElementCodeOnly <TextField>();
            var textField = viewport.documentRootElement.Q <TextField>();

            Assert.That(textField.childCount, Is.EqualTo(2));

            yield return(UIETestEvents.ExecuteCommand(builder, UIETestEvents.Command.Paste));

            Assert.That(textField.childCount, Is.EqualTo(2));
        }
        public IEnumerator CopyPasteUXML()
        {
            AddElementCodeOnly();
            AddElementCodeOnly();
            yield return(UIETestHelpers.Pause());

            var hierarchyItems = BuilderTestsHelper.GetExplorerItemsWithName(hierarchy, nameof(VisualElement));
            var hierarchyItem1 = hierarchyItems[0];
            var hierarchyItem2 = hierarchyItems[1];

            yield return(UIETestEvents.Mouse.SimulateDragAndDrop(builder,
                                                                 hierarchyItem1.worldBound.center,
                                                                 hierarchyItem2.worldBound.center));

            var complexItem = GetFirstExplorerItem();

            var newlineFixedExpectedUXML = m_ExpectedUXMLString;

            if (BuilderConstants.NewlineChar != BuilderConstants.newlineCharFromEditorSettings)
            {
                newlineFixedExpectedUXML = newlineFixedExpectedUXML.Replace(
                    BuilderConstants.NewlineChar,
                    BuilderConstants.newlineCharFromEditorSettings);
            }

            // Copy to UXML
            yield return(UIETestEvents.Mouse.SimulateClick(complexItem));

            yield return(UIETestEvents.ExecuteCommand(builder, UIETestEvents.Command.Copy));

            Assert.That(BuilderEditorUtility.systemCopyBuffer, Is.EqualTo(newlineFixedExpectedUXML));

            ForceNewDocument();
            BuilderEditorUtility.systemCopyBuffer = string.Empty;
            yield return(UIETestEvents.Mouse.SimulateClick(hierarchy));

            yield return(UIETestEvents.ExecuteCommand(builder, UIETestEvents.Command.Paste));

            var explorerItems = BuilderTestsHelper.GetExplorerItems(hierarchy);

            Assert.That(explorerItems, Is.Empty);

            BuilderEditorUtility.systemCopyBuffer = newlineFixedExpectedUXML;
            yield return(UIETestEvents.ExecuteCommand(builder, UIETestEvents.Command.Paste));

            // var newItem = BuilderTestsHelper.GetExplorerItemWithName(HierarchyPane, nameof(VisualElement));
            var hierarchyTreeView = hierarchy.Q <TreeView>();

            hierarchyTreeView.ExpandItem(hierarchyTreeView.items.ToList()[1].id);

            explorerItems = BuilderTestsHelper.GetExplorerItems(hierarchy);
            Assert.That(explorerItems.Count, Is.EqualTo(2));
            Assert.That(BuilderTestsHelper.GetLinkedDocumentElement(explorerItems[1]).parent, Is.EqualTo(BuilderTestsHelper.GetLinkedDocumentElement(explorerItems[0])));
        }
        public IEnumerator CopyPasteUXML()
        {
            yield return(AddVisualElement());

            yield return(AddVisualElement());

            var hierarchyItems = BuilderTestsHelper.GetExplorerItemsWithName(HierarchyPane, nameof(VisualElement));
            var hierarchyItem1 = hierarchyItems[0];
            var hierarchyItem2 = hierarchyItems[1];

            yield return(UIETestEvents.Mouse.SimulateDragAndDrop(BuilderWindow,
                                                                 hierarchyItem1.worldBound.center,
                                                                 hierarchyItem2.worldBound.center));

            var complexItem = GetFirstExplorerItem();

            // Copy to UXML
            yield return(UIETestEvents.Mouse.SimulateClick(complexItem));

            yield return(UIETestEvents.ExecuteCommand(BuilderWindow, UIETestEvents.Command.Copy));

            Assert.That(BuilderEditorUtility.SystemCopyBuffer, Is.EqualTo(m_ExpectedUXMLString));

            ForceNewDocument();
            BuilderEditorUtility.SystemCopyBuffer = string.Empty;
            yield return(UIETestEvents.Mouse.SimulateClick(HierarchyPane));

            yield return(UIETestEvents.ExecuteCommand(BuilderWindow, UIETestEvents.Command.Paste));

            var explorerItems = BuilderTestsHelper.GetExplorerItems(HierarchyPane);

            Assert.That(explorerItems, Is.Empty);

            BuilderEditorUtility.SystemCopyBuffer = m_ExpectedUXMLString;
            yield return(UIETestEvents.ExecuteCommand(BuilderWindow, UIETestEvents.Command.Paste));

            // var newItem = BuilderTestsHelper.GetExplorerItemWithName(HierarchyPane, nameof(VisualElement));
            var hierarchyTreeView = HierarchyPane.Q <TreeView>();

            hierarchyTreeView.ExpandItem(hierarchyTreeView.items.ToList()[1].id);

            explorerItems = BuilderTestsHelper.GetExplorerItems(HierarchyPane);
            Assert.That(explorerItems.Count, Is.EqualTo(2));
            Assert.That(BuilderTestsHelper.GetLinkedDocumentElement(explorerItems[1]).parent, Is.EqualTo(BuilderTestsHelper.GetLinkedDocumentElement(explorerItems[0])));
        }
        public IEnumerator CreatingNewDocumentClearsSelectionAndExplorer()
        {
            var toolbar = ViewportPane.Q <BuilderToolbar>();

            // Make sure File menu exists
            var menuItem = toolbar.Query <ToolbarMenu>().Where(menu => menu.Q <TextElement>().text == "File").First();

            Assert.That(menuItem, Is.Not.Null);

            yield return(AddVisualElement());

            yield return(AddSelector(StyleSheetsPaneTests.TestSelectorName));

            ForceNewDocument();
            Assert.That(ViewportPane.documentElement.childCount, Is.EqualTo(0));
            Assert.That(BuilderTestsHelper.GetExplorerItems(StyleSheetsPane).Count, Is.EqualTo(0));
            Assert.That(BuilderTestsHelper.GetExplorerItems(HierarchyPane).Count, Is.EqualTo(0));
            Assert.True(BuilderWindow.selection.isEmpty);
        }
Example #5
0
        public IEnumerator CreatingNewDocumentClearsSelectionAndExplorer()
        {
            var toolbar = viewport.Q <BuilderToolbar>();

            // Make sure File menu exists
            var menuItem = toolbar.Query <ToolbarMenu>().Where(menu => menu.Q <TextElement>().text.Equals("File")).ToList().First();

            Assert.That(menuItem, Is.Not.Null);

            AddElementCodeOnly();
            yield return(EnsureSelectorsCanBeAddedAndReloadBuilder());

            yield return(AddSelector(StyleSheetsPaneTests.TestSelectorName));

            ForceNewDocument();
            Assert.That(viewport.documentRootElement.childCount, Is.EqualTo(0));
            Assert.That(BuilderTestsHelper.GetExplorerItems(styleSheetsPane).Count, Is.EqualTo(0));
            Assert.That(BuilderTestsHelper.GetExplorerItems(hierarchy).Count, Is.EqualTo(0));
            Assert.True(builder.selection.isEmpty);
        }
        public IEnumerator StandardShortCuts()
        {
            yield return(AddVisualElement());

            var explorerItems = BuilderTestsHelper.GetExplorerItems(HierarchyPane);

            Assert.That(explorerItems.Count, Is.EqualTo(1));
            yield return(UIETestEvents.Mouse.SimulateClick(explorerItems[0]));

            // Duplicate
            yield return(UIETestEvents.ExecuteCommand(BuilderWindow, UIETestEvents.Command.Duplicate));

            explorerItems = BuilderTestsHelper.GetExplorerItems(HierarchyPane);
            Assert.That(explorerItems.Count, Is.EqualTo(2));

            // Copy/Paste
            yield return(UIETestEvents.ExecuteCommand(BuilderWindow, UIETestEvents.Command.Copy));

            yield return(UIETestEvents.ExecuteCommand(BuilderWindow, UIETestEvents.Command.Paste));

            explorerItems = BuilderTestsHelper.GetExplorerItems(HierarchyPane);
            Assert.That(explorerItems.Count, Is.EqualTo(3));

            // Delete
            yield return(UIETestEvents.KeyBoard.SimulateKeyDown(BuilderWindow, KeyCode.Delete));

            explorerItems = BuilderTestsHelper.GetExplorerItems(HierarchyPane);
            Assert.That(explorerItems.Count, Is.EqualTo(2));

            // Pasted as children of the parent of the currently selected element.

            yield return(AddTextFieldElement());

            var textField = ViewportPane.documentElement.Q <TextField>();

            Assert.That(textField.childCount, Is.EqualTo(2));

            yield return(UIETestEvents.ExecuteCommand(BuilderWindow, UIETestEvents.Command.Paste));

            Assert.That(textField.childCount, Is.EqualTo(2));
        }