From 20f88560d226a032ee702dca3db4fa919b2c720f Mon Sep 17 00:00:00 2001
From: Paul McCarthy <pauld.mccarthy@gmail.com>
Date: Fri, 21 Apr 2017 10:35:44 +0100
Subject: [PATCH] Unit test for new settings.listFiles function

---
 tests/test_settings.py | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/tests/test_settings.py b/tests/test_settings.py
index e84e9dffe..2bb1db4db 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'),
-- 
GitLab