Add queued FFmpeg conversion and finish splitting the window from the host.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
67
tests/Explorer.Hosting.Tests/ProjectGraphTests.cs
Normal file
67
tests/Explorer.Hosting.Tests/ProjectGraphTests.cs
Normal file
@@ -0,0 +1,67 @@
|
||||
namespace Explorer.Hosting.Tests;
|
||||
|
||||
public class ProjectGraphTests
|
||||
{
|
||||
[Fact]
|
||||
public void App_references_client_not_host_runtime_or_plugin_implementations()
|
||||
{
|
||||
var csproj = File.ReadAllText(Path.Combine(RepoRoot(), "src", "Explorer.App", "Explorer.App.csproj"));
|
||||
Assert.Contains("Explorer.Hosting.Client", csproj);
|
||||
Assert.Contains("Explorer.Presentation", csproj);
|
||||
Assert.DoesNotContain("Explorer.Hosting\\Explorer.Hosting.csproj", csproj);
|
||||
Assert.DoesNotContain("Explorer.Plugin.OneDrive", csproj);
|
||||
Assert.DoesNotContain("Explorer.Plugin.GoogleDrive", csproj);
|
||||
Assert.DoesNotContain("Explorer.Plugin.Nextcloud", csproj);
|
||||
Assert.DoesNotContain("Explorer.Indexing", csproj);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Client_does_not_reference_plugin_implementations_or_scanners()
|
||||
{
|
||||
var csproj = File.ReadAllText(Path.Combine(RepoRoot(), "src", "Explorer.Hosting.Client", "Explorer.Hosting.Client.csproj"));
|
||||
Assert.Contains("Explorer.Plugin.Abstractions", csproj);
|
||||
Assert.Contains("Explorer.Storage.Sqlite", csproj);
|
||||
Assert.DoesNotContain("Explorer.Plugin.OneDrive", csproj);
|
||||
Assert.DoesNotContain("Explorer.Plugin.GoogleDrive", csproj);
|
||||
Assert.DoesNotContain("Explorer.Plugin.Nextcloud", csproj);
|
||||
Assert.DoesNotContain("Explorer.Indexing", csproj);
|
||||
Assert.DoesNotContain("Explorer.Hosting\\Explorer.Hosting.csproj", csproj);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Host_runtime_owns_plugins_and_references_the_client()
|
||||
{
|
||||
var csproj = File.ReadAllText(Path.Combine(RepoRoot(), "src", "Explorer.Hosting", "Explorer.Hosting.csproj"));
|
||||
Assert.Contains("Explorer.Hosting.Client", csproj);
|
||||
Assert.Contains("Explorer.Plugin.OneDrive", csproj);
|
||||
Assert.Contains("Explorer.Plugin.GoogleDrive", csproj);
|
||||
Assert.Contains("Explorer.Plugin.Nextcloud", csproj);
|
||||
Assert.Contains("Explorer.Indexing", csproj);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Presentation_may_reference_plugin_abstractions_not_implementations()
|
||||
{
|
||||
var csproj = File.ReadAllText(Path.Combine(RepoRoot(), "src", "Explorer.Presentation", "Explorer.Presentation.csproj"));
|
||||
Assert.Contains("Explorer.Plugin.Abstractions", csproj);
|
||||
Assert.DoesNotContain("Explorer.Plugin.OneDrive", csproj);
|
||||
Assert.DoesNotContain("Explorer.Plugin.GoogleDrive", csproj);
|
||||
Assert.DoesNotContain("Explorer.Plugin.Nextcloud", csproj);
|
||||
}
|
||||
|
||||
private static string RepoRoot()
|
||||
{
|
||||
var dir = new DirectoryInfo(AppContext.BaseDirectory);
|
||||
while (dir is not null)
|
||||
{
|
||||
if (File.Exists(Path.Combine(dir.FullName, "Explorer.slnx")))
|
||||
{
|
||||
return dir.FullName;
|
||||
}
|
||||
|
||||
dir = dir.Parent;
|
||||
}
|
||||
|
||||
throw new InvalidOperationException("Could not find Explorer.slnx above " + AppContext.BaseDirectory);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user