[svn] added simple memcached loader test

--HG--
branch : trunk
diff --git a/tests/conftest.py b/tests/conftest.py
index e97e30c..0c5a5ff 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -73,6 +73,24 @@
 simple_env = Environment(trim_blocks=True, friendly_traceback=False, loader=loader)
 
 
+class MemcacheClient(object):
+    """
+    Helper for the loader test.
+    """
+
+    def __init__(self, hosts):
+        self.cache = {}
+
+    def get(self, name):
+        return self.cache.get(name)
+
+    def set(self, name, data, time):
+        self.cache[name] = data
+
+sys.modules['memcache'] = memcache = type(sys)('memcache')
+memcache.Client = MemcacheClient
+
+
 class Module(py.test.collect.Module):
 
     def __init__(self, *args, **kwargs):
diff --git a/tests/test_loaders.py b/tests/test_loaders.py
index 0111dd7..2335b9c 100644
--- a/tests/test_loaders.py
+++ b/tests/test_loaders.py
@@ -21,6 +21,8 @@
 
 filesystem_loader = loaders.FileSystemLoader('loaderres/templates')
 
+memcached_loader = loaders.MemcachedFileSystemLoader('loaderres/templates')
+
 function_loader = loaders.FunctionLoader({'justfunction.html': 'FOO'}.get)
 
 choice_loader = loaders.ChoiceLoader([dict_loader, package_loader])
@@ -68,6 +70,20 @@
         raise AssertionError('expected template exception')
 
 
+def test_memcached_loader():
+    env = Environment(loader=memcached_loader)
+    tmpl = env.get_template('test.html')
+    assert tmpl.render().strip() == 'BAR'
+    tmpl = env.get_template('foo/test.html')
+    assert tmpl.render().strip() == 'FOO'
+    try:
+        env.get_template('missing.html')
+    except TemplateNotFound:
+        pass
+    else:
+        raise AssertionError('expected template exception')
+
+
 def test_choice_loader():
     env = Environment(loader=choice_loader)
     tmpl = env.get_template('justdict.html')