コード例 #1
0
 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("");
 }
コード例 #2
0
 public void OnTestRunFinished()
 {
     if (selectedTests.Count == 1)
     {
         TestManager.SelectInHierarchy(selectedTests.Single().go, hideTestsInHierarchy);
     }
 }
コード例 #3
0
        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();
        }
コード例 #4
0
        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();
            }
        }