예제 #1
0
    def test_merge_library_required_at_the_top_of_multiple_files(self):
        paths_to_test_files = [
            os.path.join(self.test_env_dir, 'dir11', 'file1.js'),
            os.path.join(self.test_env_dir, 'dir21', 'file2.js'),
            os.path.join(self.test_env_dir, 'dir31', 'file3.js'),
            os.path.join(self.test_env_dir, 'dir41', 'file4.js')
        ]
        helpers.clean_up_files(paths_to_test_files)
        helpers.create_file_with_content(
            paths_to_test_files[0],
            '//= require file2\n//= require file3\n// This is file 1\n')
        helpers.create_file_with_content(
            paths_to_test_files[1], '//= require file4\n// This is file 2\n')
        helpers.create_file_with_content(
            paths_to_test_files[2], '//= require file4\n// This is file 3\n')
        helpers.create_file_with_content(paths_to_test_files[3],
                                         '// This is file 4\n')

        file1_resource = Resource(paths_to_test_files[0])
        actual_merged_content = file1_resource.merge_requirements_from_paths(
            Paths(self.test_env_dir, include_cwd=False), previously_merged=[])
        self.assertEqual(
            '// This is file 4\n// This is file 2\n// This is file 3\n// This is file 1\n',
            actual_merged_content)
        helpers.clean_up_files(paths_to_test_files)
예제 #2
0
 def test_merge_recursive_requirements_in_global_path(self):
     paths_to_test_files = [
             os.path.join(self.test_env_dir, 'dir1', 'file1.js'),
             os.path.join(self.test_env_dir, 'dir2', 'file2.js'),
             os.path.join(self.test_env_dir, 'dir3', 'file3.js')]
     helpers.clean_up_files(paths_to_test_files)
     helpers.create_file_with_content(paths_to_test_files[0], '// This is file 1\n//= require FILE2')
     helpers.create_file_with_content(paths_to_test_files[1], '// This is file 2\n//= require file3')
     helpers.create_file_with_content(paths_to_test_files[2], '// This is file 3')
     file1_resource = Resource(paths_to_test_files[0])
     actual_merged_content = file1_resource.merge_requirements_from_paths(Paths(self.test_env_dir, include_cwd=False), previously_merged=[])
     self.assertEqual('// This is file 1\n// This is file 2\n// This is file 3', actual_merged_content)
     helpers.clean_up_files(paths_to_test_files)
예제 #3
0
 def test_merge_js_requirements_favors_shallow_upward_matches(self):
     paths_to_test_files = [
         os.path.join(self.test_env_dir, 'dir1', 'dir2', 'dir3', 'file1.js'),
         os.path.join(self.test_env_dir, 'dir1', 'dir2', 'file2.js'),
         os.path.join(self.test_env_dir, 'dir1', 'file2.js')]
     helpers.clean_up_files(paths_to_test_files)
     helpers.create_file_with_content(paths_to_test_files[0], '// This is file 1\n//= require FILE2')
     helpers.create_file_with_content(paths_to_test_files[1], '// This is NEAR file 2')
     helpers.create_file_with_content(paths_to_test_files[2], '// This is FAR file 2')
     file1_resource = Resource(paths_to_test_files[0])
     actual_merged_content = file1_resource.merge_requirements_from_paths(Paths(self.test_env_dir,
         include_cwd=False), previously_merged=[])
     self.assertEqual('// This is file 1\n// This is NEAR file 2', actual_merged_content)
예제 #4
0
    def test_merge_library_required_at_the_top_of_multiple_files(self):
        paths_to_test_files = [
            os.path.join(self.test_env_dir, 'dir11', 'file1.js'),
            os.path.join(self.test_env_dir, 'dir21', 'file2.js'),
            os.path.join(self.test_env_dir, 'dir31', 'file3.js'),
            os.path.join(self.test_env_dir, 'dir41', 'file4.js')]
        helpers.clean_up_files(paths_to_test_files)
        helpers.create_file_with_content(paths_to_test_files[0], '//= require file2\n//= require file3\n// This is file 1\n')
        helpers.create_file_with_content(paths_to_test_files[1], '//= require file4\n// This is file 2\n')
        helpers.create_file_with_content(paths_to_test_files[2], '//= require file4\n// This is file 3\n')
        helpers.create_file_with_content(paths_to_test_files[3], '// This is file 4\n')

        file1_resource = Resource(paths_to_test_files[0])
        actual_merged_content = file1_resource.merge_requirements_from_paths(Paths(self.test_env_dir, include_cwd=False), previously_merged=[])
        self.assertEqual('// This is file 4\n// This is file 2\n// This is file 3\n// This is file 1\n', actual_merged_content)
        helpers.clean_up_files(paths_to_test_files)
예제 #5
0
    def test_merge_css_requirements_in_local_path(self):
        paths_to_test_files = [
            os.path.join(self.test_env_dir, 'dir1', 'file1.css'),
            os.path.join(self.test_env_dir, 'dir1', 'file2.css'),
            os.path.join(self.test_env_dir, 'dir2', 'file2.css')]
        helpers.clean_up_files(paths_to_test_files)
        helpers.create_file_with_content(paths_to_test_files[0], '/* This is file 1 */\n@import url("FiLe2.css")')
        helpers.create_file_with_content(paths_to_test_files[1], '/* This is LOCAL file 2 */')
        helpers.create_file_with_content(paths_to_test_files[2], '/* This is GLOBAL file 2 */')
        file1_resource = Resource(paths_to_test_files[0])
        actual_merged_content = file1_resource.merge_requirements_from_paths(Paths(self.test_env_dir,
                                                                                               include_cwd=False), previously_merged=[])

        self.assertEqual('/* This is file 1 */\n/* This is LOCAL file 2 */', actual_merged_content)

        helpers.clean_up_files(paths_to_test_files)
예제 #6
0
    def test_merge_requirements_in_global_path(self):
        paths_to_test_files = [
            os.path.join(self.test_env_dir, 'dir1', 'file1.js'),
            os.path.join(self.test_env_dir, 'dir2', 'file2.js')
        ]
        helpers.clean_up_files(paths_to_test_files)
        helpers.create_file_with_content(
            paths_to_test_files[0], '// This is file 1\n//= require FILE2')
        helpers.create_file_with_content(paths_to_test_files[1],
                                         '// This is file 2')
        file1_resource = Resource(paths_to_test_files[0])
        actual_merged_content = file1_resource.merge_requirements_from_paths(
            Paths(self.test_env_dir, include_cwd=False), previously_merged=[])

        self.assertEqual('// This is file 1\n// This is file 2',
                         actual_merged_content)

        helpers.clean_up_files(paths_to_test_files)
예제 #7
0
    def test_merge_css_requirements_in_local_path(self):
        paths_to_test_files = [
            os.path.join(self.test_env_dir, 'dir1', 'file1.css'),
            os.path.join(self.test_env_dir, 'dir1', 'file2.css'),
            os.path.join(self.test_env_dir, 'dir2', 'file2.css')
        ]
        helpers.clean_up_files(paths_to_test_files)
        helpers.create_file_with_content(
            paths_to_test_files[0],
            '/* This is file 1 */\n@import url("FiLe2.css")')
        helpers.create_file_with_content(paths_to_test_files[1],
                                         '/* This is LOCAL file 2 */')
        helpers.create_file_with_content(paths_to_test_files[2],
                                         '/* This is GLOBAL file 2 */')
        file1_resource = Resource(paths_to_test_files[0])
        actual_merged_content = file1_resource.merge_requirements_from_paths(
            Paths(self.test_env_dir, include_cwd=False), previously_merged=[])

        self.assertEqual('/* This is file 1 */\n/* This is LOCAL file 2 */',
                         actual_merged_content)

        helpers.clean_up_files(paths_to_test_files)