LEFT | RIGHT |
1 # This Source Code Form is subject to the terms of the Mozilla Public | 1 # This Source Code Form is subject to the terms of the Mozilla Public |
2 # License, v. 2.0. If a copy of the MPL was not distributed with this | 2 # License, v. 2.0. If a copy of the MPL was not distributed with this |
3 # file, You can obtain one at http://mozilla.org/MPL/2.0/. | 3 # file, You can obtain one at http://mozilla.org/MPL/2.0/. |
4 | 4 |
5 import difflib | 5 import difflib |
6 import json | 6 import json |
7 import os | 7 import os |
8 import re | 8 import re |
9 import shutil | 9 import shutil |
10 import zipfile | 10 import zipfile |
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
180 @pytest.fixture | 180 @pytest.fixture |
181 def locale_modules(tmpdir): | 181 def locale_modules(tmpdir): |
182 mod_dir = tmpdir.mkdir('_modules') | 182 mod_dir = tmpdir.mkdir('_modules') |
183 lang_dir = mod_dir.mkdir('en_US') | 183 lang_dir = mod_dir.mkdir('en_US') |
184 lang_dir.join('module.json').write(json.dumps(LOCALES_MODULE)) | 184 lang_dir.join('module.json').write(json.dumps(LOCALES_MODULE)) |
185 | 185 |
186 | 186 |
187 @pytest.fixture | 187 @pytest.fixture |
188 def icons(srcdir): | 188 def icons(srcdir): |
189 icons_dir = srcdir.mkdir('icons') | 189 icons_dir = srcdir.mkdir('icons') |
190 for filename in ['abp-16.png', 'abp-19.png', 'abp-53.png']: | 190 for name in ['abp-{}.png'.format(x) for x in [16, 19, 44, 50, 53, 150]]: |
191 shutil.copy( | 191 shutil.copy( |
192 os.path.join(os.path.dirname(__file__), filename), | 192 os.path.join(os.path.dirname(__file__), name), |
193 os.path.join(str(icons_dir), filename), | 193 os.path.join(str(icons_dir), name), |
194 ) | 194 ) |
195 | 195 |
196 | 196 |
197 @pytest.fixture | 197 @pytest.fixture |
198 def all_lang_locales(tmpdir): | 198 def all_lang_locales(tmpdir): |
199 return locale_files(ALL_LANGUAGES, '_locales', tmpdir) | 199 return locale_files(ALL_LANGUAGES, '_locales', tmpdir) |
200 | 200 |
201 | 201 |
202 @pytest.fixture | 202 @pytest.fixture |
203 def chrome_metadata(tmpdir): | 203 def chrome_metadata(tmpdir): |
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
347 | 347 |
348 def assert_base_files(package, platform, prefix, devenv): | 348 def assert_base_files(package, platform, prefix, devenv): |
349 filenames = set(package.namelist()) | 349 filenames = set(package.namelist()) |
350 | 350 |
351 if platform == 'edge': | 351 if platform == 'edge': |
352 assert ('AppxManifest.xml' in filenames) is not devenv | 352 assert ('AppxManifest.xml' in filenames) is not devenv |
353 assert ('AppxBlockMap.xml' in filenames) is not devenv | 353 assert ('AppxBlockMap.xml' in filenames) is not devenv |
354 assert ('[Content_Types].xml' in filenames) is not devenv | 354 assert ('[Content_Types].xml' in filenames) is not devenv |
355 | 355 |
356 if not devenv: | 356 if not devenv: |
357 assert package.read('Assets/logo_44.png') == '44' | |
358 assert package.read('Extension/icons/abp-44.png') == '44' | 357 assert package.read('Extension/icons/abp-44.png') == '44' |
359 | 358 |
360 assert os.path.join(prefix, 'bar.json') in filenames | 359 assert os.path.join(prefix, 'bar.json') in filenames |
361 assert os.path.join(prefix, 'manifest.json') in filenames | 360 assert os.path.join(prefix, 'manifest.json') in filenames |
362 assert os.path.join(prefix, 'lib/foo.js') in filenames | 361 assert os.path.join(prefix, 'lib/foo.js') in filenames |
363 assert os.path.join(prefix, 'foo/logo_50.png') in filenames | 362 assert os.path.join(prefix, 'foo/logo_50.png') in filenames |
364 assert os.path.join(prefix, 'icons/logo_150.png') in filenames | 363 assert os.path.join(prefix, 'icons/logo_150.png') in filenames |
365 | 364 |
366 | 365 |
367 def assert_chrome_signature(filename, keyfile): | 366 def assert_chrome_signature(filename, keyfile): |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
428 key = None | 427 key = None |
429 | 428 |
430 manifests = { | 429 manifests = { |
431 'gecko': [('', 'manifest', 'json')], | 430 'gecko': [('', 'manifest', 'json')], |
432 'chrome': [('', 'manifest', 'json')], | 431 'chrome': [('', 'manifest', 'json')], |
433 } | 432 } |
434 | 433 |
435 if not devenv: | 434 if not devenv: |
436 manifests['edge'] = [ | 435 manifests['edge'] = [ |
437 ('', 'AppxManifest', 'xml'), | 436 ('', 'AppxManifest', 'xml'), |
438 ('Extension', 'manifest', 'json')] | 437 ('Extension', 'manifest', 'json'), |
| 438 ] |
439 else: | 439 else: |
440 manifests['edge'] = [('', 'manifest', 'json')] | 440 manifests['edge'] = [('', 'manifest', 'json')] |
441 | 441 |
442 filenames = { | 442 filenames = { |
443 'gecko': 'adblockplusfirefox-1.2.3{}.xpi', | 443 'gecko': 'adblockplusfirefox-1.2.3{}.xpi', |
444 'chrome': 'adblockpluschrome-1.2.3{{}}.{}'.format( | 444 'chrome': 'adblockpluschrome-1.2.3{{}}.{}'.format( |
445 {True: 'crx', False: 'zip'}[release], | 445 {True: 'crx', False: 'zip'}[release], |
446 ), | 446 ), |
447 'edge': 'adblockplusedge-1.2.3{}.appx', | 447 'edge': 'adblockplusedge-1.2.3{}.appx', |
448 } | 448 } |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
495 expected = os.path.join( | 495 expected = os.path.join( |
496 os.path.dirname(__file__), | 496 os.path.dirname(__file__), |
497 'expecteddata', | 497 'expecteddata', |
498 filename.format(name, ext), | 498 filename.format(name, ext), |
499 ) | 499 ) |
500 | 500 |
501 assert_manifest_content( | 501 assert_manifest_content( |
502 package.read(os.path.join(folder, '{}.{}'.format(name, ext))), | 502 package.read(os.path.join(folder, '{}.{}'.format(name, ext))), |
503 expected, | 503 expected, |
504 ) | 504 ) |
LEFT | RIGHT |