Files
Magical-Jumping-Bean/Library/metadata/cc/cc456ba93311a3a43ad896449fee9868
T

197 lines
11 KiB
Plaintext
Raw Normal View History

2019-09-29 19:40:54 -04:00
í+ð2019.2.3f1þÿÿÿÿÿ’3$øÌuñ옲e+ Í=^7€ÿÿÿÿ€¦€²€Ѐ¦€¦€¦€#¦€+H€3ÿÿÿÿ€1€1€ÿÿÿÿ@Þ€€ Q€j€
H€<ÿÿÿÿ €1€1€ÿÿÿÿ @Þ€€
Q€j€Õ€Iÿÿÿÿ€1€1€ÿÿÿÿÀÞ€€H€j€ÿÿÿÿ€1€1€ÿÿÿÿ@Þ€€Q€j€™€PAssetMetaDataguiddata[0]data[1]data[2]data[3]pathNameoriginalNamelabelsassetStoreRef ÿÿfš†!ë5˜9Ý4QÁóBí7€ÿÿÿÿ€¦€²€
E€ Þ€#€.€,€5a€ Þ€#€.€,€†€r€ Þ€# €.€,
€H€«€ÿÿÿÿ €1€1€ÿÿÿÿ @Þ€€
Q€j€ñ€JÿÿÿÿÀ1€1€ÿÿÿÿ€Þ€€€j€ÿÿÿÿ€\›€ÿÿÿÿ€H€rÿÿÿÿ€1€1€ÿÿÿÿ@Þ€€Q€j€H€wÿÿÿÿ€1€1€ÿÿÿÿ@Þ€€Q€j€H€€ÿÿÿÿ€1€1€ÿÿÿÿ@Þ€€Q€j€y€
€ Þ€#!€.€,"€€…ÿÿÿÿ#@1€1€ÿÿÿÿ$Þ€€%.€j€&Õ€“ÿÿÿÿ'€1€1€ÿÿÿÿ(ÀÞ€€)€j€ÿÿÿÿ*€H€›€ÿÿÿÿ+€1€1€ÿÿÿÿ,@Þ€€-Q€j€.y€
€ /Þ€#0€.€,1€ €§2@¾€¶ 3@Þ€#4€.€,5€H€»ÿÿÿÿ6€1€1€ÿÿÿÿ7@Þ€€8Q€j€9H€Æÿÿÿÿ:€1€1€ÿÿÿÿ;@Þ€€<Q€j€=H€Øÿÿÿÿ>€1€1€ÿÿÿÿ?@Þ€€@Q€j€AMonoImporterPPtr<EditorExtension>m_FileIDm_PathIDPPtr<PrefabInstance>m_ExternalObjectsSourceAssetIdentifiertypeassemblynamem_UsedFileIDsm_DefaultReferencesexecutionOrdericonm_UserDatam_AssetBundleNamem_AssetBundleVariantsÿÿ£Gñ×Ü�Z56 :!@iÁJ*�€7€ÿÿÿÿ€¦€²€E€ Þ€€.€€(a€ Þ€€.€€†€r€ Þ€ €.€
€H€«€ÿÿÿÿ €1€1€ÿÿÿÿ @Þ€€
Q€j€H€ê€ÿÿÿÿ€1€1€ÿÿÿÿ@Þ€€Q€j€ñ€=ÿÿÿÿ€1€1€ÿÿÿÿ€Þ€€€j€ÿÿÿÿ€H€›€ÿÿÿÿ€1€1€ÿÿÿÿ@Þ€€Q€j€y€
€ Þ€€.€€y€Q Þ€€.€ €Þ€X!H€iÿÿÿÿ"€1€1€ÿÿÿÿ#@Þ€€$Q€j€%H€uÿÿÿÿ&€1€1€ÿÿÿÿ'@Þ€€(Q€j€)PPtr<EditorExtension>m_FileIDm_PathIDPPtr<PrefabInstance>m_DefaultReferencesm_Iconm_ExecutionOrderm_ClassNamem_Namespace��\ày¯ððÌT¶š3:J£�iDùgPackages/com.unity.test-framework/UnityEditor.TestRunner/TestRunner/Callbacks/EditModeRunnerCallback.csày¯EditModeRunnerCallbackTusing System;
using System.Collections.Generic;
using System.Linq;
using NUnit.Framework;
using NUnit.Framework.Interfaces;
using NUnit.Framework.Internal;
using UnityEditor.SceneManagement;
using UnityEngine;
using UnityEngine.TestTools.TestRunner;
namespace UnityEditor.TestTools.TestRunner
{
internal class EditModeRunnerCallback : ScriptableObject, ITestRunnerListener
{
private EditModeLauncherContextSettings m_Settings;
public SceneSetup[] previousSceneSetup;
public int undoGroup;
public EditModeRunner runner;
private bool m_Canceled;
private ITest m_CurrentTest;
private int m_TotalTests;
[SerializeField]
private List<string> m_PendingTests;
[SerializeField]
private string m_LastCountedTestName;
[SerializeField]
private bool m_RunRestarted;
public void OnDestroy()
{
CleanUp();
}
public void RunStarted(ITest testsToRun)
{
Setup();
if (m_PendingTests == null)
{
m_PendingTests = GetTestsExpectedToRun(testsToRun, runner.GetFilter());
m_TotalTests = m_PendingTests.Count;
}
}
public void OnEnable()
{
if (m_RunRestarted)
{
Setup();
}
}
private void Setup()
{
m_Settings = new EditModeLauncherContextSettings();
Application.logMessageReceivedThreaded += LogReceived;
EditorApplication.playModeStateChanged += WaitForExitPlaymode;
EditorApplication.update += DisplayProgressBar;
AssemblyReloadEvents.beforeAssemblyReload += BeforeAssemblyReload;
}
private void BeforeAssemblyReload()
{
if (m_CurrentTest != null)
{
m_LastCountedTestName = m_CurrentTest.FullName;
m_RunRestarted = true;
}
}
private void DisplayProgressBar()
{
if (m_CurrentTest == null)
return;
if (!m_Canceled && EditorUtility.DisplayCancelableProgressBar("Test Runner", "Running test " + m_CurrentTest.Name, Math.Min(1.0f, (float)(m_TotalTests - m_PendingTests.Count) / m_TotalTests)))
{
EditorApplication.update -= DisplayProgressBar;
m_Canceled = true;
EditorUtility.ClearProgressBar();
runner.OnRunCancel();
}
}
private static void LogReceived(string message, string stacktrace, LogType type)
{
if (TestContext.Out != null)
TestContext.Out.WriteLine(message);
}
private static void WaitForExitPlaymode(PlayModeStateChange state)
{
if (state == PlayModeStateChange.EnteredEditMode)
{
EditorApplication.playModeStateChanged -= WaitForExitPlaymode;
//because logMessage is reset on Enter EditMode
//we remove and add the callback
//because Unity
Application.logMessageReceivedThreaded -= LogReceived;
Application.logMessageReceivedThreaded += LogReceived;
}
}
public void RunFinished(ITestResult result)
{
if (previousSceneSetup != null && previousSceneSetup.Length > 0)
{
try
{
EditorSceneManager.RestoreSceneManagerSetup(previousSceneSetup);
}
catch (ArgumentException e)
{
Debug.LogWarning(e.Message);
}
}
else
{
EditorSceneManager.NewScene(NewSceneSetup.DefaultGameObjects, NewSceneMode.Single);
}
CleanUp();
PerformUndo(undoGroup);
}
private void CleanUp()
{
m_CurrentTest = null;
EditorUtility.ClearProgressBar();
if (m_Settings != null)
{
m_Settings.Dispose();
}
Application.logMessageReceivedThreaded -= LogReceived;
EditorApplication.update -= DisplayProgressBar;
}
public void TestStarted(ITest test)
{
if (test.IsSuite || !(test is TestMethod))
{
return;
}
m_CurrentTest = test;
if (m_RunRestarted)
{
if (test.FullName == m_LastCountedTestName)
m_RunRestarted = false;
}
}
public void TestFinished(ITestResult result)
{
if (result.Test is TestMethod)
{
m_PendingTests.Remove(result.Test.FullName);
}
}
private static void PerformUndo(int undoGroup)
{
EditorUtility.DisplayProgressBar("Undo", "Reverting changes to the scene", 0);
var undoStartTime = DateTime.Now;
Undo.RevertAllDownToGroup(undoGroup);
if ((DateTime.Now - undoStartTime).TotalSeconds > 1)
Debug.LogWarning("Undo after editor test run took " + (DateTime.Now - undoStartTime).Seconds + " seconds.");
EditorUtility.ClearProgressBar();
}
private static List<string> GetTestsExpectedToRun(ITest test, ITestFilter filter)
{
var expectedTests = new List<string>();
if (filter.Pass(test))
{
if (test.IsSuite)
{
expectedTests.AddRange(test.Tests.SelectMany(subTest => GetTestsExpectedToRun(subTest, filter)));
}
else
{
expectedTests.Add(test.FullName);
}
}
return expectedTests;