|
23 | 23 | import datetime |
24 | 24 | from decimal import Decimal |
25 | 25 | from deepdiff import DeepDiff |
26 | | -from deepdiff.helper import py3 |
| 26 | +from deepdiff.helper import py3, bytes_type |
27 | 27 | from tests import CustomClass |
28 | 28 | if py3: |
29 | 29 | from unittest import mock |
@@ -177,6 +177,67 @@ def test_string_difference2(self): |
177 | 177 | } |
178 | 178 | } |
179 | 179 | self.assertEqual(ddiff, result) |
| 180 | + |
| 181 | + def test_bytes(self): |
| 182 | + t1 = { |
| 183 | + 1: 1, |
| 184 | + 2: 2, |
| 185 | + 3: 3, |
| 186 | + 4: { |
| 187 | + "a": b"hello", |
| 188 | + "b": b"world!\nGoodbye!\n1\n2\nEnd", |
| 189 | + "c": b"\x80", |
| 190 | + } |
| 191 | + } |
| 192 | + t2 = {1: 1, |
| 193 | + 2: 2, |
| 194 | + 3: 3, |
| 195 | + 4: { |
| 196 | + "a": b"hello", |
| 197 | + "b": b"world\n1\n2\nEnd", |
| 198 | + "c": b'\x81', |
| 199 | + } |
| 200 | + } |
| 201 | + ddiff = DeepDiff(t1, t2) |
| 202 | + result = { |
| 203 | + 'values_changed': { |
| 204 | + "root[4]['b']": { |
| 205 | + 'diff': |
| 206 | + '--- \n+++ \n@@ -1,5 +1,4 @@\n-world!\n-Goodbye!\n+world\n 1\n 2\n End', |
| 207 | + 'new_value': b'world\n1\n2\nEnd', |
| 208 | + 'old_value': b'world!\nGoodbye!\n1\n2\nEnd' |
| 209 | + }, |
| 210 | + "root[4]['c']": { |
| 211 | + 'new_value': b'\x81', |
| 212 | + 'old_value': b'\x80' |
| 213 | + } |
| 214 | + } |
| 215 | + } |
| 216 | + self.assertEqual(ddiff, result) |
| 217 | + |
| 218 | + def test_unicode(self): |
| 219 | + t1 = { |
| 220 | + 1: 1, |
| 221 | + 2: 2, |
| 222 | + 3: 3, |
| 223 | + 4: { |
| 224 | + "a": u"hello", |
| 225 | + "b": u"world!\nGoodbye!\n1\n2\nEnd" |
| 226 | + } |
| 227 | + } |
| 228 | + t2 = {1: 1, 2: 2, 3: 3, 4: {"a": u"hello", "b": u"world\n1\n2\nEnd"}} |
| 229 | + ddiff = DeepDiff(t1, t2) |
| 230 | + result = { |
| 231 | + 'values_changed': { |
| 232 | + "root[4]['b']": { |
| 233 | + 'diff': |
| 234 | + '--- \n+++ \n@@ -1,5 +1,4 @@\n-world!\n-Goodbye!\n+world\n 1\n 2\n End', |
| 235 | + 'new_value': u'world\n1\n2\nEnd', |
| 236 | + 'old_value': u'world!\nGoodbye!\n1\n2\nEnd' |
| 237 | + } |
| 238 | + } |
| 239 | + } |
| 240 | + self.assertEqual(ddiff, result) |
180 | 241 |
|
181 | 242 | def test_type_change(self): |
182 | 243 | t1 = {1: 1, 2: 2, 3: 3, 4: {"a": "hello", "b": [1, 2, 3]}} |
|
0 commit comments