mirror of
https://github.com/servo/servo.git
synced 2025-06-21 23:59:00 +01:00
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 -->
This commit is contained in:
commit
dba1f27305
2 changed files with 33 additions and 0 deletions
24
components/style/list_properties.py
Normal file
24
components/style/list_properties.py
Normal file
|
@ -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))
|
|
@ -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 = []
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue