mirror of
https://github.com/servo/servo
synced 2026-04-30 11:27:28 +02:00
Update web-platform-tests to 5582e4d2bfcfd1fa9f105406b143170ee2af7db1
This commit is contained in:
41
tests/wpt/web-platform-tests/tools/pytest/doc/en/genapi.py
Normal file
41
tests/wpt/web-platform-tests/tools/pytest/doc/en/genapi.py
Normal file
@@ -0,0 +1,41 @@
|
||||
import textwrap
|
||||
import inspect
|
||||
|
||||
class Writer:
|
||||
def __init__(self, clsname):
|
||||
self.clsname = clsname
|
||||
|
||||
def __enter__(self):
|
||||
self.file = open("%s.api" % self.clsname, "w")
|
||||
return self
|
||||
|
||||
def __exit__(self, *args):
|
||||
self.file.close()
|
||||
print "wrote", self.file.name
|
||||
|
||||
def line(self, line):
|
||||
self.file.write(line+"\n")
|
||||
|
||||
def docmethod(self, method):
|
||||
doc = " ".join(method.__doc__.split())
|
||||
indent = " "
|
||||
w = textwrap.TextWrapper(initial_indent=indent,
|
||||
subsequent_indent=indent)
|
||||
|
||||
spec = inspect.getargspec(method)
|
||||
del spec.args[0]
|
||||
self.line(".. py:method:: " + method.__name__ +
|
||||
inspect.formatargspec(*spec))
|
||||
self.line("")
|
||||
self.line(w.fill(doc))
|
||||
self.line("")
|
||||
|
||||
def pytest_funcarg__a(request):
|
||||
with Writer("request") as writer:
|
||||
writer.docmethod(request.getfuncargvalue)
|
||||
writer.docmethod(request.cached_setup)
|
||||
writer.docmethod(request.addfinalizer)
|
||||
writer.docmethod(request.applymarker)
|
||||
|
||||
def test_hello(a):
|
||||
pass
|
||||
Reference in New Issue
Block a user