@@ -1975,5 +1975,149 @@ describe('DiffParser', () => {
19751975 ]
19761976 ` ) ;
19771977 } ) ;
1978+
1979+ it ( 'should stop parsing file and mark it as `isTooBig` if `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": 1,
2010+ "blocks": Array [
2011+ Object {
2012+ "header": "@@ -101,7 +101,7 @@ var rootjQuery,",
2013+ "lines": Array [
2014+ Object {
2015+ "content": " // HANDLE: $(function)",
2016+ "newNumber": 101,
2017+ "oldNumber": 101,
2018+ "type": "context",
2019+ },
2020+ Object {
2021+ "content": " // Shortcut for document ready",
2022+ "newNumber": 102,
2023+ "oldNumber": 102,
2024+ "type": "context",
2025+ },
2026+ Object {
2027+ "content": " } else if ( jQuery.isFunction( selector ) ) {",
2028+ "newNumber": 103,
2029+ "oldNumber": 103,
2030+ "type": "context",
2031+ },
2032+ Object {
2033+ "content": "- return typeof rootjQuery.ready !== \\"undefined\\" ?",
2034+ "newNumber": undefined,
2035+ "oldNumber": 104,
2036+ "type": "delete",
2037+ },
2038+ Object {
2039+ "content": "+ return rootjQuery.ready !== undefined ?",
2040+ "newNumber": 104,
2041+ "oldNumber": undefined,
2042+ "type": "insert",
2043+ },
2044+ ],
2045+ "newStartLine": 101,
2046+ "oldStartLine": 101,
2047+ "oldStartLine2": null,
2048+ },
2049+ ],
2050+ "checksumAfter": "50f310c",
2051+ "checksumBefore": "e49196a",
2052+ "deletedLines": 1,
2053+ "isCombined": false,
2054+ "isGitDiff": true,
2055+ "isTooBig": true,
2056+ "language": "js",
2057+ "mode": "100644",
2058+ "newName": "src/core/init.js",
2059+ "oldName": "src/core/init.js",
2060+ },
2061+ Object {
2062+ "addedLines": 0,
2063+ "blocks": Array [
2064+ Object {
2065+ "header": "@@ -1,6 +1,5 @@",
2066+ "lines": Array [
2067+ Object {
2068+ "content": " define([",
2069+ "newNumber": 1,
2070+ "oldNumber": 1,
2071+ "type": "context",
2072+ },
2073+ Object {
2074+ "content": " \\"./core\\",",
2075+ "newNumber": 2,
2076+ "oldNumber": 2,
2077+ "type": "context",
2078+ },
2079+ Object {
2080+ "content": "- \\"./var/strundefined\\",",
2081+ "newNumber": undefined,
2082+ "oldNumber": 3,
2083+ "type": "delete",
2084+ },
2085+ Object {
2086+ "content": " \\"./var/rnotwhite\\",",
2087+ "newNumber": 3,
2088+ "oldNumber": 4,
2089+ "type": "context",
2090+ },
2091+ Object {
2092+ "content": " \\"./var/hasOwn\\",",
2093+ "newNumber": 4,
2094+ "oldNumber": 5,
2095+ "type": "context",
2096+ },
2097+ Object {
2098+ "content": " \\"./var/slice\\",",
2099+ "newNumber": 5,
2100+ "oldNumber": 6,
2101+ "type": "context",
2102+ },
2103+ ],
2104+ "newStartLine": 1,
2105+ "oldStartLine": 1,
2106+ "oldStartLine2": null,
2107+ },
2108+ ],
2109+ "checksumAfter": "6183f70",
2110+ "checksumBefore": "7336f4d",
2111+ "deletedLines": 1,
2112+ "isCombined": false,
2113+ "isGitDiff": true,
2114+ "language": "js",
2115+ "mode": "100644",
2116+ "newName": "src/event.js",
2117+ "oldName": "src/event.js",
2118+ },
2119+ ]
2120+ ` ) ;
2121+ } ) ;
19782122 } ) ;
19792123} ) ;
0 commit comments