mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-09-16 15:43:37 +00:00
Some checks are pending
Build and Release / Collect Flatpak artifacts (push) Blocked by required conditions
Build and Release / Verify (push) Waiting to run
Build and Release / Determine run mode (push) Waiting to run
Build and Release / Read metadata (push) Blocked by required conditions
Build and Release / Sync Flatpak repo (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-apple-darwin, osx-arm64, macos-latest, aarch64-apple-darwin, dmg,app,updater, dmg) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-pc-windows-msvc.exe, win-arm64, windows-latest, aarch64-pc-windows-msvc, nsis,updater, nsis) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-unknown-linux-gnu, linux-arm64, ubuntu-22.04-arm, aarch64-unknown-linux-gnu, appimage,updater, appimage) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-apple-darwin, osx-x64, macos-latest, x86_64-apple-darwin, dmg,app,updater, dmg) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-pc-windows-msvc.exe, win-x64, windows-latest, x86_64-pc-windows-msvc, nsis,updater, nsis) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-unknown-linux-gnu, linux-x64, ubuntu-22.04, x86_64-unknown-linux-gnu, appimage,updater, appimage) (push) Blocked by required conditions
Build and Release / Prepare & create release (push) Blocked by required conditions
Build and Release / Publish release (push) Blocked by required conditions
39 lines
1.7 KiB
C#
39 lines
1.7 KiB
C#
using AIStudio.Tools;
|
|
|
|
namespace AIStudio.Tests.Tools;
|
|
|
|
/// <summary>
|
|
/// Checks what AI Studio assumes about the readers of the formats it writes.
|
|
/// </summary>
|
|
[TestFixture]
|
|
public sealed class FileExportFormatTests
|
|
{
|
|
[Test]
|
|
public void OnlyTheTwoOfficeFormatsRefuseAPageInALocalLink()
|
|
{
|
|
Assert.Multiple(() =>
|
|
{
|
|
Assert.That(FileExportFormat.MICROSOFT_WORD.FollowsPageAnchors(), Is.False, "Word looks for a file whose name ends in the fragment, finds none, and refuses the link.");
|
|
Assert.That(FileExportFormat.OPEN_DOCUMENT_TEXT.FollowsPageAnchors(), Is.False, "LibreOffice does the same, verified on 2026-09-15 with an exported .odt.");
|
|
Assert.That(FileExportFormat.HTML.FollowsPageAnchors(), Is.True, "A browser opens the document on the page the fragment names.");
|
|
Assert.That(FileExportFormat.MARKDOWN.FollowsPageAnchors(), Is.True);
|
|
Assert.That(FileExportFormat.LATEX.FollowsPageAnchors(), Is.True);
|
|
});
|
|
}
|
|
|
|
[Test]
|
|
public void EveryFormatAnAnswerIsWrittenAsHasAnAnswerHere()
|
|
{
|
|
// Whoever adds a format decides what its reader can follow, rather than inheriting an
|
|
// assumption. This fails for a format which nobody thought about, because the list below
|
|
// has to name it:
|
|
Assert.That(FileExportFormatExtensions.ANSWER_FORMATS, Is.EquivalentTo(new[]
|
|
{
|
|
FileExportFormat.MICROSOFT_WORD,
|
|
FileExportFormat.OPEN_DOCUMENT_TEXT,
|
|
FileExportFormat.LATEX,
|
|
FileExportFormat.MARKDOWN,
|
|
FileExportFormat.HTML,
|
|
}), "A format was added to or removed from the export menu: say in FollowsPageAnchors whether its reader follows a page in a local link, then name it here.");
|
|
}
|
|
} |