vendor: import KillerPDF 1.7.5 source (GPL-3.0) as the base for MMD PDF

This commit is contained in:
2026-08-27 06:58:22 +02:00
commit 532485a830
577 changed files with 149058 additions and 0 deletions
+47
View File
@@ -0,0 +1,47 @@
using KillerPDF.Services;
using Xunit;
namespace KillerPDF.Tests;
public sealed class WheelPageFlipGateTests
{
private static readonly DateTime Start = new(2026, 8, 22, 12, 0, 0, DateTimeKind.Utc);
[Fact]
public void TwoQuickNotchesAtEdge_ConfirmPageFlip()
{
var gate = new WheelPageFlipGate();
Assert.False(gate.TryConfirm(-120, Start));
Assert.True(gate.TryConfirm(-120, Start.AddMilliseconds(100)));
}
[Fact]
public void MomentumImmediatelyAfterContentScroll_DoesNotFlip()
{
var gate = new WheelPageFlipGate();
gate.NoteContentScroll(Start);
Assert.False(gate.TryConfirm(-120, Start.AddMilliseconds(50)));
Assert.False(gate.TryConfirm(-120, Start.AddMilliseconds(150)));
}
[Fact]
public void OppositeDirection_RestartsConfirmation()
{
var gate = new WheelPageFlipGate();
Assert.False(gate.TryConfirm(-120, Start));
Assert.False(gate.TryConfirm(120, Start.AddMilliseconds(100)));
Assert.True(gate.TryConfirm(120, Start.AddMilliseconds(200)));
}
[Fact]
public void SlowNotches_DoNotCombineIntoPageFlip()
{
var gate = new WheelPageFlipGate();
Assert.False(gate.TryConfirm(-120, Start));
Assert.False(gate.TryConfirm(-120, Start.AddMilliseconds(700)));
}
}