more unittests

--HG--
branch : trunk
diff --git a/tests/test_macros.py b/tests/test_macros.py
index 5958250..ee6c353 100644
--- a/tests/test_macros.py
+++ b/tests/test_macros.py
@@ -86,3 +86,21 @@
 def test_include(env):
     tmpl = env.from_string('{% from "include" import test %}{{ test("foo") }}')
     assert tmpl.render() == '[foo]'
+
+
+def test_macro_api(env):
+    tmpl = env.from_string('{% macro foo(a, b) %}{% endmacro %}'
+                           '{% macro bar() %}{{ varargs }}{{ kwargs }}{% endmacro %}'
+                           '{% macro baz() %}{{ caller() }}{% endmacro %}')
+    assert tmpl.module.foo.arguments == ('a', 'b')
+    assert tmpl.module.foo.defaults == ()
+    assert tmpl.module.foo.name == 'foo'
+    assert not tmpl.module.foo.caller
+    assert not tmpl.module.foo.catch_kwargs
+    assert not tmpl.module.foo.catch_varargs
+    assert tmpl.module.bar.arguments == ()
+    assert tmpl.module.bar.defaults == ()
+    assert not tmpl.module.bar.caller
+    assert tmpl.module.bar.catch_kwargs
+    assert tmpl.module.bar.catch_varargs
+    assert tmpl.module.baz.caller