diff --git a/tests/test_settings.py b/tests/test_settings.py
index e84e9dffe1e6b20a98ea5754a61c5b22b1767499..2bb1db4db3d5e916520a3bc9417cd879f1f1a321 100644
--- a/tests/test_settings.py
+++ b/tests/test_settings.py
@@ -37,6 +37,7 @@ def test_initialise():
     settings.writeFile('nothing', 'nothing')
     settings.deleteFile('nothing')
     assert settings.readAll() == {}
+    assert settings.listFiles() == []
     settings.clear()
 
     with tests.testdir() as testdir:
@@ -311,6 +312,33 @@ def test_readall():
         assert s.readAll('*setting*')    == dict(testsettings)
 
 
+def test_listFiles():
+
+    ns1files  = ['namespace1/setting1.txt',
+                 'namespace1/setting2.txt',
+                 'namespace1/setting3.txt']
+    ns2files  = ['namespace2/setting1.txt',
+                 'namespace2/setting2.txt',
+                 'namespace2/setting3.txt']     
+
+    with tests.testdir() as testdir:
+
+        s = settings.Settings(cfgid='test', cfgdir=testdir, writeOnExit=False)
+
+        assert s.listFiles() == []
+
+        for fn in ns1files + ns2files:
+            s.writeFile(fn, fn)
+
+        assert list(sorted(s.listFiles())) == list(sorted(ns1files + ns2files))
+
+        assert list(sorted(s.listFiles('namespace1/*'))) == list(sorted(ns1files))
+        assert list(sorted(s.listFiles('namespace2/*'))) == list(sorted(ns2files))
+        assert list(sorted(s.listFiles('namespace?/*'))) == list(sorted(ns1files + ns2files))
+        assert list(sorted(s.listFiles('*.txt')))        == list(sorted(ns1files + ns2files))
+
+        assert list(sorted(s.listFiles('*/setting1.txt'))) == list(sorted([ns1files[0]] + [ns2files[0]]))
+
 def test_clear():
 
     testsettings = [('setting1', '1'),