diff --git a/test.py b/test.py
index 6d8f13997a27804aba934f30f01fafba4d2a75ea..65aa7ca3dd5d9d45c5a1ccf7be45b173c439608b 100644
--- a/test.py
+++ b/test.py
@@ -496,6 +496,53 @@ class WordwrapTestCase(MkexpSimpleTestCase):
             tlike-message
         """)
 
+class FilesTestCase(MkexpSimpleTestCase):
+
+    def test_get_file_simple(self):
+        self.run_test("""
+            %{get_file(files, 'target.txt')}
+            %{get_file(files, 'broken.txt')}
+        """, """
+            source.txt
+            .
+        """, """
+            [files]
+                target.txt = source.txt
+                broken.txt = .
+        """)
+
+    def test_get_file_path(self):
+        self.run_test("""
+            %{get_file(files, 'target.txt')}
+            %{get_file(files, 'path.txt')}
+            %{get_file(files.subdir, 'target.txt')}
+        """, """
+            /path/to/source/source.txt
+            /just/this/one/source.txt
+            /path/to/source/subdir/source.txt
+        """, """
+            [files]
+                .base_dir = /path/to/source
+                target.txt = source.txt
+                path.txt = /just/this/one/source.txt
+                [[subdir]]
+                    .sub_dir = subdir
+                    target.txt = source.txt
+        """)
+
+    def test_get_file_variable(self):
+        self.run_test("""
+            %{get_file(files, 'target.txt')}
+            %{get_file(files, 'broken.txt')}
+        """, """
+            source.txt
+            $BASENAME.txt
+        """, """
+            BASENAME = source
+            [files]
+                target.txt = $${BASENAME}.txt
+                broken.txt = $$BASENAME.txt
+        """)
 
 if __name__ == '__main__':
     unittest.main()