OLD | NEW |
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 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
223 def keyfile(tmpdir): | 223 def keyfile(tmpdir): |
224 """Test-privatekey for signing chrome release-package.""" | 224 """Test-privatekey for signing chrome release-package.""" |
225 return os.path.join(os.path.dirname(__file__), 'chrome_rsa.pem') | 225 return os.path.join(os.path.dirname(__file__), 'chrome_rsa.pem') |
226 | 226 |
227 | 227 |
228 @pytest.fixture | 228 @pytest.fixture |
229 def lib_files(tmpdir): | 229 def lib_files(tmpdir): |
230 files = packager.Files(['lib'], set()) | 230 files = packager.Files(['lib'], set()) |
231 files['ext/a.js'] = 'require("./c.js");\nrequire("info");\nvar bar;' | 231 files['ext/a.js'] = 'require("./c.js");\nrequire("info");\nvar bar;' |
232 files['lib/b.js'] = 'var foo;' | 232 files['lib/b.js'] = 'var foo;' |
| 233 files['lib/aliased.js'] = 'require("mogo");' |
| 234 files['lib/mogo.js'] = 'var this_is_mogo;' |
| 235 files['lib/edge.js'] = 'var this_is_edge;' |
233 files['ext/c.js'] = 'var this_is_c;' | 236 files['ext/c.js'] = 'var this_is_c;' |
| 237 files['ext/alias_c.js'] = 'var this_is_aliased_c;' |
234 files['qunit/common.js'] = 'var qunit = {};' | 238 files['qunit/common.js'] = 'var qunit = {};' |
235 files['qunit/tests/some_test.js'] = 'var passed = true;' | 239 files['qunit/tests/some_test.js'] = 'var passed = true;' |
236 | 240 |
237 tmpdir.mkdir('lib').join('b.js').write(files['lib/b.js']) | 241 libdir = tmpdir.mkdir('lib') |
| 242 libdir.join('b.js').write(files['lib/b.js']) |
| 243 libdir.join('aliased.js').write(files['lib/aliased.js']) |
| 244 libdir.join('mogo.js').write(files['lib/mogo.js']) |
| 245 libdir.join('edge.js').write(files['lib/edge.js']) |
238 ext_dir = tmpdir.mkdir('ext') | 246 ext_dir = tmpdir.mkdir('ext') |
239 ext_dir.join('a.js').write(files['ext/a.js']) | 247 ext_dir.join('a.js').write(files['ext/a.js']) |
240 ext_dir.join('c.js').write(files['ext/c.js']) | 248 ext_dir.join('c.js').write(files['ext/c.js']) |
241 qunit_dir = tmpdir.mkdir('qunit') | 249 qunit_dir = tmpdir.mkdir('qunit') |
242 qunit_dir.join('common.js').write(files['qunit/common.js']) | 250 qunit_dir.join('common.js').write(files['qunit/common.js']) |
243 qunit_tests_dir = qunit_dir.mkdir('tests') | 251 qunit_tests_dir = qunit_dir.mkdir('tests') |
244 qunit_tests_dir.join('some_test.js').write( | 252 qunit_tests_dir.join('some_test.js').write( |
245 files['qunit/tests/some_test.js'], | 253 files['qunit/tests/some_test.js'], |
246 ) | 254 ) |
247 return files | 255 return files |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
293 if is_devbuild: | 301 if is_devbuild: |
294 assert 'addonVersion = "1.2.3.1337";' in libfoo | 302 assert 'addonVersion = "1.2.3.1337";' in libfoo |
295 else: | 303 else: |
296 assert 'addonVersion = "1.2.3";' in libfoo | 304 assert 'addonVersion = "1.2.3";' in libfoo |
297 | 305 |
298 assert 'webpack:///./ext/a.js' in libfoomap | 306 assert 'webpack:///./ext/a.js' in libfoomap |
299 | 307 |
300 assert 'var this_is_c;' in libfoo | 308 assert 'var this_is_c;' in libfoo |
301 assert 'webpack:///./ext/c.js' in libfoomap | 309 assert 'webpack:///./ext/c.js' in libfoomap |
302 | 310 |
| 311 if prefix: # webpack 'resolve.alias' exposure |
| 312 assert 'var this_is_edge;' in libfoo |
| 313 assert 'webpack:///./lib/edge.js' in libfoomap |
| 314 else: |
| 315 assert 'var this_is_mogo;' in libfoo |
| 316 assert 'webpack:///./lib/mogo.js' in libfoomap |
| 317 |
303 assert ('var foo;' in libfoo) != excluded | 318 assert ('var foo;' in libfoo) != excluded |
304 assert ('webpack:///./lib/b.js' in libfoomap) != excluded | 319 assert ('webpack:///./lib/b.js' in libfoomap) != excluded |
305 | 320 |
306 | 321 |
307 def assert_devenv_scripts(package, prefix, devenv): | 322 def assert_devenv_scripts(package, prefix, devenv): |
308 manifest = json.loads(package.read(os.path.join(prefix, 'manifest.json'))) | 323 manifest = json.loads(package.read(os.path.join(prefix, 'manifest.json'))) |
309 filenames = package.namelist() | 324 filenames = package.namelist() |
310 scripts = [ | 325 scripts = [ |
311 'ext/common.js', | 326 'ext/common.js', |
312 'ext/background.js', | 327 'ext/background.js', |
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
474 expected = os.path.join( | 489 expected = os.path.join( |
475 os.path.dirname(__file__), | 490 os.path.dirname(__file__), |
476 'expecteddata', | 491 'expecteddata', |
477 filename.format(name, ext), | 492 filename.format(name, ext), |
478 ) | 493 ) |
479 | 494 |
480 assert_manifest_content( | 495 assert_manifest_content( |
481 package.read(os.path.join(folder, '{}.{}'.format(name, ext))), | 496 package.read(os.path.join(folder, '{}.{}'.format(name, ext))), |
482 expected, | 497 expected, |
483 ) | 498 ) |
OLD | NEW |