public IEnumerator SetVariable() { var asset = AssetDatabase.LoadAssetAtPath <VisualTreeAsset>(k_NewVariableUxmlFilePath); builder.LoadDocument(asset); yield return(UIETestHelpers.Pause(1)); hierarchy.elementHierarchyView.ExpandRootItems(); styleSheetsPane.elementHierarchyView.ExpandRootItems(); yield return(UIETestHelpers.Pause(1)); // Select test-selector-1 var selector = BuilderTestsHelper.GetExplorerItemWithName(styleSheetsPane, k_Selector_1); yield return(UIETestEvents.Mouse.SimulateClick(selector)); var textFoldout = base.inspector.Query <PersistedFoldout>().Where(f => f.text.Equals("Text")).First(); textFoldout.value = true; // Show variable field for the Size field var sizeField = FindStyleField <DimensionStyleField>(textFoldout, "Size"); var handler = StyleVariableUtilities.GetVarHandler(sizeField); Assert.IsFalse(sizeField.ClassListContains(BuilderConstants.InspectorLocalStyleVariableClassName)); handler.ShowVariableField(); // Enter variable name var textField = handler.variableField.Q <TextField>(); textField.value = k_LengthVarName; selector = BuilderTestsHelper.GetExplorerItemWithName(styleSheetsPane, k_Selector_1); // Click anywhere else to remove focus yield return(UIETestEvents.Mouse.SimulateClick(selector)); yield return(UIETestHelpers.Pause(1)); Assert.IsTrue(sizeField.ClassListContains(BuilderConstants.InspectorLocalStyleVariableClassName)); var inspector = handler.inspector; var styleProperty = BuilderInspectorStyleFields.GetStyleProperty(inspector.currentRule, handler.styleName); Assert.IsTrue(styleProperty != null && styleProperty.IsVariable()); Assert.AreEqual(inspector.styleSheet.ReadVariable(styleProperty), k_LengthVarName); yield return(null); }
public IEnumerator ShowHideVariableField() { var asset = AssetDatabase.LoadAssetAtPath <VisualTreeAsset>(k_NewVariableUxmlFilePath); builder.LoadDocument(asset); yield return(UIETestHelpers.Pause(1)); hierarchy.elementHierarchyView.ExpandRootItems(); styleSheetsPane.elementHierarchyView.ExpandRootItems(); yield return(UIETestHelpers.Pause(1)); // Select test-selector-1 var selector = BuilderTestsHelper.GetExplorerItemWithName(styleSheetsPane, k_Selector_1); yield return(UIETestEvents.Mouse.SimulateClick(selector)); var textFoldout = inspector.Query <PersistedFoldout>().Where(f => f.text.Equals("Text")).First(); textFoldout.value = true; var colorField = FindStyleField <ColorField>(textFoldout, "Color"); var handler = StyleVariableUtilities.GetVarHandler(colorField); Assert.IsNull(handler.variableField); handler.ShowVariableField(); Assert.IsTrue(colorField.ClassListContains(BuilderConstants.InspectorLocalStyleVariableEditingClassName)); Assert.IsFalse(colorField.ClassListContains(BuilderConstants.ReadOnlyStyleClassName)); Assert.IsNotNull(handler.variableField); yield return(UIETestHelpers.Pause(1)); var inputField = handler.variableField.Q(TextField.textInputUssName); Assert.AreEqual(handler.variableField.resolvedStyle.display, DisplayStyle.Flex); Assert.IsTrue(HasFocus(inputField)); selector = BuilderTestsHelper.GetExplorerItemWithName(styleSheetsPane, k_Selector_1); // Click anywhere else to remove focus yield return(UIETestEvents.Mouse.SimulateClick(selector)); Assert.IsFalse(colorField.ClassListContains(BuilderConstants.InspectorLocalStyleVariableEditingClassName)); Assert.AreEqual(handler.variableField.resolvedStyle.display, DisplayStyle.None); yield return(null); }
public IEnumerator UnsetVariable() { var asset = AssetDatabase.LoadAssetAtPath <VisualTreeAsset>(k_NewVariableUxmlFilePath); BuilderWindow.LoadDocument(asset); yield return(UIETestHelpers.Pause(1)); HierarchyPane.elementHierarchyView.ExpandAllChildren(); StyleSheetsPane.elementHierarchyView.ExpandAllChildren(); yield return(UIETestHelpers.Pause(1)); // Select test-selector-1 var selector = BuilderTestsHelper.GetExplorerItemWithName(StyleSheetsPane, k_Selector_1); yield return(UIETestEvents.Mouse.SimulateClick(selector)); var textFoldout = InspectorPane.Query <PersistedFoldout>().Where(f => f.text.Equals("Text")).First(); textFoldout.value = true; // Show variable field for the Color field var colorField = FindStyleField <ColorField>(textFoldout, "Color"); var handler = StyleVariableUtilities.GetVarHandler(colorField); Assert.IsTrue(colorField.ClassListContains(BuilderConstants.InspectorLocalStyleVariableClassName)); handler.ShowVariableField(); // Enter variable name var textField = handler.variableField.Q <TextField>(); textField.value = ""; selector = BuilderTestsHelper.GetExplorerItemWithName(StyleSheetsPane, k_Selector_1); // Click anywhere else to remove focus yield return(UIETestEvents.Mouse.SimulateClick(selector)); Assert.IsFalse(colorField.ClassListContains(BuilderConstants.InspectorLocalStyleVariableClassName)); var inspector = handler.inspector; var styleProperty = BuilderInspectorStyleFields.GetStyleProperty(inspector.currentRule, handler.styleName); Assert.IsNull(styleProperty); yield return(null); }
public IEnumerator ShowHideVariableField() { var asset = AssetDatabase.LoadAssetAtPath <VisualTreeAsset>(k_NewVariableUxmlFilePath); BuilderWindow.LoadDocument(asset); yield return(UIETestHelpers.Pause(1)); // Select test-selector-1 var selector = BuilderTestsHelper.GetExplorerItemWithName(StyleSheetsPane, k_Selector_1); yield return(UIETestEvents.Mouse.SimulateClick(selector)); var textFoldout = InspectorPane.Query <PersistedFoldout>().Where(f => f.text.Equals("Text")).First(); textFoldout.value = true; var colorField = FindStyleField <ColorField>(textFoldout, "Color"); var handler = StyleVariableUtilities.GetVarHandler(colorField); Assert.IsNull(handler.variableField); yield return(UIETestEvents.Mouse.SimulateDoubleClick(colorField.labelElement)); Assert.IsTrue(colorField.ClassListContains(BuilderConstants.InspectorLocalStyleVariableEditingClassName)); Assert.IsFalse(colorField.ClassListContains(BuilderConstants.ReadOnlyStyleClassName)); // Check VariableEditingHandler.variableInfoTooltip == null as double click may be to fast so that the tooltip is not shown for the first time. Assert.IsTrue(handler.variableInfoTooltip == null || handler.variableInfoTooltip.resolvedStyle.display == DisplayStyle.None); Assert.IsNotNull(handler.variableField); yield return(UIETestHelpers.Pause(1)); var inputField = handler.variableField.Q(TextField.textInputUssName); Assert.AreEqual(handler.variableField.resolvedStyle.display, DisplayStyle.Flex); Assert.IsTrue(HasFocus(inputField)); selector = BuilderTestsHelper.GetExplorerItemWithName(StyleSheetsPane, k_Selector_1); // Click anywhere else to remove focus yield return(UIETestEvents.Mouse.SimulateClick(selector)); Assert.IsFalse(colorField.ClassListContains(BuilderConstants.InspectorLocalStyleVariableEditingClassName)); Assert.AreEqual(handler.variableField.resolvedStyle.display, DisplayStyle.None); yield return(null); }
IEnumerator EditVariable(string fieldPath, bool editorExtensionMode = false) { var asset = AssetDatabase.LoadAssetAtPath <VisualTreeAsset>(k_NewVariableUxmlFilePath); builder.LoadDocument(asset); builder.document.fileSettings.editorExtensionMode = editorExtensionMode; currentHandler = null; yield return(UIETestHelpers.Pause(1)); hierarchy.elementHierarchyView.ExpandRootItems(); styleSheetsPane.elementHierarchyView.ExpandRootItems(); yield return(UIETestHelpers.Pause(1)); // Select test-selector-1 var selector = BuilderTestsHelper.GetExplorerItemWithName(styleSheetsPane, k_Selector_1); yield return(UIETestEvents.Mouse.SimulateClick(selector)); var texts = fieldPath.Split('/'); PersistedFoldout lastFoldout = null; VisualElement currentParent = inspector; for (var i = 0; i < (texts.Length - 1); i++) { var text = texts[i]; lastFoldout = currentParent.Query <PersistedFoldout>().Where(f => f.text.Equals(text)).First(); lastFoldout.value = true; currentParent = lastFoldout; } var propertyField = FindStyleField <BindableElement>(lastFoldout, texts.Last()); currentHandler = StyleVariableUtilities.GetVarHandler(propertyField); currentHandler.ShowVariableField(); // Wait a frame for the variable field to receive focus and dispatch focus in event yield return(null); // Wait another frame for the completer popup to show up yield return(null); }
public IEnumerator ShowHideVariableInfoPopup() { var asset = AssetDatabase.LoadAssetAtPath <VisualTreeAsset>(k_NewVariableUxmlFilePath); BuilderWindow.LoadDocument(asset); yield return(UIETestHelpers.Pause(1)); HierarchyPane.elementHierarchyView.ExpandAllChildren(); StyleSheetsPane.elementHierarchyView.ExpandAllChildren(); yield return(UIETestHelpers.Pause(1)); // Select test-selector-1 var selector = BuilderTestsHelper.GetExplorerItemWithName(StyleSheetsPane, k_Selector_1); yield return(UIETestEvents.Mouse.SimulateClick(selector)); var textFoldout = InspectorPane.Query <PersistedFoldout>().Where(f => f.text.Equals("Text")).First(); textFoldout.value = true; var colorField = FindStyleField <ColorField>(textFoldout, "Color"); var handler = StyleVariableUtilities.GetVarHandler(colorField); handler.ShowVariableField(); Assert.IsTrue(colorField.ClassListContains(BuilderConstants.InspectorLocalStyleVariableEditingClassName)); Assert.IsFalse(colorField.ClassListContains(BuilderConstants.ReadOnlyStyleClassName)); Assert.IsTrue(handler.variableInfoTooltip.visible); Assert.IsNotNull(handler.variableInfoTooltip.currentHandler); Assert.AreEqual(handler.variableInfoTooltip.currentHandler, handler); // Click anywhere else to remove focus selector = BuilderTestsHelper.GetExplorerItemWithName(StyleSheetsPane, k_Selector_1); yield return(UIETestEvents.Mouse.SimulateClick(selector)); Assert.IsFalse(colorField.ClassListContains(BuilderConstants.InspectorLocalStyleVariableEditingClassName)); Assert.IsFalse(handler.variableInfoTooltip.isShowing); yield return(null); }