mirror of
https://github.com/classilla/tenfourfox.git
synced 2024-09-27 14:56:16 +00:00
44 lines
1.6 KiB
Python
44 lines
1.6 KiB
Python
#!/usr/bin/env python
|
|
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
# You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
import mozfile
|
|
import unittest
|
|
import zipfile
|
|
from mozversion import get_version
|
|
|
|
|
|
class ApkTest(unittest.TestCase):
|
|
"""test getting version information from an android .apk"""
|
|
|
|
application_changeset = 'a'*40
|
|
platform_changeset = 'b'*40
|
|
|
|
def create_apk_zipfiles(self, zfile):
|
|
zfile.writestr('application.ini',
|
|
"""[App]\nSourceStamp=%s\n""" % self.application_changeset)
|
|
zfile.writestr('platform.ini',
|
|
"""[Build]\nSourceStamp=%s\n""" % self.platform_changeset)
|
|
zfile.writestr('AndroidManifest.xml', '')
|
|
|
|
def test_basic(self):
|
|
with mozfile.NamedTemporaryFile() as f:
|
|
with zipfile.ZipFile(f.name, 'w') as z:
|
|
self.create_apk_zipfiles(z)
|
|
v = get_version(f.name)
|
|
self.assertEqual(v.get('application_changeset'), self.application_changeset)
|
|
self.assertEqual(v.get('platform_changeset'), self.platform_changeset)
|
|
|
|
def test_with_package_name(self):
|
|
with mozfile.NamedTemporaryFile() as f:
|
|
with zipfile.ZipFile(f.name, 'w') as z:
|
|
self.create_apk_zipfiles(z)
|
|
z.writestr('package-name.txt', "org.mozilla.fennec")
|
|
v = get_version(f.name)
|
|
self.assertEqual(v.get('package_name'), "org.mozilla.fennec")
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|