summaryrefslogtreecommitdiff
path: root/tests/fixtures/diffs/multi_file_diff
blob: de8620985ceb6b09d3ac5c1e186f488cba6e3d51 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
diff --git a/flake8/utils.py b/flake8/utils.py
index f6ce384..7cd12b0 100644
--- a/flake8/utils.py
+++ b/flake8/utils.py
@@ -75,8 +75,8 @@ def stdin_get_value():
     return cached_value.getvalue()
 
 
-def parse_unified_diff():
-    # type: () -> List[str]
+def parse_unified_diff(diff=None):
+    # type: (str) -> List[str]
     """Parse the unified diff passed on stdin.
 
     :returns:
@@ -84,7 +84,10 @@ def parse_unified_diff():
     :rtype:
         dict
     """
-    diff = stdin_get_value()
+    # Allow us to not have to patch out stdin_get_value
+    if diff is None:
+        diff = stdin_get_value()
+
     number_of_rows = None
     current_path = None
     parsed_paths = collections.defaultdict(set)
diff --git a/tests/fixtures/diffs/single_file_diff b/tests/fixtures/diffs/single_file_diff
new file mode 100644
index 0000000..77ca534
--- /dev/null
+++ b/tests/fixtures/diffs/single_file_diff
@@ -0,0 +1,27 @@
+diff --git a/flake8/utils.py b/flake8/utils.py
+index f6ce384..7cd12b0 100644
+--- a/flake8/utils.py
++++ b/flake8/utils.py
+@@ -75,8 +75,8 @@ def stdin_get_value():
+     return cached_value.getvalue()
+
+
+-def parse_unified_diff():
+-    # type: () -> List[str]
++def parse_unified_diff(diff=None):
++    # type: (str) -> List[str]
+     """Parse the unified diff passed on stdin.
+
+     :returns:
+@@ -84,7 +84,10 @@ def parse_unified_diff():
+     :rtype:
+         dict
+     """
+-    diff = stdin_get_value()
++    # Allow us to not have to patch out stdin_get_value
++    if diff is None:
++        diff = stdin_get_value()
++
+     number_of_rows = None
+     current_path = None
+     parsed_paths = collections.defaultdict(set)
diff --git a/tests/fixtures/diffs/two_file_diff b/tests/fixtures/diffs/two_file_diff
new file mode 100644
index 0000000..5bd35cd
--- /dev/null
+++ b/tests/fixtures/diffs/two_file_diff
@@ -0,0 +1,45 @@
+diff --git a/flake8/utils.py b/flake8/utils.py
+index f6ce384..7cd12b0 100644
+--- a/flake8/utils.py
++++ b/flake8/utils.py
+@@ -75,8 +75,8 @@ def stdin_get_value():
+     return cached_value.getvalue()
+
+
+-def parse_unified_diff():
+-    # type: () -> List[str]
++def parse_unified_diff(diff=None):
++    # type: (str) -> List[str]
+     """Parse the unified diff passed on stdin.
+
+     :returns:
+@@ -84,7 +84,10 @@ def parse_unified_diff():
+     :rtype:
+         dict
+     """
+-    diff = stdin_get_value()
++    # Allow us to not have to patch out stdin_get_value
++    if diff is None:
++        diff = stdin_get_value()
++
+     number_of_rows = None
+     current_path = None
+     parsed_paths = collections.defaultdict(set)
+diff --git a/tests/unit/test_utils.py b/tests/unit/test_utils.py
+index d69d939..21482ce 100644
+--- a/tests/unit/test_utils.py
++++ b/tests/unit/test_utils.py
+@@ -115,3 +115,13 @@ def test_parameters_for_function_plugin():
+     plugin = plugin_manager.Plugin('plugin-name', object())
+     plugin._plugin = fake_plugin
+     assert utils.parameters_for(plugin) == ['physical_line', 'self', 'tree']
++
++
++def read_diff_file(filename):
++    """Read the diff file in its entirety."""
++    with open(filename, 'r') as fd:
++        content = fd.read()
++    return content
++
++
++SINGLE_FILE_DIFF = read_diff_file('tests/fixtures/diffs/single_file_diff')
diff --git a/tests/unit/test_utils.py b/tests/unit/test_utils.py
index d69d939..1461369 100644
--- a/tests/unit/test_utils.py
+++ b/tests/unit/test_utils.py
@@ -115,3 +115,14 @@ def test_parameters_for_function_plugin():
     plugin = plugin_manager.Plugin('plugin-name', object())
     plugin._plugin = fake_plugin
     assert utils.parameters_for(plugin) == ['physical_line', 'self', 'tree']
+
+
+def read_diff_file(filename):
+    """Read the diff file in its entirety."""
+    with open(filename, 'r') as fd:
+        content = fd.read()
+    return content
+
+
+SINGLE_FILE_DIFF = read_diff_file('tests/fixtures/diffs/single_file_diff')
+TWO_FILE_DIFF = read_diff_file('tests/fixtures/diffs/two_file_diff')