Upstream: https://github.com/facebook/jest/tree/v27.4.7/packages/jest-diff
Display differences clearly so people can review changes confidently.
The diff
named export serializes values, compares them line-by-line, and returns a string which includes comparison lines.
Two named exports compare strings character-by-character:
-
diffStringsUnified
returns a string. -
diffStringsRaw
returns an array ofDiff
objects.
Three named exports compare arrays of strings line-by-line:
-
diffLinesUnified
anddiffLinesUnified2
return a string. -
diffLinesRaw
returns an array ofDiff
objects.
-
CleanupSemantic.lua
is adapted from the Lua version ofdiff-match-patch
to resemble the upstreamcleanupSemantics.ts
instead of being a direct port of it.- Tests for it are added, which are not included in the upstream `jest-diff
- Changes to tests:
- Snapshots in
Diff.spec.lua
have their leading<g>
,<r>
,<d>
, and<y>
ANSI style codes manually removed. - Color formatting specific tests are omitted.
-
changeColor
is assigned to a function that imitateschalk.inverse
so we can testdiffStringsUnified
. -
Array[]
,Object{}
are changed toTable{}
.
- Snapshots in