diff options
author | Simon Sapin <simon.sapin@exyr.org> | 2016-01-15 16:18:58 +0100 |
---|---|---|
committer | Simon Sapin <simon.sapin@exyr.org> | 2016-01-15 18:13:12 +0100 |
commit | 2222f345c8a024d319f6f6f89d2517c3633c8c6d (patch) | |
tree | 1c831eb7a5cc056b7b6e1f65a6906f9dfc3c76e2 | |
parent | 9d29c3d2f52946e02c92ce7c31ac74433c2c6f8e (diff) | |
download | servo-2222f345c8a024d319f6f6f89d2517c3633c8c6d.tar.gz servo-2222f345c8a024d319f6f6f89d2517c3633c8c6d.zip |
Make the properties list JSON and add some more info.
-rw-r--r--[-rwxr-xr-x] | components/style/list_properties.py | 20 | ||||
-rw-r--r-- | python/servo/testing_commands.py | 5 |
2 files changed, 18 insertions, 7 deletions
diff --git a/components/style/list_properties.py b/components/style/list_properties.py index a787cbb8706..63bbe247511 100755..100644 --- a/components/style/list_properties.py +++ b/components/style/list_properties.py @@ -1,14 +1,24 @@ -#!/bin/env python2.7 +#!/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 os.path import sys +import json style = os.path.dirname(__file__) sys.path.insert(0, os.path.join(style, "Mako-0.9.1.zip")) - from mako.template import Template + template = Template(filename=os.path.join(style, "properties.mako.rs"), input_encoding='utf8') template.render() -properties = template.module.LONGHANDS + template.module.SHORTHANDS -for name in sorted(p.name for p in properties): - print(name) +properties = dict( + (p.name, { + "flag": p.experimental, + "shorthand": hasattr(p, "sub_properties") + }) + for p in template.module.LONGHANDS + template.module.SHORTHANDS +) +print(json.dumps(properties, indent=4)) diff --git a/python/servo/testing_commands.py b/python/servo/testing_commands.py index 80d4515c8e4..acd92dea9a2 100644 --- a/python/servo/testing_commands.py +++ b/python/servo/testing_commands.py @@ -15,6 +15,7 @@ import sys import os import os.path as path import subprocess +import json from collections import OrderedDict from time import time @@ -158,10 +159,10 @@ class MachCommands(CommandBase): @CommandArgument('test_name', nargs=argparse.REMAINDER, help="Only run tests that match this pattern or file path") def test_unit(self, test_name=None, package=None): - properties = subprocess.check_output([ + properties = json.loads(subprocess.check_output([ sys.executable, path.join(self.context.topdir, "components", "style", "list_properties.py") - ]).splitlines() + ])) assert len(properties) >= 100 assert "margin-top" in properties assert "margin" in properties |