diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2016-01-16 01:06:03 +0530 |
---|---|---|
committer | bors-servo <lbergstrom+bors@mozilla.com> | 2016-01-16 01:06:03 +0530 |
commit | dba1f27305c5e81eda6acd4c438a2adfb6ed053d (patch) | |
tree | 2b06049daf2a073e778a893861b9a5455ad5cb65 | |
parent | 4cb2c87982355bdf2a2dd409db71d0d4ed6f9a85 (diff) | |
parent | 2222f345c8a024d319f6f6f89d2517c3633c8c6d (diff) | |
download | servo-dba1f27305c5e81eda6acd4c438a2adfb6ed053d.tar.gz servo-dba1f27305c5e81eda6acd4c438a2adfb6ed053d.zip |
Auto merge of #9333 - servo:list-properties, r=larsbergstrom
Add a script to list all CSS properties parsed by Servo.
I’ve been asked for that list by two different people this week :)
r? @larsbergstrom
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9333)
<!-- Reviewable:end -->
-rw-r--r-- | components/style/list_properties.py | 24 | ||||
-rw-r--r-- | python/servo/testing_commands.py | 9 |
2 files changed, 33 insertions, 0 deletions
diff --git a/components/style/list_properties.py b/components/style/list_properties.py new file mode 100644 index 00000000000..63bbe247511 --- /dev/null +++ b/components/style/list_properties.py @@ -0,0 +1,24 @@ +#!/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 = 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 9892a0e6669..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,6 +159,14 @@ 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 = json.loads(subprocess.check_output([ + sys.executable, + path.join(self.context.topdir, "components", "style", "list_properties.py") + ])) + assert len(properties) >= 100 + assert "margin-top" in properties + assert "margin" in properties + if test_name is None: test_name = [] |