private void SelectTest(TestResult testToSelect) { if (!Event.current.control && !Event.current.shift) { selectedTests.Clear(); } if (Event.current.control && selectedTests.Contains(testToSelect)) { selectedTests.Remove(testToSelect); } else if (Event.current.shift && selectedTests.Any()) { var tests = testManager.GetTestsToSelect(selectedTests, testToSelect); selectedTests.Clear(); selectedTests.AddRange(tests); } else { selectedTests.Add(testToSelect); } if (!EditorApplication.isPlayingOrWillChangePlaymode && selectedTests.Count == 1) { var selectedTest = selectedTests.Single(); testManager.SelectInHierarchy(selectedTest); EditorApplication.RepaintHierarchyWindow(); } Selection.objects = selectedTests.Select(result => result.GameObject).ToArray(); forceRepaint = true; GUI.FocusControl(""); }
public void OnTestRunFinished() { if (selectedTests.Count == 1) { TestManager.SelectInHierarchy(selectedTests.Single().go, hideTestsInHierarchy); } }
public void PrintOptions() { EditorGUILayout.BeginVertical(); EditorGUI.BeginChangeCheck(); var style = EditorStyles.toggle; //Temporary disabled //focusOnSelection = EditorGUILayoutExt.ToggleLeft((new GUIContent("Focus on selected test", "Focus on selected test")), // focusOnSelection, // style); addNewGameObjectUnderSelectedTest = EditorGUILayout.Toggle(guiAddGOUderTest, addNewGameObjectUnderSelectedTest, style); blockUIWhenRunning = EditorGUILayout.Toggle(guiBlockUI, blockUIWhenRunning, style); EditorGUI.BeginChangeCheck(); hideTestsInHierarchy = EditorGUILayout.Toggle(guiHideTestInHierarchy, hideTestsInHierarchy, style); if (EditorGUI.EndChangeCheck()) { TestManager.ShowOrHideTestInHierarchy(hideTestsInHierarchy); if (selectedTests.Count == 1) { TestManager.SelectInHierarchy(selectedTests.Single().go, hideTestsInHierarchy); } EditorApplication.RepaintHierarchyWindow(); } EditorGUI.BeginChangeCheck(); showTestRunnerObjectOnScene = !EditorGUILayout.Toggle(guiHideTestRunner, !showTestRunnerObjectOnScene, style); if (EditorGUI.EndChangeCheck()) { ShowTestRunnerObjectOnScene(showTestRunnerObjectOnScene); } if (EditorGUI.EndChangeCheck()) { SaveSettings(); } EditorGUILayout.EndVertical(); }
public void SelectInHierarchy(IEnumerable <GameObject> go) { selectedTests.Clear(); selectedTests.AddRange(go.Select(o => testManager.GetResultFor(o))); if (selectedTests.Count() == 1) { TestManager.SelectInHierarchy(selectedTests.Single().go, hideTestsInHierarchy); } if (focusOnSelection && SceneView.currentDrawingSceneView != null) { SceneView.lastActiveSceneView.FrameSelected(); } }