| LEFT | RIGHT |
| 1 # This file is part of Adblock Plus <https://adblockplus.org/>, | 1 # This file is part of Adblock Plus <https://adblockplus.org/>, |
| 2 # Copyright (C) 2006-present eyeo GmbH | 2 # Copyright (C) 2006-present eyeo GmbH |
| 3 # | 3 # |
| 4 # Adblock Plus is free software: you can redistribute it and/or modify | 4 # Adblock Plus is free software: you can redistribute it and/or modify |
| 5 # it under the terms of the GNU General Public License version 3 as | 5 # it under the terms of the GNU General Public License version 3 as |
| 6 # published by the Free Software Foundation. | 6 # published by the Free Software Foundation. |
| 7 # | 7 # |
| 8 # Adblock Plus is distributed in the hope that it will be useful, | 8 # Adblock Plus is distributed in the hope that it will be useful, |
| 9 # but WITHOUT ANY WARRANTY; without even the implied warranty of | 9 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 11 # GNU General Public License for more details. | 11 # GNU General Public License for more details. |
| 12 # | 12 # |
| 13 # You should have received a copy of the GNU General Public License | 13 # You should have received a copy of the GNU General Public License |
| 14 # along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. | 14 # along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. |
| 15 | 15 |
| 16 | 16 |
| 17 from abp.filters.fldiff import generate_diff | 17 from abp.filters.renderer import render_diff |
| 18 | 18 |
| 19 BASE = '''[Adblock Plus 2.0] | 19 BASE = '''[Adblock Plus 2.0] |
| 20 ! Checksum: O6rd2aavziYFTXVIGAMimg | |
| 21 ! Version: 111 | 20 ! Version: 111 |
| 22 ! Diff-URL: https://easylist-downloads.adblockplus.org/easylist/diffs/111.txt | 21 ! diff-url: https://easylist-downloads.adblockplus.org/easylist/diffs/111.txt |
| 23 ! Diff-Expires: 1 hours | 22 ! diff-expires: 1 hours |
| 24 ! Title: EasyList | 23 ! Title: EasyList |
| 25 ! Last modified: 26 Jul 2018 02:10 UTC | 24 ! Last modified: 26 Jul 2018 02:10 UTC |
| 26 ! Expires: 1 days (update frequency) | 25 ! Expires: 1 days (update frequency) |
| 27 ! Homepage: https://easylist.to/ | 26 ! Homepage: https://easylist.to/ |
| 28 ! Licence: https://easylist.to/pages/licence.html | 27 ! Licence: https://easylist.to/pages/licence.html |
| 29 ! | 28 ! |
| 30 ! Please report any unblocked adverts or problems | 29 ! Please report any unblocked adverts or problems |
| 31 ! in the forums (https://forums.lanik.us/) | 30 ! in the forums (https://forums.lanik.us/) |
| 32 ! or via e-mail (easylist.subscription@gmail.com). | 31 ! or via e-mail (easylist.subscription@gmail.com). |
| 33 ! | 32 ! |
| 34 !-----------------------General advert blocking filters-----------------------! | 33 !-----------------------General advert blocking filters-----------------------! |
| 35 ! *** easylist:easylist/easylist_general_block.txt *** | 34 ! *** easylist:easylist/easylist_general_block.txt *** |
| 36 test | 35 test |
| 37 &act=ads_ | 36 &act=ads_ |
| 38 &ad.vid=$~xmlhttprequest | 37 &ad.vid=$~xmlhttprequest |
| 39 &ad_box_ | 38 &ad_box_ |
| 40 ''' | 39 ''' |
| 41 | 40 |
| 42 LATEST = '''[Adblock Plus 2.0] | 41 LATEST = '''[Adblock Plus 2.0] |
| 43 ! Checksum: H6T/6rjr+cjtpbghFTBTng | |
| 44 ! Version: 123 | 42 ! Version: 123 |
| 45 ! Diff-URL: https://easylist-downloads.adblockplus.org/easylist/diffs/123.txt | 43 ! Diff-URL: https://easylist-downloads.adblockplus.org/easylist/diffs/123.txt |
| 46 ! Diff-Expires: 1 hours | 44 ! Diff-Expires: 1 hours |
| 47 ! Title: EasyList | 45 ! Title: EasyList |
| 48 ! Last modified: 26 Jul 2018 21:00 UTC | 46 ! Last modified: 26 Jul 2018 21:00 UTC |
| 49 ! Homepage: https://easylist.to/ | 47 ! Homepage: https://easylist.to/ |
| 50 ! Licence: https://easylist.to/pages/licence.html | 48 ! Licence: https://easylist.to/pages/licence.html |
| 51 ! | 49 ! |
| 52 ! Please report any unblocked adverts or problems | 50 ! Please report any unblocked adverts or problems |
| 53 ! in the forums (https://forums.lanik.us/) | 51 ! in the forums (https://forums.lanik.us/) |
| 54 ! or via e-mail (easylist.subscription@gmail.com). | 52 ! or via e-mail (easylist.subscription@gmail.com). |
| 55 ! | 53 ! |
| 56 !-----------------------General advert blocking filters-----------------------! | 54 !-----------------------General advert blocking filters-----------------------! |
| 57 ! *** easylist:easylist/easylist_general_block.txt *** | 55 ! *** easylist:easylist/easylist_general_block.txt *** |
| 58 &act=ads_ | 56 &act=ads_ |
| 59 &ad_box_ | 57 &ad_box_ |
| 60 &ad_channel= | 58 &ad_channel= |
| 61 test | 59 test |
| 62 ''' | 60 ''' |
| 63 | 61 |
| 64 | 62 |
| 65 EXPECTED = '''[Adblock Plus Diff 2.0] | 63 EXPECTED = '''[Adblock Plus Diff] |
| 66 ! Last modified: 26 Jul 2018 21:00 UTC | |
| 67 ! Diff-URL: https://easylist-downloads.adblockplus.org/easylist/diffs/123.txt | 64 ! Diff-URL: https://easylist-downloads.adblockplus.org/easylist/diffs/123.txt |
| 68 ! Expires: | 65 ! Expires: |
| 69 ! Version: 123 | 66 ! Version: 123 |
| 70 ! Checksum: H6T/6rjr+cjtpbghFTBTng | 67 - &ad.vid=$~xmlhttprequest |
| 71 + &ad_channel= | 68 + &ad_channel= |
| 72 - &ad.vid=$~xmlhttprequest | |
| 73 ''' | 69 ''' |
| 74 | 70 |
| 75 | 71 |
| 76 def test_differ(): | 72 def test_differ(): |
| 77 exp = set(EXPECTED.splitlines()) | 73 exp = set(EXPECTED.splitlines()) |
| 78 gen = set(generate_diff(BASE, LATEST).splitlines()) | 74 gen = set(render_diff(BASE.splitlines(), LATEST.splitlines())) |
| 79 assert(gen == exp) | 75 assert(gen == exp) |
| LEFT | RIGHT |