public IEnumerator DragDropToReorderSelectors() { #if UNITY_2020_1_OR_NEWER int selectionCount = 2; #else int selectionCount = 1; #endif yield return(CodeOnlyAddUSSToDocument(k_ColorsTestUSSPath)); yield return(CodeOnlyAddUSSToDocument(k_LayoutTestUSSPath)); var colorsUSS = BuilderWindow.document.activeOpenUXMLFile.openUSSFiles[0].Sheet; Assert.AreEqual(".unity-button", StyleSheetToUss.ToUssSelector(colorsUSS.complexSelectors[0])); Assert.AreEqual(".unity-label", StyleSheetToUss.ToUssSelector(colorsUSS.complexSelectors[1])); Assert.AreEqual("#builder-test", StyleSheetToUss.ToUssSelector(colorsUSS.complexSelectors[2])); var unityButtonSelectorItem = BuilderTestsHelper.GetExplorerItemsWithName(StyleSheetsPane, ".unity-button")[0]; yield return(UIETestEvents.Mouse.SimulateClick(unityButtonSelectorItem)); #if UNITY_2020_1_OR_NEWER var unityLabelSelectorItem = BuilderTestsHelper.GetExplorerItemsWithName(StyleSheetsPane, ".unity-label")[0]; yield return(UIETestEvents.Mouse.SimulateClick(unityLabelSelectorItem, MouseButton.LeftMouse, EventModifiers.Shift)); #endif Assert.AreEqual(selectionCount, Selection.selectionCount); var builderTestSelectorItem = BuilderTestsHelper.GetExplorerItemsWithName(StyleSheetsPane, "#builder-test")[0]; var reorderZoneBelow = builderTestSelectorItem.Q("reorder-zone-below"); Assert.NotNull(reorderZoneBelow); yield return(UIETestEvents.Mouse.SimulateDragAndDrop(BuilderWindow, unityButtonSelectorItem.worldBound.center, reorderZoneBelow.worldBound.center)); #if UNITY_2020_1_OR_NEWER Assert.AreEqual("#builder-test", StyleSheetToUss.ToUssSelector(colorsUSS.complexSelectors[0])); Assert.AreEqual(".unity-button", StyleSheetToUss.ToUssSelector(colorsUSS.complexSelectors[1])); Assert.AreEqual(".unity-label", StyleSheetToUss.ToUssSelector(colorsUSS.complexSelectors[2])); #else Assert.AreEqual(".unity-label", StyleSheetToUss.ToUssSelector(colorsUSS.complexSelectors[0])); Assert.AreEqual("#builder-test", StyleSheetToUss.ToUssSelector(colorsUSS.complexSelectors[1])); Assert.AreEqual(".unity-button", StyleSheetToUss.ToUssSelector(colorsUSS.complexSelectors[2])); #endif Assert.AreEqual(selectionCount, Selection.selectionCount); }
public IEnumerator VariableSearch_SelectedInfo() { yield return(EditVariable("Border/Width/Left")); yield return(UIETestEvents.KeyBoard.SimulateTyping(builder, "var")); yield return(WaitForUIUpdate()); var listView = currentHandler.completer.popup.listView; var varInfoView = currentHandler.completer.popup.Q <VariableInfoView>(); Assert.AreEqual(varInfoView.resolvedStyle.display, DisplayStyle.None); // Select the first element listView.selectedIndex = 1; yield return(WaitForUIUpdate()); var info = listView.selectedItem as VariableInfo; var styleSheet = info.value.sheet; var fullPath = AssetDatabase.GetAssetPath(styleSheet); string displayPath = Path.GetFileName(fullPath); var valueText = StyleSheetToUss.ValueHandleToUssString(info.value.sheet, new UssExportOptions(), "", info.value.handle); Assert.AreEqual(varInfoView.resolvedStyle.display, DisplayStyle.Flex); Assert.AreEqual(varInfoView.variableName, info.name); Assert.AreEqual(varInfoView.variableValue, valueText); Assert.AreEqual(varInfoView.sourceStyleSheet, displayPath); if (string.IsNullOrEmpty(info.description)) { Assert.True(string.IsNullOrEmpty(varInfoView.description)); } else { Assert.AreEqual(varInfoView.description, info.description); } Assert.AreEqual(varInfoView.Q("description-container").resolvedStyle.display, DisplayStyle.None); Assert.AreEqual(varInfoView.Q("preview").resolvedStyle.display, DisplayStyle.None); yield return(null); }
public IEnumerator EnsureChangesToUSSMadeExternallyAreReloaded() { const string testSelector = ".externally-added-selector"; CreateTestUXMLFile(); CreateTestUSSFile(); var asset = AssetDatabase.LoadAssetAtPath <VisualTreeAsset>(k_TestUXMLFilePath); var assetCount = asset.visualElementAssets.Count; builder.LoadDocument(asset); Assert.AreEqual(builder.document.visualTreeAsset, asset); yield return(CodeOnlyAddUSSToDocument(k_TestUSSFilePath)); Assert.NotNull(builder.document.activeStyleSheet); // Save builder.document.SaveUnsavedChanges(k_TestUXMLFilePath, false); var styleSheetCopy = builder.document.activeStyleSheet.DeepCopy(); styleSheetCopy.AddSelector(testSelector); var styleSheetCopyUSS = styleSheetCopy.GenerateUSS(); File.WriteAllText(k_TestUSSFilePath, styleSheetCopyUSS); AssetDatabase.ImportAsset(k_TestUSSFilePath, ImportAssetOptions.ForceUpdate); yield return(UIETestHelpers.Pause(1)); // Make sure the UI Builder reloaded. var activeStyleSheet = builder.document.activeStyleSheet; var complexSelector = activeStyleSheet.complexSelectors.First(); Assert.NotNull(complexSelector); Assert.AreEqual(StyleSheetToUss.ToUssSelector(complexSelector), testSelector); }
public IEnumerator DragToReparentToMoveSelectorsBetweenStyleSheets() { #if UNITY_2020_1_OR_NEWER int selectionCount = 2; #else int selectionCount = 1; #endif yield return(CodeOnlyAddUSSToDocument(k_ColorsTestUSSPath)); yield return(CodeOnlyAddUSSToDocument(k_LayoutTestUSSPath)); var colorsUSS = BuilderWindow.document.activeOpenUXMLFile.openUSSFiles[0].Sheet; var layoutUSS = BuilderWindow.document.activeOpenUXMLFile.openUSSFiles[1].Sheet; Assert.AreEqual(".unity-button", StyleSheetToUss.ToUssSelector(colorsUSS.complexSelectors[0])); Assert.AreEqual(".unity-label", StyleSheetToUss.ToUssSelector(colorsUSS.complexSelectors[1])); Assert.AreEqual("#builder-test", StyleSheetToUss.ToUssSelector(colorsUSS.complexSelectors[2])); var unityButtonSelectorItem = BuilderTestsHelper.GetExplorerItemsWithName(StyleSheetsPane, ".unity-button")[0]; yield return(UIETestEvents.Mouse.SimulateClick(unityButtonSelectorItem)); #if UNITY_2020_1_OR_NEWER var unityLabelSelectorItem = BuilderTestsHelper.GetExplorerItemsWithName(StyleSheetsPane, ".unity-label")[0]; yield return(UIETestEvents.Mouse.SimulateClick(unityLabelSelectorItem, MouseButton.LeftMouse, EventModifiers.Shift)); #endif Assert.AreEqual(selectionCount, Selection.selectionCount); var builderTestSelectorItem = BuilderTestsHelper.GetExplorerItemsWithName(StyleSheetsPane, "#builder-test")[1]; var reorderZoneAbove = builderTestSelectorItem.Q("reorder-zone-above"); Assert.NotNull(reorderZoneAbove); yield return(UIETestEvents.Mouse.SimulateDragAndDrop(BuilderWindow, unityButtonSelectorItem.worldBound.center, reorderZoneAbove.worldBound.center)); Assert.AreEqual(selectionCount, Selection.selectionCount); #if UNITY_2020_1_OR_NEWER Assert.AreEqual(1, colorsUSS.complexSelectors.Length); Assert.AreEqual("#builder-test", StyleSheetToUss.ToUssSelector(colorsUSS.complexSelectors[0])); Assert.AreEqual(5, layoutUSS.complexSelectors.Length); Assert.AreEqual(".unity-button", StyleSheetToUss.ToUssSelector(layoutUSS.complexSelectors[0])); Assert.AreEqual(".unity-label", StyleSheetToUss.ToUssSelector(layoutUSS.complexSelectors[1])); Assert.AreEqual(".unity-button", StyleSheetToUss.ToUssSelector(layoutUSS.complexSelectors[2])); Assert.AreEqual(".unity-label", StyleSheetToUss.ToUssSelector(layoutUSS.complexSelectors[3])); Assert.AreEqual("#builder-test", StyleSheetToUss.ToUssSelector(layoutUSS.complexSelectors[4])); #else // Cannot count selectors because we now create fake selectors for variables. //Assert.AreEqual(2, colorsUSS.complexSelectors.Length); Assert.AreEqual(".unity-label", StyleSheetToUss.ToUssSelector(colorsUSS.complexSelectors[0])); Assert.AreEqual("#builder-test", StyleSheetToUss.ToUssSelector(colorsUSS.complexSelectors[1])); //Assert.AreEqual(4, layoutUSS.complexSelectors.Length); Assert.AreEqual(".unity-button", StyleSheetToUss.ToUssSelector(layoutUSS.complexSelectors[0])); Assert.AreEqual(".unity-label", StyleSheetToUss.ToUssSelector(layoutUSS.complexSelectors[1])); Assert.AreEqual(".unity-button", StyleSheetToUss.ToUssSelector(layoutUSS.complexSelectors[2])); Assert.AreEqual("#builder-test", StyleSheetToUss.ToUssSelector(layoutUSS.complexSelectors[3])); #endif }