# Path: grace/error.py
# class FileNotFoundError(Error):
#     pass
# 
# class CreateFolderError(Error):
#     pass
# 
# class RemoveFolderError(Error):
#     pass
# 
# class FileNotWritableError(Error):
#     pass
# 
# class RemoveFileError(Error):
#     pass


from builtins import object
from .error import FileNotFoundError, CreateFolderError, RemoveFolderError, FileNotWritableError, RemoveFileError
from shutil import rmtree, copy2, copytree
import os
import re
import sys
            f.close()

        return lines

    def _gather_javascript_lines(self, f):
        lines = []

        for line in f:
            match = re.match('\/\/= require ([a-zA-Z\/-_]+)', line)
            if match:
                sub_f = None

                path = match.group(1)
                if sys.platform.startswith('win32'):
                    path = path.replace('/', '\\')

                sub_path = os.path.join(self._cwd, 'test', 'javascript', path + '.js')
                if not os.path.exists(sub_path):
                    sub_path = os.path.join(self._cwd, 'src', 'javascript', path + '.js')

                if sub_path not in self._included_js_files:
                    self._included_js_files.append(sub_path)

                    try:
                        sub_f = open(sub_path)
                    except:
                        raise FileNotFoundError('The specified file does not exist: ', sub_path)

                    try:
                        lines = lines + self._gather_javascript_lines(sub_f)

# Path: grace/error.py
# class FileNotFoundError(Error):
#     pass
# 
# class CreateFolderError(Error):
#     pass
# 
# class RemoveFolderError(Error):
#     pass
# 
# class FileNotWritableError(Error):
#     pass
# 
# class RemoveFileError(Error):
#     pass


# Path: grace/testit.py
from builtins import object
from .error import FileNotFoundError, CreateFolderError, RemoveFolderError, FileNotWritableError, RemoveFileError
from shutil import rmtree, copy2, copytree
import os
import re
import sys

            f.close()

        return lines

    def _gather_javascript_lines(self, f):
        lines = []

        for line in f:
            match = re.match('\/\/= require ([a-zA-Z\/-_]+)', line)
            if match:
                sub_f = None

                path = match.group(1)
                if sys.platform.startswith('win32'):
                    path = path.replace('/', '\\')

                sub_path = os.path.join(self._cwd, 'test', 'javascript', path + '.js')
                if not os.path.exists(sub_path):
                    sub_path = os.path.join(self._cwd, 'src', 'javascript', path + '.js')

                if sub_path not in self._included_js_files:
                    self._included_js_files.append(sub_path)

                    try:
                        sub_f = open(sub_path)
                    except:
                        raise FileNotFoundError('The specified file does not exist: ', sub_path)

                    try:
                        lines = lines + self._gather_javascript_lines(sub_f)

                    except FileNotFoundError: