@@ -1975,5 +1975,231 @@ describe('DiffParser', () => {
19751975 ]
19761976 ` ) ;
19771977 } ) ;
1978+
1979+ it ( 'should work when `diffMaxChanges` is set and excedeed' , ( ) => {
1980+ const diff =
1981+ 'diff --git a/src/core/init.js b/src/core/init.js\n' +
1982+ 'index e49196a..50f310c 100644\n' +
1983+ '--- a/src/core/init.js\n' +
1984+ '+++ b/src/core/init.js\n' +
1985+ '@@ -101,7 +101,7 @@ var rootjQuery,\n' +
1986+ ' // HANDLE: $(function)\n' +
1987+ ' // Shortcut for document ready\n' +
1988+ ' } else if ( jQuery.isFunction( selector ) ) {\n' +
1989+ '- return typeof rootjQuery.ready !== "undefined" ?\n' +
1990+ '+ return rootjQuery.ready !== undefined ?\n' +
1991+ ' rootjQuery.ready( selector ) :\n' +
1992+ ' // Execute immediately if ready is not present\n' +
1993+ ' selector( jQuery );\n' +
1994+ 'diff --git a/src/event.js b/src/event.js\n' +
1995+ 'index 7336f4d..6183f70 100644\n' +
1996+ '--- a/src/event.js\n' +
1997+ '+++ b/src/event.js\n' +
1998+ '@@ -1,6 +1,5 @@\n' +
1999+ ' define([\n' +
2000+ ' "./core",\n' +
2001+ '- "./var/strundefined",\n' +
2002+ ' "./var/rnotwhite",\n' +
2003+ ' "./var/hasOwn",\n' +
2004+ ' "./var/slice",\n' ;
2005+ const result = parse ( diff , { diffMaxChanges : 1 } ) ;
2006+ expect ( result ) . toMatchInlineSnapshot ( `
2007+ Array [
2008+ Object {
2009+ "addedLines": 0,
2010+ "blocks": Array [
2011+ Object {
2012+ "header": "Diff too big to be displayed",
2013+ "lines": Array [],
2014+ "newStartLine": 0,
2015+ "oldStartLine": 0,
2016+ "oldStartLine2": null,
2017+ },
2018+ ],
2019+ "checksumAfter": "50f310c",
2020+ "checksumBefore": "e49196a",
2021+ "deletedLines": 0,
2022+ "isCombined": false,
2023+ "isGitDiff": true,
2024+ "isTooBig": true,
2025+ "language": "js",
2026+ "mode": "100644",
2027+ "newName": "src/core/init.js",
2028+ "oldName": "src/core/init.js",
2029+ },
2030+ Object {
2031+ "addedLines": 0,
2032+ "blocks": Array [
2033+ Object {
2034+ "header": "@@ -1,6 +1,5 @@",
2035+ "lines": Array [
2036+ Object {
2037+ "content": " define([",
2038+ "newNumber": 1,
2039+ "oldNumber": 1,
2040+ "type": "context",
2041+ },
2042+ Object {
2043+ "content": " \\"./core\\",",
2044+ "newNumber": 2,
2045+ "oldNumber": 2,
2046+ "type": "context",
2047+ },
2048+ Object {
2049+ "content": "- \\"./var/strundefined\\",",
2050+ "newNumber": undefined,
2051+ "oldNumber": 3,
2052+ "type": "delete",
2053+ },
2054+ Object {
2055+ "content": " \\"./var/rnotwhite\\",",
2056+ "newNumber": 3,
2057+ "oldNumber": 4,
2058+ "type": "context",
2059+ },
2060+ Object {
2061+ "content": " \\"./var/hasOwn\\",",
2062+ "newNumber": 4,
2063+ "oldNumber": 5,
2064+ "type": "context",
2065+ },
2066+ Object {
2067+ "content": " \\"./var/slice\\",",
2068+ "newNumber": 5,
2069+ "oldNumber": 6,
2070+ "type": "context",
2071+ },
2072+ ],
2073+ "newStartLine": 1,
2074+ "oldStartLine": 1,
2075+ "oldStartLine2": null,
2076+ },
2077+ ],
2078+ "checksumAfter": "6183f70",
2079+ "checksumBefore": "7336f4d",
2080+ "deletedLines": 1,
2081+ "isCombined": false,
2082+ "isGitDiff": true,
2083+ "language": "js",
2084+ "mode": "100644",
2085+ "newName": "src/event.js",
2086+ "oldName": "src/event.js",
2087+ },
2088+ ]
2089+ ` ) ;
2090+ } ) ;
2091+
2092+ it ( 'should work when `diffMaxChanges` is set and excedeed, and `diffTooBigMessage` is set' , ( ) => {
2093+ const diff =
2094+ 'diff --git a/src/core/init.js b/src/core/init.js\n' +
2095+ 'index e49196a..50f310c 100644\n' +
2096+ '--- a/src/core/init.js\n' +
2097+ '+++ b/src/core/init.js\n' +
2098+ '@@ -101,7 +101,7 @@ var rootjQuery,\n' +
2099+ ' // HANDLE: $(function)\n' +
2100+ ' // Shortcut for document ready\n' +
2101+ ' } else if ( jQuery.isFunction( selector ) ) {\n' +
2102+ '- return typeof rootjQuery.ready !== "undefined" ?\n' +
2103+ '+ return rootjQuery.ready !== undefined ?\n' +
2104+ ' rootjQuery.ready( selector ) :\n' +
2105+ ' // Execute immediately if ready is not present\n' +
2106+ ' selector( jQuery );\n' +
2107+ 'diff --git a/src/event.js b/src/event.js\n' +
2108+ 'index 7336f4d..6183f70 100644\n' +
2109+ '--- a/src/event.js\n' +
2110+ '+++ b/src/event.js\n' +
2111+ '@@ -1,6 +1,5 @@\n' +
2112+ ' define([\n' +
2113+ ' "./core",\n' +
2114+ '- "./var/strundefined",\n' +
2115+ ' "./var/rnotwhite",\n' +
2116+ ' "./var/hasOwn",\n' +
2117+ ' "./var/slice",\n' ;
2118+ const result = parse ( diff , { diffMaxChanges : 1 , diffTooBigMessage : ( i : number ) => `Custom ${ i } ` } ) ;
2119+ expect ( result ) . toMatchInlineSnapshot ( `
2120+ Array [
2121+ Object {
2122+ "addedLines": 0,
2123+ "blocks": Array [
2124+ Object {
2125+ "header": "Custom 0",
2126+ "lines": Array [],
2127+ "newStartLine": 0,
2128+ "oldStartLine": 0,
2129+ "oldStartLine2": null,
2130+ },
2131+ ],
2132+ "checksumAfter": "50f310c",
2133+ "checksumBefore": "e49196a",
2134+ "deletedLines": 0,
2135+ "isCombined": false,
2136+ "isGitDiff": true,
2137+ "isTooBig": true,
2138+ "language": "js",
2139+ "mode": "100644",
2140+ "newName": "src/core/init.js",
2141+ "oldName": "src/core/init.js",
2142+ },
2143+ Object {
2144+ "addedLines": 0,
2145+ "blocks": Array [
2146+ Object {
2147+ "header": "@@ -1,6 +1,5 @@",
2148+ "lines": Array [
2149+ Object {
2150+ "content": " define([",
2151+ "newNumber": 1,
2152+ "oldNumber": 1,
2153+ "type": "context",
2154+ },
2155+ Object {
2156+ "content": " \\"./core\\",",
2157+ "newNumber": 2,
2158+ "oldNumber": 2,
2159+ "type": "context",
2160+ },
2161+ Object {
2162+ "content": "- \\"./var/strundefined\\",",
2163+ "newNumber": undefined,
2164+ "oldNumber": 3,
2165+ "type": "delete",
2166+ },
2167+ Object {
2168+ "content": " \\"./var/rnotwhite\\",",
2169+ "newNumber": 3,
2170+ "oldNumber": 4,
2171+ "type": "context",
2172+ },
2173+ Object {
2174+ "content": " \\"./var/hasOwn\\",",
2175+ "newNumber": 4,
2176+ "oldNumber": 5,
2177+ "type": "context",
2178+ },
2179+ Object {
2180+ "content": " \\"./var/slice\\",",
2181+ "newNumber": 5,
2182+ "oldNumber": 6,
2183+ "type": "context",
2184+ },
2185+ ],
2186+ "newStartLine": 1,
2187+ "oldStartLine": 1,
2188+ "oldStartLine2": null,
2189+ },
2190+ ],
2191+ "checksumAfter": "6183f70",
2192+ "checksumBefore": "7336f4d",
2193+ "deletedLines": 1,
2194+ "isCombined": false,
2195+ "isGitDiff": true,
2196+ "language": "js",
2197+ "mode": "100644",
2198+ "newName": "src/event.js",
2199+ "oldName": "src/event.js",
2200+ },
2201+ ]
2202+ ` ) ;
2203+ } ) ;
19782204 } ) ;
19792205} ) ;
0 commit comments