Ejemplo n.º 1
0
    def test_relative_dirs_ignored(self):
        base = tempfile.mktemp()
        absolute = join(base, 'file.js')
        relative = join('somedir', 'file.js')

        self.assertEqual(relative, utils.normrelpath(absolute, relative))
        self.assertEqual(absolute, utils.normrelpath(relative, absolute))
Ejemplo n.º 2
0
    def test_find_double_parent(self):
        base = tempfile.mktemp()
        root = join(base, 'file.js')
        nested = join(base, 'src', 'dir', 'blahfile.js')

        self.assertEqual([pardir, pardir, 'file.js'],
                         utils.normrelpath(nested, root).split(sep))
        self.assertEqual(['src', 'dir', 'blahfile.js'],
                         utils.normrelpath(root, nested).split(sep))
Ejemplo n.º 3
0
    def test_find_common_same_base_parents_common(self):
        base = tempfile.mktemp()
        source = join(base, 'src', 'file.js')
        source_min = join(base, 'build', 'file.min.js')
        source_map = join(base, 'build', 'file.min.js.map')

        # mapping from source_map to source
        self.assertEqual([pardir, 'src', 'file.js'],
                         utils.normrelpath(source_map, source).split(sep))
        # for pointing from source_map.source to the source_min
        self.assertEqual('file.min.js',
                         utils.normrelpath(source_map, source_min))
Ejemplo n.º 4
0
    def test_find_common_same_base_same_level(self):
        base = tempfile.mktemp()
        source = join(base, 'src', 'file.js')
        source_alt = join(base, 'src', 'alt', 'file.js')
        source_min = join(base, 'src', 'file.min.js')
        source_map = join(base, 'src', 'file.min.js.map')

        # for generation of sourceMappingURL comment in source_min
        self.assertEqual('file.min.js.map',
                         utils.normrelpath(source_min, source_map))
        # for pointing from source_map.source to the source
        self.assertEqual('file.js', utils.normrelpath(source_map, source))
        # for pointing from source_map.source to the source_min
        self.assertEqual('file.min.js',
                         utils.normrelpath(source_map, source_min))

        self.assertEqual(join('alt', 'file.js'),
                         utils.normrelpath(source_map, source_alt))
Ejemplo n.º 5
0
def verify_write_sourcemap_args(mappings,
                                sources,
                                names,
                                output_stream,
                                sourcemap_stream,
                                normalize_paths=True):
    def validate_path(path, name):
        # yes, rather than equality, this token is imported from
        # the sourcemap module is the identity of all invalid
        # sources.
        if path is INVALID_SOURCE:
            # well, this was preemptively replaced, still need to
            # report this fact as a warning.
            logger.warning(
                "%s is either undefine or invalid - it is replaced "
                "with '%s'", name, INVALID_SOURCE)

    output_js = getattr(output_stream, 'name', INVALID_SOURCE)
    output_js_map = getattr(sourcemap_stream, 'name', INVALID_SOURCE)

    validate_path(output_js, 'sourcemap.file')
    validate_path(output_js_map, 'sourceMappingURL')
    for idx, source in enumerate(sources):
        validate_path(source, 'sourcemap.sources[%d]' % idx)

    if normalize_paths:
        # Caveat: macpath.pardir ignored.
        return (
            (
                # filename
                '/'.join(normrelpath(output_js_map, output_js).split(sep)),
                # mappings
                mappings,
                # sources
                [
                    '/'.join(normrelpath(output_js_map, src).split(sep))
                    for src in sources
                ],
                # names
                names,
            ),
            '/'.join(normrelpath(output_js, output_js_map).split(sep)))

    return (output_js, mappings, sources, names), output_js_map
Ejemplo n.º 6
0
 def test_find_same_prefix(self):
     base = tempfile.mktemp()
     src = join(base, 'basesrc', 'source.js')
     tgt = join(base, 'basetgt', 'target.js')
     self.assertEqual([pardir, 'basetgt', 'target.js'],
                      utils.normrelpath(src, tgt).split(sep))