code: def test_process_template_line(self):
      # testing  all MANIFEST.in template patterns
      file_list = FileList()
      l = make_local_path
  
      # simulated file list
      file_list.allfiles = [
          "foo.tmp",
          "ok",
          "xo",
          "four.txt",
          "buildout.cfg",
          # filelist does not filter out VCS directories,
          # it's sdist that does
          l(".hg/last-message.txt"),
          l("global/one.txt"),
          l("global/two.txt"),
          l("global/files.x"),
          l("global/here.tmp"),
          l("f/o/f.oo"),
          l("dir/graft-one"),
          l("dir/dir2/graft2"),
          l("dir3/ok"),
          l("dir3/sub/ok.txt"),
      ]
  
      for line in MANIFEST_IN.split("\n"):
          if line.strip() == "":
              continue
          file_list.process_template_line(line)
  
      wanted = [
          "ok",
          "buildout.cfg",
          "four.txt",
          l(".hg/last-message.txt"),
          l("global/one.txt"),
          l("global/two.txt"),
          l("f/o/f.oo"),
          l("dir/graft-one"),
          l("dir/dir2/graft2"),
      ]
  
      self.assertEqual(file_list.files, wanted)
  
imports: import os
  import re
  import unittest
  from distutils import debug
  from distutils.log import WARN
  from distutils.errors import DistutilsTemplateError
  from distutils.filelist import glob_to_re, translate_pattern, FileList
  from test.test_support import captured_stdout, run_unittest
  from distutils.tests import support
label_desc: Use image node_id 4 for calling the FileListTestCase obj's underlying member method code with example usage: obj.test_process_template_line() without return types