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: Test AppManifest for release and devbuilds using xml xpath expressions Created Dec. 21, 2016, 2 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') | tox.ini » ('j') | 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 03f4c2b07d67a29887bfcdeeebd90195df0bab3d..5b7bc1b8fb83e41bdd2a3370c717425e5b164e16 100644
--- a/tests/test_packagerEdge.py
+++ b/tests/test_packagerEdge.py
@@ -7,6 +7,7 @@ import json
import os
import shutil
import xml.etree.ElementTree as ET
+from lxml import etree
import zipfile
import pytest
@@ -130,19 +131,67 @@ 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',
+ }
+
+ base = {
+ 'count(//*)': 22.0,
+ 'string(/ns:Package/ns:Identity/@Name)': 'EyeoGmbH.AdblockPlus',
+ 'string(/ns:Package/ns:Identity/@Publisher)':
+ 'CN=4F066043-8AFE-41C9-B762-6C15E77E3F88',
+ 'string(/ns:Package/ns:Identity/@Version)': '1.2.3.0',
+ 'string(/ns:Package/ns:Properties/ns:PublisherDisplayName)':
+ 'Eyeo GmbH',
+ 'string(/ns:Package/ns:Properties/ns:Logo)': 'Assets\\logo_50.png',
+ ('string(/ns:Package/ns:Dependencies/ns:TargetDeviceFamily/'
+ '@MinVersion)'): '10.0.14332.0',
+ ('string(/ns:Package/ns:Dependencies/ns:TargetDeviceFamily/'
+ '@MaxVersionTested)'): '12.0.0.0',
+ ('string(/ns:Package/ns:Applications/ns:Application/'
+ 'uap:VisualElements/@Square150x150Logo)'): 'Assets\\logo_150.png',
+ ('string(/ns:Package/ns:Applications/ns:Application/'
+ 'uap:VisualElements/@Square44x44Logo)'): 'Assets\\logo_44.png',
+ ('string(/ns:Package/ns:Applications/ns:Application/'
+ 'uap:VisualElements/@Description)'):
+ 'Adblock Plus is the most popular ad blocker ever, and also '
+ 'supports websites by not blocking unobstrusive ads by '
+ 'default (configurable).',
+ ('string(/ns:Package/ns:Applications/ns:Application/'
+ 'uap:VisualElements/@BackgroundColor)'): 'red',
+ }
+
+ devbuild = base.copy()
+ devbuild.update({
+ 'string(/ns:Package/ns:Properties/ns:DisplayName)': 'devbuild-marker',
+ 'string(/ns:Package/ns:Applications/ns:Application/'
+ 'uap:VisualElements/@DisplayName)': 'devbuild-marker',
+ ('string(/ns:Package/ns:Applications/ns:Application/ns:Extensions/'
+ 'uap3:Extension/uap3:AppExtension/@Id)'): 'EdgeExtension',
+ 'string(/ns:Package/ns:Applications/'
+ 'ns:Application/ns:Extensions/uap3:Extension/'
+ 'uap3:AppExtension/@DisplayName)': 'devbuild-marker',
+ })
+
+ release = base.copy()
+ release.update({
+ 'string(/ns:Package/ns:Properties/ns:DisplayName)': 'Adblock Plus',
+ ('string(/ns:Package/ns:Applications/ns:Application/'
+ 'uap:VisualElements/@DisplayName)'): 'Adblock Plus',
+ ('string(/ns:Package/ns:Applications/ns:Application/ns:Extensions/'
+ 'uap3:Extension/uap3:AppExtension/@Id)'): '1.0',
+ ('string(/ns:Package/ns:Applications/ns:Application/ns:Extensions/'
+ 'uap3:Extension/uap3:AppExtension/@DisplayName)'): 'Adblock Plus',
+ })
+
+ for release_build, pairs in [[False, devbuild], [True, release]]:
Sebastian Noack 2016/12/21 15:54:15 Please use tuples for data that have structure (as
wspee 2017/01/02 14:16:19 Done.
+ manifest = etree.fromstring(packagerEdge.create_appx_manifest(
+ {'metadata': metadata}, files, release_build=release_build))
+ for expression, value in pairs.items():
+ assert manifest.xpath(expression, namespaces=namespaces) == value
def test_move_files_to_extension():
« no previous file with comments | « tests/AppManifest.xml.expect ('k') | tox.ini » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld