mirror of
https://github.com/servo/servo.git
synced 2025-06-22 08:08:59 +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
|
||||||
import os.path as path
|
import os.path as path
|
||||||
import subprocess
|
import subprocess
|
||||||
|
import json
|
||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
from time import time
|
from time import time
|
||||||
|
|
||||||
|
@ -158,6 +159,14 @@ class MachCommands(CommandBase):
|
||||||
@CommandArgument('test_name', nargs=argparse.REMAINDER,
|
@CommandArgument('test_name', nargs=argparse.REMAINDER,
|
||||||
help="Only run tests that match this pattern or file path")
|
help="Only run tests that match this pattern or file path")
|
||||||
def test_unit(self, test_name=None, package=None):
|
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:
|
if test_name is None:
|
||||||
test_name = []
|
test_name = []
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue