Files
Magical-Jumping-Bean/Library/metadata/12/124533853216377448d786fd7c725701
T

169 lines
10 KiB
Plaintext
Raw Normal View History

2019-09-29 19:40:54 -04:00
í)42019.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€jH€wÿÿÿÿ1€1€ÿÿÿÿ@ÞQ€jH€€ÿÿÿÿ1€1€ÿÿÿÿ@ÞQ€jy
 Þ€#!.€,"€…ÿÿÿÿ#@1€1€ÿÿÿÿ$Þ%.€j&Õ€“ÿÿÿÿ'1€1€ÿÿÿÿ(ÀÞ)€j€ÿÿÿÿ*H€›€ÿÿÿÿ+1€1€ÿÿÿÿ,@Þ-Q€j.y
 /Þ€#0.€,1 €§2@¾€¶ 3@Þ€#4.€,5H€»ÿÿÿÿ61€1€ÿÿÿÿ7@Þ8Q€j9H€Æÿÿÿÿ:1€1€ÿÿÿÿ;@Þ<Q€j=H€Øÿÿÿÿ>1€1€ÿÿÿÿ?@Þ@Q€jAMonoImporterPPtr<EditorExtension>m_FileIDm_PathIDPPtr<PrefabInstance>m_ExternalObjectsSourceAssetIdentifiertypeassemblynamem_UsedFileIDsm_DefaultReferencesexecutionOrdericonm_UserDatam_AssetBundleNamem_AssetBundleVariantsÿÿ£Gñ×ÜZ56 :!@iÁJ*€7€ÿÿÿÿ¦€²E Þ.(a Þ.€r Þ .
H€«€ÿÿÿÿ 1€1€ÿÿÿÿ @Þ
Q€jH€ê€ÿÿÿÿ1€1€ÿÿÿÿ@ÞQ€jñ€=ÿÿÿÿ1€1€ÿÿÿÿÞ€j€ÿÿÿÿH€›€ÿÿÿÿ1€1€ÿÿÿÿ@ÞQ€jy
 Þ.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¯ð4!T3X#asG„}hßÇ'udPackages/com.unity.test-framework/UnityEditor.TestRunner/NUnitExtension/TestRunnerStateSerializer.csày¯TestRunnerStateSerializerŽusing System;
using System.Reflection;
using System.Text;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.TestRunner.NUnitExtensions.Runner;
using UnityEngine.TestTools.NUnitExtensions;
using UnityEngine.TestTools.Logging;
namespace UnityEditor.TestTools.TestRunner
{
[Serializable]
internal class TestRunnerStateSerializer : IStateSerializer
{
private const BindingFlags Flags = BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance | BindingFlags.FlattenHierarchy;
[SerializeField]
private HideFlags m_OriginalHideFlags;
[SerializeField]
private bool m_ShouldRestore;
[SerializeField]
private string m_TestObjectTypeName;
[SerializeField]
private ScriptableObject m_TestObject;
[SerializeField]
private string m_TestObjectTxt;
[SerializeField]
private long StartTicks;
[SerializeField]
private double StartTimeOA;
[SerializeField]
private string output;
[SerializeField]
private LogMatch[] m_ExpectedLogs;
public bool ShouldRestore()
{
return m_ShouldRestore;
}
public void SaveContext()
{
var currentContext = UnityTestExecutionContext.CurrentContext;
if (currentContext.TestObject != null)
{
m_TestObjectTypeName = currentContext.TestObject.GetType().AssemblyQualifiedName;
m_TestObject = null;
m_TestObjectTxt = null;
if (currentContext.TestObject is ScriptableObject)
{
m_TestObject = currentContext.TestObject as ScriptableObject;
m_OriginalHideFlags = m_TestObject.hideFlags;
m_TestObject.hideFlags |= HideFlags.DontSave;
}
else
{
m_TestObjectTxt = JsonUtility.ToJson(currentContext.TestObject);
}
}
output = currentContext.CurrentResult.Output;
StartTicks = currentContext.StartTicks;
StartTimeOA = currentContext.StartTime.ToOADate();
if (LogScope.HasCurrentLogScope())
{
m_ExpectedLogs = LogScope.Current.ExpectedLogs.ToArray();
}
m_ShouldRestore = true;
}
public void RestoreContext()
{
var currentContext = UnityTestExecutionContext.CurrentContext;
var outputProp = currentContext.CurrentResult.GetType().BaseType.GetField("_output", Flags);
(outputProp.GetValue(currentContext.CurrentResult) as StringBuilder).Append(output);
currentContext.StartTicks = StartTicks;
currentContext.StartTime = DateTime.FromOADate(StartTimeOA);
if (LogScope.HasCurrentLogScope())
{
LogScope.Current.ExpectedLogs = new Queue<LogMatch>(m_ExpectedLogs);
}
m_ShouldRestore = false;
}
public bool CanRestoreFromScriptableObject(Type requestedType)
{
if (m_TestObject == null)
{
return false;
}
return m_TestObjectTypeName == requestedType.AssemblyQualifiedName;
}
public ScriptableObject RestoreScriptableObjectInstance()
{
if (m_TestObject == null)
{
Debug.LogError("No object to restore");
return null;
}
EditorApplication.playModeStateChanged += OnPlayModeStateChanged;
var temp = m_TestObject;
m_TestObject = null;
m_TestObjectTypeName = null;
return temp;
}
public bool CanRestoreFromJson(Type requestedType)
{
if (string.IsNullOrEmpty(m_TestObjectTxt))
{
return false;
}
return m_TestObjectTypeName == requestedType.AssemblyQualifiedName;
}
public void RestoreClassFromJson(ref object instance)
{
if (string.IsNullOrEmpty(m_TestObjectTxt))
{
Debug.LogWarning("No JSON representation to restore");
return;
}
JsonUtility.FromJsonOverwrite(m_TestObjectTxt, instance);
m_TestObjectTxt = null;
m_TestObjectTypeName = null;
}
private void OnPlayModeStateChanged(PlayModeStateChange state)
{
if (m_TestObject == null)
{
EditorApplication.playModeStateChanged -= OnPlayModeStateChanged;
return;
}
//We set the DontSave flag here because the ScriptableObject would be nulled right before entering EditMode
if (state == PlayModeStateChange.ExitingPlayMode)
{
m_TestObject.hideFlags |= HideFlags.DontSave;
}
else if (state == PlayModeStateChange.EnteredEditMode)
{
m_TestObject.hideFlags = m_OriginalHideFlags;
EditorApplication.playModeStateChanged -= OnPlayModeStateChanged;
}