Exemple #1
0
    def test_parse_definition_4(self):
        text = """// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

'use strict';

/**
 * @fileoverview TimelineView visualizes TRACE_EVENT events using the
 * tracing.Timeline component and adds in selection summary and control buttons.
 */
base.requireStylesheet('timeline_view')
base.require('timeline');
base.require('timeline_analysis');
base.require('overlay');
base.require('trace_event_importer');
base.require('linux_perf_importer');
base.exportsTo('tracing', function() {"""

        module = parse_deps.Module("timeline_view")
        module.parse_definition_(text)
        self.assertEquals(["timeline_view"], module.style_sheet_names)
        self.assertEquals([
            "timeline", "timeline_analysis", "overlay", "trace_event_importer",
            "linux_perf_importer"
        ], module.dependent_module_names)
Exemple #2
0
    def test_parse_dependency_with_dots(self):
        text = """base.require("foo.dependency1")
"""
        module = parse_deps.Module("myModule")
        module.parse_definition_(text)
        self.assertEquals([], module.style_sheet_names)
        self.assertEquals(["foo.dependency1"], module.dependent_module_names)
Exemple #3
0
    def test_parse_empty_definition(self):
        text = """// blahblahblah
"""
        module = parse_deps.Module("myModule")
        module.parse_definition_(text, decl_required=False)
        self.assertEquals([], module.style_sheet_names)
        self.assertEquals([], module.dependent_module_names)
Exemple #4
0
    def test_parse_dependency_with_dots(self):
        text = """base.require('foo.dependency1')
"""
        module = parse_deps.Module('myModule')
        stripped_text = parse_deps._strip_js_comments(text)
        module.parse_definition_(stripped_text)
        self.assertEquals([], module.style_sheet_names)
        self.assertEquals(['foo.dependency1'], module.dependent_module_names)
Exemple #5
0
    def test_parse_empty_definition(self):
        text = """// blahblahblah
'use strict';
"""
        module = parse_deps.Module('myModule')
        stripped_text = parse_deps._strip_js_comments(text)
        module.parse_definition_(stripped_text, decl_required=False)
        self.assertEquals([], module.style_sheet_names)
        self.assertEquals([], module.dependent_module_names)
Exemple #6
0
    def test_validate_2(self):
        text = """// blahblahblah

base.require('dependency1');
"""
        module = parse_deps.Module('myModule')
        stripped_text = parse_deps._strip_js_comments(text)
        self.assertRaises(
            lambda: module.validate_uses_strict_mode_(stripped_text))
Exemple #7
0
    def test_parse_definition_3(self):
        text = """// blahblahblah
base.require('dependency1');
//base.require('dependency2');
"""
        module = parse_deps.Module("myModule")
        module.parse_definition_(text)
        self.assertEquals([], module.style_sheet_names)
        self.assertEquals(["dependency1"], module.dependent_module_names)
Exemple #8
0
    def test_validate_1(self):
        text = """// blahblahblah

'use strict';

base.require('dependency1');
"""
        module = parse_deps.Module('myModule')
        stripped_text = parse_deps._strip_js_comments(text)
        module.validate_uses_strict_mode_(stripped_text)
Exemple #9
0
  def test_parse_definition_missing_semis(self):
    text = """// blahblahblah
base.require('dependency1')
base.require('dependency2');
base.requireStylesheet('myStylesheet')
"""
    module = parse_deps.Module("myModule")
    module.parse_definition_(text)
    self.assertEquals(["myStylesheet"], module.style_sheet_names);
    self.assertEquals(["dependency1", "dependency2"],
                      module.dependent_module_names);
Exemple #10
0
    def test_parse_definition_3(self):
        text = """// blahblahblah
'use strict';
base.require('dependency1');
//base.require('dependency2');
"""
        module = parse_deps.Module('myModule')
        stripped_text = parse_deps._strip_js_comments(text)
        module.parse_definition_(stripped_text)
        self.assertEquals([], module.style_sheet_names)
        self.assertEquals(['dependency1'], module.dependent_module_names)
Exemple #11
0
    def test_parse_definition_with_deps_and_stylesheet_swapped(self):
        text = """// blahblahblah
base.require('dependency1');
base.requireStylesheet('myStylesheet');
base.require('dependency2');
"""
        module = parse_deps.Module("myModule")
        module.parse_definition_(text)
        self.assertEquals(["myStylesheet"], module.style_sheet_names)
        self.assertEquals(["dependency1", "dependency2"],
                          module.dependent_module_names)
Exemple #12
0
    def test_dependency_in_subdir(self):
        resource_finder = parse_deps.ResourceFinder(srcdir)
        module = parse_deps.Module("unittest")
        module.load_and_parse(os.path.join(srcdir, "unittest.js"))
        filename, contents = resource_finder.find_and_load_module(
            module, "tracks.timeline_track")

        self.assertEquals(filename, "tracks/timeline_track.js")
        expected_contents = ''
        with open(os.path.join(srcdir, "tracks/timeline_track.js")) as f:
            expected_contents = f.read()
        self.assertEquals(contents, expected_contents)
Exemple #13
0
  def test_basic(self):

    resource_finder = parse_deps.ResourceFinder(srcdir)
    module = parse_deps.Module("unittest")
    module.load_and_parse(os.path.join(srcdir, "unittest.js"))
    filename, contents = resource_finder.find_and_load_module(module, "base")

    self.assertTrue(os.path.samefile(filename, os.path.join(srcdir, "base.js")))
    expected_contents = ''
    with open(os.path.join(srcdir, "base.js")) as f:
      expected_contents = f.read()
    self.assertEquals(contents, expected_contents)
Exemple #14
0
    def test_basic(self):

        resource_finder = parse_deps.ResourceFinder([src_dir])
        module = parse_deps.Module('guid')
        module.load_and_parse(os.path.join(src_dir, 'base', 'guid.js'))
        filename, contents = resource_finder.find_and_load_module(
            module, 'base')

        self.assertTrue(
            os.path.samefile(filename, os.path.join(src_dir, 'base.js')))
        expected_contents = ''
        with open(os.path.join(src_dir, 'base.js')) as f:
            expected_contents = f.read()
        self.assertEquals(contents, expected_contents)
Exemple #15
0
    def test_parse_definition_1(self):
        text = """// blahblahblah
'use strict';
base.require('dependency1');
base.require('dependency2');
base.requireStylesheet('myStylesheet');
base.requireTemplate('myTemplate');
"""
        module = parse_deps.Module('myModule')
        stripped_text = parse_deps._strip_js_comments(text)
        module.parse_definition_(stripped_text)
        self.assertEquals(['myStylesheet'], module.style_sheet_names)
        self.assertEquals(['myTemplate'], module.html_template_names)
        self.assertEquals(['dependency1', 'dependency2'],
                          module.dependent_module_names)
Exemple #16
0
    def test_parse_definition_with_definition_in_comments(self):
        text = """// SomeComment
/*
 * All subclasses should depend on linux_perf_parser, e.g.
 *
 * base.require('linux_perf_parser');
 * base.exportTo('tracing', function() { });
 *
 */
base.require('dependency1');
base.require('dependency2');
"""
        module = parse_deps.Module("myModule")
        module.parse_definition_(text)
        self.assertEquals([], module.style_sheet_names)
        self.assertEquals(["dependency1", "dependency2"],
                          module.dependent_module_names)
Exemple #17
0
    def test_dependency_in_subdir(self):
        resource_finder = parse_deps.ResourceFinder([src_dir])
        module = parse_deps.Module('base.guid')
        module.load_and_parse(os.path.join(src_dir, 'base', 'guid.js'))
        filename, contents = resource_finder.find_and_load_module(
            module, 'tracing.tracks.track')

        assert filename

        self.assertTrue(
            os.path.samefile(
                filename, os.path.join(src_dir, 'tracing', 'tracks',
                                       'track.js')))
        expected_contents = ''
        with open(os.path.join(src_dir, 'tracing', 'tracks', 'track.js')) as f:
            expected_contents = f.read()
        self.assertEquals(contents, expected_contents)
Exemple #18
0
    def test_parse_definition_with_definition_in_comments(self):
        text = """// SomeComment
/*
 * All subclasses should depend on linux_perf_parser, e.g.
 *
 * base.require('linux_perf_parser');
 * base.exportTo('tracing', function() { });
 *
 */
'use strict';
base.require('dependency1');
base.require('dependency2');
"""
        module = parse_deps.Module('myModule')
        stripped_text = parse_deps._strip_js_comments(text)
        module.parse_definition_(stripped_text)
        self.assertEquals([], module.style_sheet_names)
        self.assertEquals(['dependency1', 'dependency2'],
                          module.dependent_module_names)
Exemple #19
0
  def test_module(self):
    resource_finder = ResourceFinderStub()
    resource_finder.add_module("y", "y.js", y_contents);
    resource_finder.add_module("z", "z.js", z_contents);

    x_module = parse_deps.Module("x")
    x_module.load_and_parse("x.js", x_contents)

    all_resources = {}
    x_module.resolve(all_resources, resource_finder)

    self.assertEquals([all_resources["scripts"]["y"],
                       all_resources["scripts"]["z"]],
                      x_module.dependent_modules)

    already_loaded_set = set()
    load_sequence = []
    x_module.compute_load_sequence_recursive(load_sequence, already_loaded_set)

    self.assertEquals([all_resources["scripts"]["z"],
                       all_resources["scripts"]["y"],
                       x_module],
                      load_sequence)
Exemple #20
0
    def test_module(self):
        resource_finder = ResourceFinderStub()
        resource_finder.add_module('y', 'y.js', y_contents)
        resource_finder.add_module('z', 'z.js', z_contents)

        x_module = parse_deps.Module('x')
        x_module.load_and_parse('x.js', x_contents)

        all_resources = {}
        x_module.resolve(all_resources, resource_finder)

        self.assertEquals(
            [all_resources['scripts']['y'], all_resources['scripts']['z']],
            x_module.dependent_modules)

        already_loaded_set = set()
        load_sequence = []
        x_module.compute_load_sequence_recursive(load_sequence,
                                                 already_loaded_set)

        self.assertEquals([
            all_resources['scripts']['z'], all_resources['scripts']['y'],
            x_module
        ], load_sequence)
Exemple #21
0
    def test_parse_dependency_with_slashes(self):
        text = """base.require("foo/dependency1")
"""
        module = parse_deps.Module("myModule")
        self.assertRaises(parse_deps.DepsException,
                          lambda: module.parse_definition_(text))