Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: tests/test_packagerEdge.py

Issue 29368690: [buildtools] Issue 4578 - Make uap3:AppExtension.Id configurable for Microsoft Edge builds (Closed)
Patch Set: Changed test_create_appx_manifest to no longer use lxml Created Jan. 2, 2017, 2:10 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tests/AppManifest.xml.expect ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/test_packagerEdge.py
diff --git a/tests/test_packagerEdge.py b/tests/test_packagerEdge.py
index b9ddbaff71198298a76cdfdd1f04086bc56778e9..4cff1eef2e41915d79292b2d1870a84a57476908 100644
--- a/tests/test_packagerEdge.py
+++ b/tests/test_packagerEdge.py
@@ -130,19 +130,96 @@ def test_full_content_types_map():
def test_create_appx_manifest(metadata, files):
- manifest = packagerEdge.create_appx_manifest(
- {'metadata': metadata}, files, release_build=True,
- )
- with open(os.path.join(TEST_DIR, 'AppManifest.xml.expect')) as fp:
- manifest_expect = fp.read()
- assert manifest.strip() == manifest_expect.strip()
-
-
-def test_create_devbuild_appx_manifest(metadata, files):
- manifest = packagerEdge.create_appx_manifest(
- {'metadata': metadata}, files, release_build=False,
- )
- assert 'devbuild-marker' in manifest
+ namespaces = {
+ 'ns': 'http://schemas.microsoft.com/'
+ 'appx/manifest/foundation/windows10',
+ 'uap': 'http://schemas.microsoft.com/appx/manifest/uap/windows10',
+ 'uap3': 'http://schemas.microsoft.com/appx/manifest/uap/windows10/3',
+ }
+
+ def first(elem):
+ return elem[0]
+
+ def text(elem):
+ return elem.text
+
+ def attr(attr):
+ def wrapper(elem):
+ return elem.attrib[attr]
+ return wrapper
+
+ base = [
+ ('.//*', [len], 21.0),
+ ('./ns:Identity', [first, attr('Name')], 'EyeoGmbH.AdblockPlus'),
+ ('./ns:Identity', [first, attr('Publisher')],
+ 'CN=4F066043-8AFE-41C9-B762-6C15E77E3F88'),
+ ('./ns:Identity', [first, attr('Version')], '1.2.3.0'),
+ ('./ns:Properties/ns:PublisherDisplayName', [first, text],
+ 'Eyeo GmbH'),
+ ('./ns:Properties/ns:Logo', [first, text], 'Assets\\logo_50.png'),
+ ('./ns:Dependencies/ns:TargetDeviceFamily',
+ [first, attr('MinVersion')],
+ '10.0.14332.0'),
+ ('./ns:Dependencies/ns:TargetDeviceFamily',
+ [first, attr('MaxVersionTested')],
+ '12.0.0.0'),
+ ('./ns:Applications/ns:Application/uap:VisualElements',
+ [first, attr('Square150x150Logo')],
+ 'Assets\\logo_150.png'),
+ ('./ns:Applications/ns:Application/uap:VisualElements',
+ [first, attr('Square44x44Logo')],
+ 'Assets\\logo_44.png'),
+ ('./ns:Applications/ns:Application/uap:VisualElements',
+ [first, attr('Description')],
+ 'Adblock Plus is the most popular ad blocker ever, and also '
+ 'supports websites by not blocking unobstrusive ads by '
+ 'default (configurable).'),
+ ('./ns:Applications/ns:Application/uap:VisualElements',
+ [first, attr('BackgroundColor')],
+ 'red'),
+ ]
+
+ devbuild = base + [
+ ('./ns:Properties/ns:DisplayName', [first, text], 'devbuild-marker'),
+ ('./ns:Applications/ns:Application/uap:VisualElements',
+ [first, attr('DisplayName')],
+ 'devbuild-marker'),
+ ('./ns:Applications/ns:Application/ns:Extensions/uap3:Extension/'
+ 'uap3:AppExtension',
+ [first, attr('Id')],
+ 'EdgeExtension'),
+ ('./ns:Applications/ns:Application/ns:Extensions/uap3:Extension/'
+ 'uap3:AppExtension',
+ [first, attr('DisplayName')],
+ 'devbuild-marker'),
+ ]
+
+ release = base + [
+ ('./ns:Properties/ns:DisplayName', [first, text], 'Adblock Plus'),
+ ('./ns:Applications/ns:Application/uap:VisualElements',
+ [first, attr('DisplayName')],
+ 'Adblock Plus'),
+ ('./ns:Applications/ns:Application/ns:Extensions/uap3:Extension/'
+ 'uap3:AppExtension',
+ [first, attr('Id')],
+ '1.0'),
+ ('./ns:Applications/ns:Application/ns:Extensions/uap3:Extension/'
+ 'uap3:AppExtension',
+ [first, attr('DisplayName')],
+ 'Adblock Plus'),
+ ]
+
+ for release_build, pairs in [(False, devbuild), (True, release)]:
+ manifest = ET.fromstring(packagerEdge.create_appx_manifest(
+ {'metadata': metadata},
+ files,
+ release_build=release_build))
+ for expression, modifiers, value in pairs:
+ res = reduce(
+ lambda val, func: func(val),
+ modifiers,
+ manifest.findall(expression, namespaces=namespaces))
+ assert res == value
def test_move_files_to_extension():
« no previous file with comments | « tests/AppManifest.xml.expect ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld