public IEnumerator EscapeCancelsEditing()
        {
            var editableLabel = new EditableLabel();

            editableLabel.SetValueWithoutNotify("My Text");
            string newValue = null;

            editableLabel.RegisterCallback <ChangeEvent <string> >(e => newValue = e.newValue);
            m_Window.rootVisualElement.Add(editableLabel);
            // Compute layout
            yield return(null);

            var label     = editableLabel.SafeQ(EditableLabel.labelName);
            var textField = editableLabel.SafeQ(EditableLabel.textFieldName);
            var center    = label.parent.LocalToWorld(label.layout.center);

            // Activate text field
            EventHelper.Click(center, clickCount: 2);

            // Type some text
            EventHelper.Type(k_SomeText);

            // Type Escape
            EventHelper.KeyPressed(KeyCode.Escape);

            Assert.IsNull(newValue);
            Assert.AreEqual(DisplayStyle.Flex, label.resolvedStyle.display);
            Assert.AreEqual(DisplayStyle.None, textField.resolvedStyle.display);
        }
        public IEnumerator DoubleClickOnEditableLabelShowsTextField()
        {
            var editableLabel = new EditableLabel();

            m_Window.rootVisualElement.Add(editableLabel);
            yield return(null);

            var label     = editableLabel.SafeQ(EditableLabel.labelName);
            var textField = editableLabel.SafeQ(EditableLabel.textFieldName);
            var center    = label.parent.LocalToWorld(label.layout.center);

            Assert.AreEqual(DisplayStyle.Flex, label.resolvedStyle.display);
            Assert.AreEqual(DisplayStyle.None, textField.resolvedStyle.display);

            EventHelper.Click(center, clickCount: 2);

            Assert.AreEqual(DisplayStyle.None, label.resolvedStyle.display);
            Assert.AreEqual(DisplayStyle.Flex, textField.resolvedStyle.display);
        }