mirror of
https://github.com/imperialsushi/gutterball-3.git
synced 2025-06-15 05:07:42 +00:00
New Version 1.42
Moving cam replay. Fixed the bugs. New Version 1.42 Moving cam replay. Fixed the bugs. New Version 1.42 Moving cam replay, Fixed the bugs.
This commit is contained in:
parent
dcb7df5fd1
commit
1c033119df
7079 changed files with 186851 additions and 48991 deletions
|
@ -0,0 +1,583 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using UnityEngine;
|
||||
using UnityEditor.Collaboration;
|
||||
using UnityEngine.TestTools;
|
||||
using NUnit.Framework;
|
||||
|
||||
namespace UnityEditor.Collaboration.Tests
|
||||
{
|
||||
[TestFixture]
|
||||
internal class HistoryTests
|
||||
{
|
||||
private TestHistoryWindow _window;
|
||||
private TestRevisionsService _service;
|
||||
private CollabHistoryPresenter _presenter;
|
||||
|
||||
[SetUp]
|
||||
public void SetUp()
|
||||
{
|
||||
_window = new TestHistoryWindow();
|
||||
_service = new TestRevisionsService();
|
||||
_presenter = new CollabHistoryPresenter(_window, new CollabHistoryItemFactory(), _service);
|
||||
}
|
||||
|
||||
[TearDown]
|
||||
public void TearDown()
|
||||
{
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CollabHistoryPresenter_OnUpdatePage__PropagatesRevisionResult()
|
||||
{
|
||||
_service.result = new RevisionsResult()
|
||||
{
|
||||
Revisions = new List<Revision>()
|
||||
{
|
||||
new Revision(authorName: "authorName", comment: "comment", revisionID: "revisionID"),
|
||||
}
|
||||
};
|
||||
|
||||
_presenter.OnUpdatePage(0);
|
||||
var item = _window.items.First();
|
||||
|
||||
Assert.AreEqual("revisionID", item.id);
|
||||
Assert.AreEqual("authorName", item.authorName);
|
||||
Assert.AreEqual("comment", item.comment);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CollabHistoryPresenter_OnUpdatePage__RevisionNumberingIsInOrder()
|
||||
{
|
||||
_service.result = new RevisionsResult()
|
||||
{
|
||||
RevisionsInRepo = 4,
|
||||
Revisions = new List<Revision>()
|
||||
{
|
||||
new Revision(revisionID: "0"),
|
||||
new Revision(revisionID: "1"),
|
||||
new Revision(revisionID: "2"),
|
||||
new Revision(revisionID: "3"),
|
||||
}
|
||||
};
|
||||
|
||||
_presenter.OnUpdatePage(0);
|
||||
var items = _window.items.ToArray();
|
||||
|
||||
Assert.AreEqual(4, items[0].index);
|
||||
Assert.AreEqual(3, items[1].index);
|
||||
Assert.AreEqual(2, items[2].index);
|
||||
Assert.AreEqual(1, items[3].index);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CollabHistoryPresenter_OnUpdatePage__RevisionNumberingChangesForMorePages()
|
||||
{
|
||||
_service.result = new RevisionsResult()
|
||||
{
|
||||
RevisionsInRepo = 12,
|
||||
Revisions = new List<Revision>()
|
||||
{
|
||||
new Revision(revisionID: "0"),
|
||||
new Revision(revisionID: "1"),
|
||||
new Revision(revisionID: "2"),
|
||||
new Revision(revisionID: "3"),
|
||||
new Revision(revisionID: "4"),
|
||||
}
|
||||
};
|
||||
|
||||
_presenter.OnUpdatePage(1);
|
||||
var items = _window.items.ToArray();
|
||||
|
||||
Assert.AreEqual(12, items[0].index);
|
||||
Assert.AreEqual(11, items[1].index);
|
||||
Assert.AreEqual(10, items[2].index);
|
||||
Assert.AreEqual(9, items[3].index);
|
||||
Assert.AreEqual(8, items[4].index);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CollabHistoryPresenter_OnUpdatePage__ObtainedIsCalculated()
|
||||
{
|
||||
_service.result = new RevisionsResult()
|
||||
{
|
||||
Revisions = new List<Revision>()
|
||||
{
|
||||
new Revision(isObtained: false),
|
||||
new Revision(isObtained: true),
|
||||
}
|
||||
};
|
||||
|
||||
_presenter.OnUpdatePage(0);
|
||||
var items = _window.items.ToArray();
|
||||
|
||||
Assert.IsFalse(items[0].obtained);
|
||||
Assert.IsTrue(items[1].obtained);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CollabHistoryPresenter_OnUpdatePage__CurrentIsCalculated()
|
||||
{
|
||||
_service.result = new RevisionsResult()
|
||||
{
|
||||
Revisions = new List<Revision>()
|
||||
{
|
||||
new Revision(revisionID: "1"),
|
||||
new Revision(revisionID: "2"),
|
||||
new Revision(revisionID: "3"),
|
||||
}
|
||||
};
|
||||
_service.tipRevision = "2";
|
||||
|
||||
_presenter.OnUpdatePage(0);
|
||||
var items = _window.items.ToArray();
|
||||
|
||||
Assert.AreEqual(false, items[0].current);
|
||||
Assert.AreEqual(true, items[1].current);
|
||||
Assert.AreEqual(false, items[2].current);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CollabHistoryPresenter_OnUpdatePage__InProgressIsCalculated()
|
||||
{
|
||||
_service.result = new RevisionsResult()
|
||||
{
|
||||
Revisions = new List<Revision>()
|
||||
{
|
||||
new Revision(revisionID: "1"),
|
||||
new Revision(revisionID: "2"),
|
||||
new Revision(revisionID: "3"),
|
||||
}
|
||||
};
|
||||
_window.inProgressRevision = "2";
|
||||
|
||||
_presenter.OnUpdatePage(0);
|
||||
var items = _window.items.ToArray();
|
||||
|
||||
Assert.IsFalse(items[0].inProgress);
|
||||
Assert.IsTrue(items[1].inProgress);
|
||||
Assert.IsFalse(items[2].inProgress);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CollabHistoryPresenter_OnUpdatePage__EnabledIsCalculated()
|
||||
{
|
||||
_service.result = new RevisionsResult()
|
||||
{
|
||||
Revisions = new List<Revision>()
|
||||
{
|
||||
new Revision(revisionID: "0"),
|
||||
}
|
||||
};
|
||||
_window.revisionActionsEnabled = true;
|
||||
|
||||
_presenter.OnUpdatePage(0);
|
||||
var item = _window.items.First();
|
||||
|
||||
Assert.AreEqual(true, item.enabled);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CollabHistoryPresenter_OnUpdatePage__DisabledIsCalculated()
|
||||
{
|
||||
_service.result = new RevisionsResult()
|
||||
{
|
||||
Revisions = new List<Revision>()
|
||||
{
|
||||
new Revision(revisionID: "0"),
|
||||
}
|
||||
};
|
||||
_window.revisionActionsEnabled = false;
|
||||
|
||||
_presenter.OnUpdatePage(0);
|
||||
var item = _window.items.First();
|
||||
|
||||
Assert.AreEqual(false, item.enabled);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CollabHistoryPresenter_OnUpdatePage__BuildStateHasNoneWhenNotTip()
|
||||
{
|
||||
_service.result = new RevisionsResult()
|
||||
{
|
||||
Revisions = new List<Revision>()
|
||||
{
|
||||
new Revision(revisionID: "1"),
|
||||
}
|
||||
};
|
||||
_service.tipRevision = "0";
|
||||
_presenter.BuildServiceEnabled = false;
|
||||
|
||||
_presenter.OnUpdatePage(0);
|
||||
var item = _window.items.First();
|
||||
|
||||
Assert.AreEqual(BuildState.None, item.buildState);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CollabHistoryPresenter_OnUpdatePage__BuildStateTipHasNoneWhenEnabled()
|
||||
{
|
||||
_service.result = new RevisionsResult()
|
||||
{
|
||||
Revisions = new List<Revision>()
|
||||
{
|
||||
new Revision(revisionID: "0"),
|
||||
}
|
||||
};
|
||||
_service.tipRevision = "0";
|
||||
_presenter.BuildServiceEnabled = true;
|
||||
|
||||
_presenter.OnUpdatePage(0);
|
||||
var item = _window.items.First();
|
||||
|
||||
Assert.AreEqual(BuildState.None, item.buildState);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CollabHistoryPresenter_OnUpdatePage__BuildStateHasConfigureWhenTip()
|
||||
{
|
||||
_service.result = new RevisionsResult()
|
||||
{
|
||||
Revisions = new List<Revision>()
|
||||
{
|
||||
new Revision(revisionID: "0"),
|
||||
}
|
||||
};
|
||||
_service.tipRevision = "0";
|
||||
_presenter.BuildServiceEnabled = false;
|
||||
|
||||
_presenter.OnUpdatePage(0);
|
||||
var item = _window.items.First();
|
||||
|
||||
Assert.AreEqual(BuildState.Configure, item.buildState);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CollabHistoryPresenter_OnUpdatePage__BuildStateHasConfigureWhenZeroBuildStatus()
|
||||
{
|
||||
_service.result = new RevisionsResult()
|
||||
{
|
||||
Revisions = new List<Revision>()
|
||||
{
|
||||
new Revision(revisionID: "0"),
|
||||
}
|
||||
};
|
||||
_service.tipRevision = "0";
|
||||
_presenter.BuildServiceEnabled = false;
|
||||
|
||||
_presenter.OnUpdatePage(0);
|
||||
var item = _window.items.First();
|
||||
|
||||
Assert.AreEqual(BuildState.Configure, item.buildState);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CollabHistoryPresenter_OnUpdatePage__BuildStateHasNoneWhenZeroBuildStatuses()
|
||||
{
|
||||
_service.result = new RevisionsResult()
|
||||
{
|
||||
Revisions = new List<Revision>()
|
||||
{
|
||||
new Revision(revisionID: "0"),
|
||||
}
|
||||
};
|
||||
_service.tipRevision = "0";
|
||||
_presenter.BuildServiceEnabled = true;
|
||||
|
||||
_presenter.OnUpdatePage(0);
|
||||
var item = _window.items.First();
|
||||
|
||||
Assert.AreEqual(BuildState.None, item.buildState);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CollabHistoryPresenter_OnUpdatePage__BuildStateHasSuccessWhenCompleteAndSucceeded()
|
||||
{
|
||||
_service.result = new RevisionsResult()
|
||||
{
|
||||
Revisions = new List<Revision>()
|
||||
{
|
||||
new Revision
|
||||
(
|
||||
revisionID: "0",
|
||||
buildStatuses: new CloudBuildStatus[1]
|
||||
{
|
||||
new CloudBuildStatus(complete: true, success: true),
|
||||
}
|
||||
),
|
||||
}
|
||||
};
|
||||
_service.tipRevision = "0";
|
||||
_presenter.BuildServiceEnabled = true;
|
||||
|
||||
_presenter.OnUpdatePage(0);
|
||||
var item = _window.items.First();
|
||||
|
||||
Assert.AreEqual(BuildState.Success, item.buildState);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CollabHistoryPresenter_OnUpdatePage__BuildStateHasInProgress()
|
||||
{
|
||||
_service.result = new RevisionsResult()
|
||||
{
|
||||
Revisions = new List<Revision>()
|
||||
{
|
||||
new Revision
|
||||
(
|
||||
revisionID: "0",
|
||||
buildStatuses: new CloudBuildStatus[1]
|
||||
{
|
||||
new CloudBuildStatus(complete: false),
|
||||
}
|
||||
),
|
||||
}
|
||||
};
|
||||
_service.tipRevision = "0";
|
||||
_presenter.BuildServiceEnabled = true;
|
||||
|
||||
_presenter.OnUpdatePage(0);
|
||||
var item = _window.items.First();
|
||||
|
||||
Assert.AreEqual(BuildState.InProgress, item.buildState);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CollabHistoryPresenter_OnUpdatePage__BuildStateHasFailure()
|
||||
{
|
||||
_service.result = new RevisionsResult()
|
||||
{
|
||||
Revisions = new List<Revision>()
|
||||
{
|
||||
new Revision
|
||||
(
|
||||
revisionID: "0",
|
||||
buildStatuses: new CloudBuildStatus[1]
|
||||
{
|
||||
new CloudBuildStatus(complete: true, success: false),
|
||||
}
|
||||
),
|
||||
}
|
||||
};
|
||||
_service.tipRevision = "0";
|
||||
_presenter.BuildServiceEnabled = true;
|
||||
|
||||
_presenter.OnUpdatePage(0);
|
||||
var item = _window.items.First();
|
||||
|
||||
Assert.AreEqual(BuildState.Failed, item.buildState);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CollabHistoryPresenter_OnUpdatePage__BuildStateHasFailureWhenAnyBuildsFail()
|
||||
{
|
||||
_service.result = new RevisionsResult()
|
||||
{
|
||||
Revisions = new List<Revision>()
|
||||
{
|
||||
new Revision
|
||||
(
|
||||
revisionID: "0",
|
||||
buildStatuses: new CloudBuildStatus[3]
|
||||
{
|
||||
new CloudBuildStatus(complete: true, success: false),
|
||||
new CloudBuildStatus(complete: true, success: false),
|
||||
new CloudBuildStatus(complete: true, success: true),
|
||||
}
|
||||
),
|
||||
}
|
||||
};
|
||||
_service.tipRevision = "0";
|
||||
_presenter.BuildServiceEnabled = true;
|
||||
|
||||
_presenter.OnUpdatePage(0);
|
||||
var item = _window.items.First();
|
||||
|
||||
Assert.AreEqual(BuildState.Failed, item.buildState);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CollabHistoryPresenter_OnUpdatePage__ChangesPropagateThrough()
|
||||
{
|
||||
_service.result = new RevisionsResult()
|
||||
{
|
||||
Revisions = new List<Revision>()
|
||||
{
|
||||
new Revision(revisionID: "0", entries: GenerateChangeActions(3)),
|
||||
}
|
||||
};
|
||||
|
||||
_presenter.OnUpdatePage(0);
|
||||
var item = _window.items.First();
|
||||
var changes = item.changes.ToList();
|
||||
|
||||
Assert.AreEqual("Path0", changes[0].path);
|
||||
Assert.AreEqual("Path1", changes[1].path);
|
||||
Assert.AreEqual("Path2", changes[2].path);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CollabHistoryPresenter_OnUpdatePage__ChangesTotalIsCalculated()
|
||||
{
|
||||
_service.result = new RevisionsResult()
|
||||
{
|
||||
Revisions = new List<Revision>()
|
||||
{
|
||||
new Revision(revisionID: "0", entries: GenerateChangeActions(3)),
|
||||
}
|
||||
};
|
||||
|
||||
_presenter.OnUpdatePage(0);
|
||||
var item = _window.items.First();
|
||||
|
||||
Assert.AreEqual(3, item.changes.Count);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CollabHistoryPresenter_OnUpdatePage__ChangesTruncatedIsCalculated()
|
||||
{
|
||||
for (var i = 0; i < 20; i++)
|
||||
{
|
||||
_service.result = new RevisionsResult()
|
||||
{
|
||||
Revisions = new List<Revision>()
|
||||
{
|
||||
new Revision(revisionID: "0", entries: GenerateChangeActions(i)),
|
||||
}
|
||||
};
|
||||
|
||||
_presenter.OnUpdatePage(0);
|
||||
var item = _window.items.First();
|
||||
|
||||
Assert.AreEqual(i > 10, item.changesTruncated);
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CollabHistoryPresenter_OnUpdatePage__OnlyKeeps10ChangeActions()
|
||||
{
|
||||
_service.result = new RevisionsResult()
|
||||
{
|
||||
Revisions = new List<Revision>()
|
||||
{
|
||||
new Revision(authorName: "Test", author: "test", entries: GenerateChangeActions(12)),
|
||||
}
|
||||
};
|
||||
|
||||
_presenter.OnUpdatePage(1);
|
||||
var item = _window.items.First();
|
||||
|
||||
Assert.AreEqual(10, item.changes.Count);
|
||||
Assert.AreEqual(12, item.changesTotal);
|
||||
Assert.AreEqual(true, item.changesTruncated);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CollabHistoryPresenter_OnUpdatePage__DeduplicatesMetaFiles()
|
||||
{
|
||||
_service.result = new RevisionsResult()
|
||||
{
|
||||
Revisions = new List<Revision>()
|
||||
{
|
||||
new Revision
|
||||
(
|
||||
authorName: "Test",
|
||||
author: "test",
|
||||
revisionID: "",
|
||||
entries: new ChangeAction[2]
|
||||
{
|
||||
new ChangeAction(path: "Path1", action: "Action1"),
|
||||
new ChangeAction(path: "Path1.meta", action: "Action1"),
|
||||
}
|
||||
),
|
||||
}
|
||||
};
|
||||
|
||||
_presenter.OnUpdatePage(1);
|
||||
var item = _window.items.First();
|
||||
|
||||
Assert.AreEqual(1, item.changes.Count);
|
||||
Assert.AreEqual(1, item.changesTotal);
|
||||
Assert.AreEqual("Path1", item.changes.First().path);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CollabHistoryPresenter_OnUpdatePage__FolderMetaFilesAreCounted()
|
||||
{
|
||||
_service.result = new RevisionsResult()
|
||||
{
|
||||
Revisions = new List<Revision>()
|
||||
{
|
||||
new Revision
|
||||
(
|
||||
authorName: "Test",
|
||||
author: "test",
|
||||
entries: new ChangeAction[1]
|
||||
{
|
||||
new ChangeAction(path: "Folder1.meta", action: "Action1"),
|
||||
}
|
||||
),
|
||||
}
|
||||
};
|
||||
|
||||
_presenter.OnUpdatePage(1);
|
||||
var item = _window.items.First();
|
||||
|
||||
Assert.AreEqual(1, item.changes.Count);
|
||||
Assert.AreEqual(1, item.changesTotal);
|
||||
Assert.AreEqual("Folder1", item.changes.First().path);
|
||||
}
|
||||
|
||||
private static ChangeAction[] GenerateChangeActions(int count)
|
||||
{
|
||||
var entries = new ChangeAction[count];
|
||||
for (var i = 0; i < count; i++)
|
||||
entries[i] = new ChangeAction(path: "Path" + i, action: "Action" + i);
|
||||
return entries;
|
||||
}
|
||||
}
|
||||
|
||||
internal class TestRevisionsService : IRevisionsService
|
||||
{
|
||||
public RevisionsResult result;
|
||||
public event RevisionsDelegate FetchRevisionsCallback;
|
||||
|
||||
public string tipRevision { get; set; }
|
||||
public string currentUser { get; set; }
|
||||
|
||||
public void GetRevisions(int offset, int count)
|
||||
{
|
||||
if(FetchRevisionsCallback != null)
|
||||
{
|
||||
FetchRevisionsCallback(result);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
internal class TestHistoryWindow : ICollabHistoryWindow
|
||||
{
|
||||
public IEnumerable<RevisionData> items;
|
||||
|
||||
public bool revisionActionsEnabled { get; set; }
|
||||
public int itemsPerPage { get; set; }
|
||||
public string errMessage { get; set; }
|
||||
public string inProgressRevision { get; set; }
|
||||
public PageChangeAction OnPageChangeAction { get; set; }
|
||||
public RevisionAction OnGoBackAction { get; set; }
|
||||
public RevisionAction OnUpdateAction { get; set; }
|
||||
public RevisionAction OnRestoreAction { get; set; }
|
||||
public ShowBuildAction OnShowBuildAction { get; set; }
|
||||
public Action OnShowServicesAction { get; set; }
|
||||
|
||||
public void UpdateState(HistoryState state, bool force)
|
||||
{
|
||||
}
|
||||
|
||||
public void UpdateRevisions(IEnumerable<RevisionData> items, string tip, int totalRevisions, int currPage)
|
||||
{
|
||||
this.items = items;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 23a56a19774ed42b6b65646af08a003c
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"name": "Unity.CollabProxy.EditorTests",
|
||||
"references": [
|
||||
"Unity.CollabProxy.Editor"
|
||||
],
|
||||
"optionalUnityReferences": [
|
||||
"TestAssemblies"
|
||||
],
|
||||
"includePlatforms": [
|
||||
"Editor"
|
||||
],
|
||||
"excludePlatforms": []
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 782de34c17796430ba8d0ceddb60944e
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Loading…
Add table
Add a link
Reference in a new issue