Added difference viewer for XML files.
Review Request #10713 — Created Sept. 11, 2019 and updated
There is now a syntax highlighted rendered view for XML files, where each node
in the XML document will be consistently indented so that it is easy to see
the actual contents of the document, even if the document is minified or
improperly formatted.Unicode characters will be properly displayed in the render view as well.
There is also support for comparing different XML files with either the
render view or normal text view.
1) Ran unit tests on Python 2.7 and 3.6.
2) Tested manually on Python 2.7 and 3.6 outside of the diff viewer.
3) Tested manually on Python 2.7 and 3.6 inside of the diff viewer.
4) Tested manually on Python 2.7 and 3.6 with a document with UTF-8 encoding
and characters.
5) Tested manually on Python 2.7 and 3.6 with an invalid XML document that
leads to an error while parsing.
Summary | ID | Author |
---|---|---|
6ecd8fc45dcbe2cfb94b5f3bac5a24cd7c2ad138 | amalik2 |
Description | From | Last Updated |
---|---|---|
Is this a real CDATA section, e.g. <![CDATA[[< WORKS !!! >]]> If so, it really should render like it is … |
brennie | |
F401 'lxml.etree' imported but unused |
reviewbot | |
F401 'django.utils.encoding.force_text' imported but unused |
reviewbot | |
E127 continuation line over-indented for visual indent |
reviewbot | |
E127 continuation line over-indented for visual indent |
reviewbot | |
E127 continuation line over-indented for visual indent |
reviewbot | |
E127 continuation line over-indented for visual indent |
reviewbot | |
E127 continuation line over-indented for visual indent |
reviewbot | |
E127 continuation line over-indented for visual indent |
reviewbot | |
E127 continuation line over-indented for visual indent |
reviewbot | |
E127 continuation line over-indented for visual indent |
reviewbot | |
E127 continuation line over-indented for visual indent |
reviewbot | |
E127 continuation line over-indented for visual indent |
reviewbot | |
E127 continuation line over-indented for visual indent |
reviewbot | |
E302 expected 2 blank lines, found 1 |
reviewbot | |
E302 expected 2 blank lines, found 1 |
reviewbot | |
E251 unexpected spaces around keyword / parameter equals |
reviewbot | |
E251 unexpected spaces around keyword / parameter equals |
reviewbot | |
E251 unexpected spaces around keyword / parameter equals |
reviewbot | |
E501 line too long (84 > 79 characters) |
reviewbot | |
E251 unexpected spaces around keyword / parameter equals |
reviewbot | |
W293 blank line contains whitespace |
reviewbot | |
W293 blank line contains whitespace |
reviewbot | |
W293 blank line contains whitespace |
reviewbot | |
W293 blank line contains whitespace |
reviewbot | |
W293 blank line contains whitespace |
reviewbot | |
W293 blank line contains whitespace |
reviewbot | |
W293 blank line contains whitespace |
reviewbot | |
W293 blank line contains whitespace |
reviewbot | |
W293 blank line contains whitespace |
reviewbot | |
W293 blank line contains whitespace |
reviewbot | |
E271 multiple spaces after keyword |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
E231 missing whitespace after ',' |
reviewbot | |
F811 redefinition of unused 'test_get_siblings_after_root_no_siblings' from line 252 |
reviewbot | |
E231 missing whitespace after ',' |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
E501 line too long (180 > 79 characters) |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
E501 line too long (180 > 79 characters) |
reviewbot | |
F401 'djblets.markdown.iter_markdown_lines' imported but unused |
reviewbot | |
E501 line too long (86 > 79 characters) |
reviewbot | |
E302 expected 2 blank lines, found 1 |
reviewbot | |
E302 expected 2 blank lines, found 1 |
reviewbot | |
E302 expected 2 blank lines, found 1 |
reviewbot | |
E302 expected 2 blank lines, found 1 |
reviewbot | |
E302 expected 2 blank lines, found 1 |
reviewbot | |
W293 blank line contains whitespace |
reviewbot | |
E302 expected 2 blank lines, found 1 |
reviewbot | |
E201 whitespace after '{' |
reviewbot | |
E202 whitespace before '}' |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
E126 continuation line over-indented for hanging indent |
reviewbot | |
E126 continuation line over-indented for hanging indent |
reviewbot | |
F821 undefined name '_' |
reviewbot | |
E302 expected 2 blank lines, found 1 |
reviewbot | |
E202 whitespace before '}' |
reviewbot | |
E202 whitespace before '}' |
reviewbot | |
E202 whitespace before '}' |
reviewbot | |
E202 whitespace before '}' |
reviewbot | |
E302 expected 2 blank lines, found 1 |
reviewbot | |
E302 expected 2 blank lines, found 1 |
reviewbot | |
E302 expected 2 blank lines, found 1 |
reviewbot | |
E302 expected 2 blank lines, found 1 |
reviewbot | |
E201 whitespace after '(' |
reviewbot | |
E201 whitespace after '(' |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
W293 blank line contains whitespace |
reviewbot | |
E501 line too long (80 > 79 characters) |
reviewbot | |
E501 line too long (87 > 79 characters) |
reviewbot | |
E501 line too long (97 > 79 characters) |
reviewbot | |
E122 continuation line missing indentation or outdented |
reviewbot | |
E122 continuation line missing indentation or outdented |
reviewbot | |
E122 continuation line missing indentation or outdented |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
W291 trailing whitespace |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
E501 line too long (87 > 79 characters) |
reviewbot | |
E501 line too long (97 > 79 characters) |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
E127 continuation line over-indented for visual indent |
reviewbot | |
E501 line too long (87 > 79 characters) |
reviewbot | |
E501 line too long (97 > 79 characters) |
reviewbot | |
E127 continuation line over-indented for visual indent |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
E501 line too long (87 > 79 characters) |
reviewbot | |
E501 line too long (97 > 79 characters) |
reviewbot | |
E128 continuation line under-indented for visual indent |
reviewbot | |
E501 line too long (87 > 79 characters) |
reviewbot | |
E501 line too long (97 > 79 characters) |
reviewbot | |
E501 line too long (87 > 79 characters) |
reviewbot | |
E501 line too long (97 > 79 characters) |
reviewbot | |
F821 undefined name 'contents' |
reviewbot | |
F821 undefined name 'contents' |
reviewbot | |
E501 line too long (84 > 79 characters) |
reviewbot | |
E501 line too long (81 > 79 characters) |
reviewbot | |
W293 blank line contains whitespace |
reviewbot | |
F811 redefinition of unused 'RemovedInReviewBoard60Warning' from line 42 |
reviewbot |
- Commits:
-
Summary ID Author f42d889be2fe19272010b1c62a974efa95186c77 amalik2 4b00ace6633843b71d42d9d9ed350e01c0753d0f amalik2 - Diff:
-
Revision 2 (+1440)
Checks run (1 failed, 1 succeeded)
flake8
-
Warning: Showing 30 of 56 failures.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Commits:
-
Summary ID Author 4b00ace6633843b71d42d9d9ed350e01c0753d0f amalik2 4b00ace6633843b71d42d9d9ed350e01c0753d0f amalik2 7504cd5892d3b2c4781f8f3b0c4f1e6de4c52727 amalik2 - Diff:
-
Revision 3 (+1517 -51)
Checks run (1 failed, 1 succeeded)
flake8
- Commits:
-
Summary ID Author 4b00ace6633843b71d42d9d9ed350e01c0753d0f amalik2 7504cd5892d3b2c4781f8f3b0c4f1e6de4c52727 amalik2 4b00ace6633843b71d42d9d9ed350e01c0753d0f amalik2 7504cd5892d3b2c4781f8f3b0c4f1e6de4c52727 amalik2 52deed060ab050d79c0282f45344abbd9e36be39 amalik2 - Diff:
-
Revision 4 (+1533 -59)
- Testing Done:
-
~ 1) Ran unit tests on Python2.7
~ 2) Ran unit tests on Python3.6 ~ 3) Tested manually on Python 2.7 and 3.6 outside of the diff viewer ~ 4) Tested manually on Python 2.7 and 3.6 inside of the diff viewer ~ 5) Tested manually on Python 2.7 and 3.6 with a document with UTF-8 encoding ~ and characters ~ 1) Ran unit tests on Python 2.7 and 3.6.
~ 2) Tested manually on Python 2.7 and 3.6 outside of the diff viewer. ~ 3) Tested manually on Python 2.7 and 3.6 inside of the diff viewer. ~ 4) Tested manually on Python 2.7 and 3.6 with a document with UTF-8 encoding ~ and characters. ~ 5) Tested manually on Python 2.7 and 3.6 with an invalid XML document that + leads to an error while parsing.
- Summary:
-
Added difference viewer for XML files.WIP: Added difference viewer for XML files.
- Commits:
-
Summary ID Author 4b00ace6633843b71d42d9d9ed350e01c0753d0f amalik2 7504cd5892d3b2c4781f8f3b0c4f1e6de4c52727 amalik2 52deed060ab050d79c0282f45344abbd9e36be39 amalik2 4b00ace6633843b71d42d9d9ed350e01c0753d0f amalik2 7504cd5892d3b2c4781f8f3b0c4f1e6de4c52727 amalik2 52deed060ab050d79c0282f45344abbd9e36be39 amalik2 ffe660445fc00bf34725d9d1cf53cf2d9d6437b6 amalik2 - Diff:
-
Revision 5 (+2211 -361)
Checks run (1 failed, 1 succeeded)
flake8
- Commits:
-
Summary ID Author 4b00ace6633843b71d42d9d9ed350e01c0753d0f amalik2 7504cd5892d3b2c4781f8f3b0c4f1e6de4c52727 amalik2 52deed060ab050d79c0282f45344abbd9e36be39 amalik2 ffe660445fc00bf34725d9d1cf53cf2d9d6437b6 amalik2 4b00ace6633843b71d42d9d9ed350e01c0753d0f amalik2 7504cd5892d3b2c4781f8f3b0c4f1e6de4c52727 amalik2 52deed060ab050d79c0282f45344abbd9e36be39 amalik2 ffe660445fc00bf34725d9d1cf53cf2d9d6437b6 amalik2 51141a347518df7dac12c0d62c87dafa8ffa8a17 amalik2 - Diff:
-
Revision 6 (+2232 -372)
Checks run (1 failed, 1 succeeded)
flake8
- Commits:
-
Summary ID Author 4b00ace6633843b71d42d9d9ed350e01c0753d0f amalik2 7504cd5892d3b2c4781f8f3b0c4f1e6de4c52727 amalik2 52deed060ab050d79c0282f45344abbd9e36be39 amalik2 ffe660445fc00bf34725d9d1cf53cf2d9d6437b6 amalik2 51141a347518df7dac12c0d62c87dafa8ffa8a17 amalik2 4b00ace6633843b71d42d9d9ed350e01c0753d0f amalik2 7504cd5892d3b2c4781f8f3b0c4f1e6de4c52727 amalik2 52deed060ab050d79c0282f45344abbd9e36be39 amalik2 ffe660445fc00bf34725d9d1cf53cf2d9d6437b6 amalik2 51141a347518df7dac12c0d62c87dafa8ffa8a17 amalik2 96b46f1688a9b07b5f9146677e6be398b015bc71 amalik2 - Diff:
-
Revision 7 (+2236 -376)
- Commits:
-
Summary ID Author 4b00ace6633843b71d42d9d9ed350e01c0753d0f amalik2 7504cd5892d3b2c4781f8f3b0c4f1e6de4c52727 amalik2 52deed060ab050d79c0282f45344abbd9e36be39 amalik2 ffe660445fc00bf34725d9d1cf53cf2d9d6437b6 amalik2 51141a347518df7dac12c0d62c87dafa8ffa8a17 amalik2 96b46f1688a9b07b5f9146677e6be398b015bc71 amalik2 4b00ace6633843b71d42d9d9ed350e01c0753d0f amalik2 7504cd5892d3b2c4781f8f3b0c4f1e6de4c52727 amalik2 52deed060ab050d79c0282f45344abbd9e36be39 amalik2 ffe660445fc00bf34725d9d1cf53cf2d9d6437b6 amalik2 51141a347518df7dac12c0d62c87dafa8ffa8a17 amalik2 96b46f1688a9b07b5f9146677e6be398b015bc71 amalik2 2e37cf09f1cef4e9b7f5a05d65cb1a4d616d90c9 amalik2 - Diff:
-
Revision 8 (+2238 -378)
- Commits:
-
Summary ID Author 4b00ace6633843b71d42d9d9ed350e01c0753d0f amalik2 7504cd5892d3b2c4781f8f3b0c4f1e6de4c52727 amalik2 52deed060ab050d79c0282f45344abbd9e36be39 amalik2 ffe660445fc00bf34725d9d1cf53cf2d9d6437b6 amalik2 51141a347518df7dac12c0d62c87dafa8ffa8a17 amalik2 96b46f1688a9b07b5f9146677e6be398b015bc71 amalik2 2e37cf09f1cef4e9b7f5a05d65cb1a4d616d90c9 amalik2 4b00ace6633843b71d42d9d9ed350e01c0753d0f amalik2 7504cd5892d3b2c4781f8f3b0c4f1e6de4c52727 amalik2 52deed060ab050d79c0282f45344abbd9e36be39 amalik2 ffe660445fc00bf34725d9d1cf53cf2d9d6437b6 amalik2 51141a347518df7dac12c0d62c87dafa8ffa8a17 amalik2 96b46f1688a9b07b5f9146677e6be398b015bc71 amalik2 2e37cf09f1cef4e9b7f5a05d65cb1a4d616d90c9 amalik2 ecc12d50733ee2ecdc6286f4c1a91730a6329311 amalik2 - Diff:
-
Revision 9 (+2242 -382)
- Commits:
-
Summary ID Author 4b00ace6633843b71d42d9d9ed350e01c0753d0f amalik2 7504cd5892d3b2c4781f8f3b0c4f1e6de4c52727 amalik2 52deed060ab050d79c0282f45344abbd9e36be39 amalik2 ffe660445fc00bf34725d9d1cf53cf2d9d6437b6 amalik2 51141a347518df7dac12c0d62c87dafa8ffa8a17 amalik2 96b46f1688a9b07b5f9146677e6be398b015bc71 amalik2 2e37cf09f1cef4e9b7f5a05d65cb1a4d616d90c9 amalik2 ecc12d50733ee2ecdc6286f4c1a91730a6329311 amalik2 4b00ace6633843b71d42d9d9ed350e01c0753d0f amalik2 7504cd5892d3b2c4781f8f3b0c4f1e6de4c52727 amalik2 52deed060ab050d79c0282f45344abbd9e36be39 amalik2 ffe660445fc00bf34725d9d1cf53cf2d9d6437b6 amalik2 51141a347518df7dac12c0d62c87dafa8ffa8a17 amalik2 96b46f1688a9b07b5f9146677e6be398b015bc71 amalik2 2e37cf09f1cef4e9b7f5a05d65cb1a4d616d90c9 amalik2 ecc12d50733ee2ecdc6286f4c1a91730a6329311 amalik2 0969aa4a38c87cf82de60e0e6fb33aaf5afeba2a amalik2 - Diff:
-
Revision 10 (+2241 -395)
- Commits:
-
Summary ID Author 4b00ace6633843b71d42d9d9ed350e01c0753d0f amalik2 7504cd5892d3b2c4781f8f3b0c4f1e6de4c52727 amalik2 52deed060ab050d79c0282f45344abbd9e36be39 amalik2 ffe660445fc00bf34725d9d1cf53cf2d9d6437b6 amalik2 51141a347518df7dac12c0d62c87dafa8ffa8a17 amalik2 96b46f1688a9b07b5f9146677e6be398b015bc71 amalik2 2e37cf09f1cef4e9b7f5a05d65cb1a4d616d90c9 amalik2 ecc12d50733ee2ecdc6286f4c1a91730a6329311 amalik2 0969aa4a38c87cf82de60e0e6fb33aaf5afeba2a amalik2 1a4d4b1e210c4dcfe45a1e5b7168c8be4e84f84f amalik2 111909238d443efa14c2a7ee1a380d499c5fd4f0 amalik2 - Diff:
-
Revision 11 (+1848 -8)
Checks run (2 succeeded)
- Commits:
-
Summary ID Author 1a4d4b1e210c4dcfe45a1e5b7168c8be4e84f84f amalik2 111909238d443efa14c2a7ee1a380d499c5fd4f0 amalik2 1a4d4b1e210c4dcfe45a1e5b7168c8be4e84f84f amalik2 111909238d443efa14c2a7ee1a380d499c5fd4f0 amalik2 392012c86554ccff1bf543f0ae51e54435354ad5 amalik2 - Diff:
-
Revision 12 (+1853 -17)
Checks run (2 succeeded)
- Commits:
-
Summary ID Author 1a4d4b1e210c4dcfe45a1e5b7168c8be4e84f84f amalik2 111909238d443efa14c2a7ee1a380d499c5fd4f0 amalik2 392012c86554ccff1bf543f0ae51e54435354ad5 amalik2 1a4d4b1e210c4dcfe45a1e5b7168c8be4e84f84f amalik2 111909238d443efa14c2a7ee1a380d499c5fd4f0 amalik2 392012c86554ccff1bf543f0ae51e54435354ad5 amalik2 97bceaabcfbf910c4b8f89afd033740cf418a0fa amalik2 - Diff:
-
Revision 13 (+1841 -41)
- Commits:
-
Summary ID Author 1a4d4b1e210c4dcfe45a1e5b7168c8be4e84f84f amalik2 111909238d443efa14c2a7ee1a380d499c5fd4f0 amalik2 392012c86554ccff1bf543f0ae51e54435354ad5 amalik2 97bceaabcfbf910c4b8f89afd033740cf418a0fa amalik2 1a4d4b1e210c4dcfe45a1e5b7168c8be4e84f84f amalik2 111909238d443efa14c2a7ee1a380d499c5fd4f0 amalik2 392012c86554ccff1bf543f0ae51e54435354ad5 amalik2 97bceaabcfbf910c4b8f89afd033740cf418a0fa amalik2 a4315b4a6eaa22d97d8cc3fcb19e234de784671d amalik2 - Diff:
-
Revision 14 (+1836 -50)
Checks run (2 succeeded)
- Summary:
-
WIP: Added difference viewer for XML files.Added difference viewer for XML files.
- Commits:
-
Summary ID Author 1a4d4b1e210c4dcfe45a1e5b7168c8be4e84f84f amalik2 111909238d443efa14c2a7ee1a380d499c5fd4f0 amalik2 392012c86554ccff1bf543f0ae51e54435354ad5 amalik2 97bceaabcfbf910c4b8f89afd033740cf418a0fa amalik2 a4315b4a6eaa22d97d8cc3fcb19e234de784671d amalik2 89eccc9d0a3de6761975239ba18f3f95f2244493 amalik2 - Diff:
-
Revision 15 (+1682 -2)
- Commits:
-
Summary ID Author 89eccc9d0a3de6761975239ba18f3f95f2244493 amalik2 89eccc9d0a3de6761975239ba18f3f95f2244493 amalik2 00fdab702318caa76b75c51f7e23b2f4c689ca20 amalik2 - Diff:
-
Revision 16 (+1686 -4)
Checks run (2 succeeded)
- Commits:
-
Summary ID Author 89eccc9d0a3de6761975239ba18f3f95f2244493 amalik2 00fdab702318caa76b75c51f7e23b2f4c689ca20 amalik2 8b6e284bd306f1cd0e093049e23a45ab50f8cd81 amalik2 - Diff:
-
Revision 17 (+1684 -2)
Checks run (2 succeeded)
- Commits:
-
Summary ID Author 8b6e284bd306f1cd0e093049e23a45ab50f8cd81 amalik2 20db34b77f461d5bc9cc598266854bbdc77aba77 amalik2 - Depends On:
-
- Diff:
Revision 18 (+2208 -2)
Checks run (2 succeeded)
flake8 passed.JSHint passed.
- Commits:
-
Summary ID Author 20db34b77f461d5bc9cc598266854bbdc77aba77 amalik2 9acc7eccb53a671bcf91e99532e25bd7fc6af1d2 amalik2 - Depends On:
-
- Diff:
Revision 19 (+3802 -648)
- Commits:
-
Summary ID Author 9acc7eccb53a671bcf91e99532e25bd7fc6af1d2 amalik2 6ecd8fc45dcbe2cfb94b5f3bac5a24cd7c2ad138 amalik2 - Diff:
-
Revision 20 (+3780 -648)