Fix test dependency on static context

This commit is contained in:
Ben Olden-Cooligan 2019-06-15 12:08:04 -04:00
parent 5d004310bc
commit 50184f9bd5
4 changed files with 9 additions and 15 deletions

View File

@ -44,7 +44,7 @@ namespace NAPS2.ImportExport
dialogHelper = DialogHelper.Default;
operationProgress = OperationProgress.Default;
notify = null;
pdfExporter = PdfExporter.Default;
pdfExporter = new PdfSharpExporter(ImageContext.Default);
overwritePrompt = OverwritePrompt.Default;
bitmapRenderer = new BitmapRenderer(ImageContext.Default);
configProvider = ConfigScopes.Current.Provider;

View File

@ -12,18 +12,6 @@ namespace NAPS2.ImportExport.Pdf
{
public abstract class PdfExporter
{
private static PdfExporter _default = new PdfSharpExporter();
public static PdfExporter Default
{
get
{
TestingContext.NoStaticDefaults();
return _default;
}
set => _default = value ?? throw new ArgumentNullException(nameof(value));
}
public abstract Task<bool> Export(string path, ICollection<ScannedImage.Snapshot> snapshots, ConfigProvider<PdfSettings> settings,
OcrContext ocrContext, ProgressHandler progressCallback, CancellationToken cancelToken);
}

View File

@ -41,7 +41,12 @@ namespace NAPS2.ImportExport.Pdf
{
memoryStreamRenderer = new MemoryStreamRenderer(ImageContext.Default);
}
public PdfSharpExporter(ImageContext imageContext)
{
memoryStreamRenderer = new MemoryStreamRenderer(imageContext);
}
public PdfSharpExporter(MemoryStreamRenderer memoryStreamRenderer)
{
this.memoryStreamRenderer = memoryStreamRenderer;

View File

@ -11,6 +11,7 @@ using NAPS2.Logging;
using NAPS2.Ocr;
using NAPS2.Operation;
using NAPS2.Images;
using NAPS2.Images.Storage;
using NAPS2.Util;
namespace NAPS2.ImportExport.Pdf
@ -21,7 +22,7 @@ namespace NAPS2.ImportExport.Pdf
private readonly OverwritePrompt overwritePrompt;
private readonly IEmailProviderFactory emailProviderFactory;
public SavePdfOperation() : this(PdfExporter.Default, OverwritePrompt.Default, null)
public SavePdfOperation() : this(new PdfSharpExporter(ImageContext.Default), OverwritePrompt.Default, null)
{
}