# HG changeset patch
# User Jeff Hammel <jhammel@mozilla.com>
# Date 1306504947 25200
# Node ID ff272dcd5cd832749c3a9ce1b4b8633d89ec50b8
# Parent  ba2355d57998374073e6a5503f0bf34264141196
we have a passing test

diff -r ba2355d57998 -r ff272dcd5cd8 pyloader/factory.py
--- a/pyloader/factory.py	Fri May 27 06:40:15 2011 -0700
+++ b/pyloader/factory.py	Fri May 27 07:02:27 2011 -0700
@@ -36,7 +36,7 @@
         self.seen.add(name)
 
         # get section
-        section = config[name]
+        section = self.config[name]
         assert 'path' in section
 
         # load object
@@ -53,10 +53,14 @@
 
         # interpolate arguments
         if args:
-            args = [self.iterpolate(arg) for arg in args]
+            args = [self.interpolate(arg) for arg in args]
+        else:
+            args = []
         if kwargs:
             kwargs = dict([(key, self.interpolate(value))
                            for key, value in kwargs.items()])
+        else:
+            kwargs = {}
 
         # invoke
         self.parsed[name] = obj(*args, **kwargs)
diff -r ba2355d57998 -r ff272dcd5cd8 tests/objects.py
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/objects.py	Fri May 27 07:02:27 2011 -0700
@@ -0,0 +1,6 @@
+"""
+test objects
+"""
+
+def stringsort(*strings):
+    return ''.join(sorted(''.join(strings)))
diff -r ba2355d57998 -r ff272dcd5cd8 tests/test.py
--- a/tests/test.py	Fri May 27 06:40:15 2011 -0700
+++ b/tests/test.py	Fri May 27 07:02:27 2011 -0700
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 
 """
-doctest runner
+doctest runner for pyloader
 """
 
 import doctest
diff -r ba2355d57998 -r ff272dcd5cd8 tests/test_factory.txt
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test_factory.txt	Fri May 27 07:02:27 2011 -0700
@@ -0,0 +1,24 @@
+Test pyloader's Factory
+=======================
+
+Boilerplate::
+
+    >>> import os
+    >>> from pyloader.factory import PyFactory
+
+Construct a factory::
+
+    >>> factory = PyFactory()
+
+Make a configuration::
+
+    >>> config = {'': {'path': os.path.join(here, 'objects.py:stringsort'), 'args': ['foo', 'bar']}} 
+
+Load it::
+
+    >>> factory.configure(config)
+
+Get the thing::
+
+    >>> factory.load()
+    'abfoor'