aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2014-02-12 15:54:26 -0800
committerAlon Zakai <alonzakai@gmail.com>2014-02-12 15:54:26 -0800
commitb8dc7df9a17fe5b4f7e4e5845229443a06c59fa7 (patch)
treebb4ea9c8149a651529fa8dd8ae3cbce21d9d0450
parentfa9638d281a07ce70f380e7a1322c9144a1e6e03 (diff)
fix bug on using file packager on subdirs; fixes #2123
-rw-r--r--tests/test_browser.py19
-rw-r--r--tools/file_packager.py5
2 files changed, 17 insertions, 7 deletions
diff --git a/tests/test_browser.py b/tests/test_browser.py
index fbd1001c..ddd70362 100644
--- a/tests/test_browser.py
+++ b/tests/test_browser.py
@@ -1460,14 +1460,23 @@ keydown(100);keyup(100); // trigger the end
self.btest('emscripten_api_browser.cpp', '1', args=['-s', '''EXPORTED_FUNCTIONS=['_main', '_third']'''])
def test_emscripten_api2(self):
- open('script1.js', 'w').write('''
- Module._set(456);
- ''')
+ def setup():
+ open('script1.js', 'w').write('''
+ Module._set(456);
+ ''')
+ open('file1.txt', 'w').write('first');
+ open('file2.txt', 'w').write('second');
- open('file1.txt', 'w').write('first');
- open('file2.txt', 'w').write('second');
+ setup()
Popen([PYTHON, FILE_PACKAGER, 'test.data', '--preload', 'file1.txt', 'file2.txt'], stdout=open('script2.js', 'w')).communicate()
+ self.btest('emscripten_api_browser2.cpp', '1', args=['-s', '''EXPORTED_FUNCTIONS=['_main', '_set']'''])
+ # check using file packager to another dir
+ self.clear()
+ setup()
+ os.mkdir('sub')
+ Popen([PYTHON, FILE_PACKAGER, 'sub/test.data', '--preload', 'file1.txt', 'file2.txt'], stdout=open('script2.js', 'w')).communicate()
+ shutil.copyfile(os.path.join('sub', 'test.data'), 'test.data')
self.btest('emscripten_api_browser2.cpp', '1', args=['-s', '''EXPORTED_FUNCTIONS=['_main', '_set']'''])
def test_emscripten_api_infloop(self):
diff --git a/tools/file_packager.py b/tools/file_packager.py
index aa70ac6a..12cc5475 100644
--- a/tools/file_packager.py
+++ b/tools/file_packager.py
@@ -468,9 +468,10 @@ if has_preloaded:
''' % use_data
package_uuid = uuid.uuid4();
- remote_package_name = os.path.basename(Compression.compressed_name(data_target) if Compression.on else data_target)
- statinfo = os.stat(remote_package_name)
+ package_name = Compression.compressed_name(data_target) if Compression.on else data_target
+ statinfo = os.stat(package_name)
remote_package_size = statinfo.st_size
+ remote_package_name = os.path.basename(package_name)
ret += r'''
var PACKAGE_PATH;
if (typeof window === 'object') {