Launches diff tools based on file extensions. Designed to be consumed by snapshot testing libraries.


Keywords
Compare, Diff, Snapshot, Testing
License
MIT
Install
Install-Package DiffEngine -Version 15.3.0

Documentation

DiffEngine

Discussions Build status NuGet Status NuGet Status

DiffEngine manages launching and cleanup of diff tools. It is designed to be used by any Snapshot/Approval testing library.

See Milestones for release notes.

Currently used by:

Contents

NuGet package

Launching a tool

A tool can be launched using the following:

await DiffRunner.LaunchAsync(tempFile, targetFile);

snippet source | anchor

Note that this method will respect the above difference behavior in terms of Auto refresh and MDI behaviors.

Closing a tool

A tool can be closed using the following:

DiffRunner.Kill(file1, file2);

snippet source | anchor

Note that this method will respect the above difference behavior in terms of MDI behavior.

File type detection

DiffEngine use EmptyFiles to determine if a given file or extension is a binary or text. Custom extensions can be added, or existing ones changed.

BuildServerDetector

BuildServerDetector.Detected returns true if the current code is running on a build/CI server.

Supports:

Disable for a machine/process

Set an environment variable DiffEngine_Disabled with the value true.

Disable in code

DiffRunner.Disabled = true;

Icons

Game designed by Andrejs Kirma from The Noun Project.

Tray icons from LineIcons.