Exemplo n.º 1
0
    def test_generate_js_for_headless_import(self):
        html = """
        <link rel="import" href="/base/math.html">
        <script></script>
        <script src="/base/base/computer.js"></script>
        <link rel="import" href="/base/physics.html">

        <script>
              var html_lines = [
                '<script>',
                '< /script>',
              ];
        </script>

         <script>
          var i = '<link rel="import" href="/base/math.html">'
         </script>
        """
        parser = parse_html_deps.HTMLModuleParserResults(html)
        exepected_js = """loadHTML("base/math.html");
loadHTML("base/physics.html");
load("base/base/computer.js");
var html_lines = [
                '<script>',
                '< /script>',
              ];
var i = '<link rel="import" href="/base/math.html">'"""
        generated_js = parser.GenerateJSForHeadlessImport()
        self.assertEquals(generated_js, exepected_js)
Exemplo n.º 2
0
    def testMissingDocType(self):
        parse_results = parse_html_deps.HTMLModuleParserResults("")

        file_contents = {}

        def DoIt():
            html_module.Parse(FakeLoader(["/tmp"], file_contents), "a.b.start",
                              "/tmp/a/b/", parse_results)

        self.assertRaises(Exception, DoIt)
Exemplo n.º 3
0
    def testStyleSheetImport(self):
        parse_results = parse_html_deps.HTMLModuleParserResults(
            """<!DOCTYPE html>
      <link rel="stylesheet" href="../foo.css">
      """)

        file_contents = {}
        file_contents['/tmp/a/foo.css'] = """
"""
        metadata = html_module.Parse(FakeLoader(["/tmp"], file_contents),
                                     "a.b.start", "/tmp/a/b/", parse_results)
        self.assertEquals([], metadata.dependent_module_names)
        self.assertEquals(['a.foo'], metadata.style_sheet_names)
Exemplo n.º 4
0
    def testExternalScriptReferenceToFileThatDoesntExist(self):
        parse_results = parse_html_deps.HTMLModuleParserResults(
            """<!DOCTYPE html>
      <script src="/foo.js">
      """)

        file_contents = {}

        def DoIt():
            html_module.Parse(FakeLoader(["/tmp"], file_contents), "a.b.start",
                              "/tmp/a/b/", parse_results)

        self.assertRaises(Exception, DoIt)
Exemplo n.º 5
0
    def testUsingAbsoluteHref(self):
        parse_results = parse_html_deps.HTMLModuleParserResults(
            """<!DOCTYPE html>
      <script src="/foo.js">
      """)

        file_contents = {}
        file_contents['/src/foo.js'] = ''

        metadata = html_module.Parse(
            FakeLoader(["/tmp", "/src"], file_contents), "a.b.start",
            "/tmp/a/b/", parse_results)
        self.assertEquals(['foo.js'],
                          metadata.dependent_raw_script_relative_paths)
Exemplo n.º 6
0
    def testMissingDocType(self):
        parse_results = parse_html_deps.HTMLModuleParserResults('')

        file_contents = {}

        def DoIt():
            html_module.Parse(FakeLoader([os.path.normpath('/tmp')],
                                         file_contents),
                              'a.b.start',
                              '/tmp/a/b/',
                              is_component=False,
                              parser_results=parse_results)

        self.assertRaises(Exception, DoIt)
Exemplo n.º 7
0
  def testValidImportOfModule(self):
    parse_results = parse_html_deps.HTMLModuleParserResults("""<!DOCTYPE html>
      <link rel="import" href="../foo.html">
      """)

    file_contents = {}
    file_contents['/tmp/a/foo.html'] = """
"""

    metadata = html_module.Parse(FakeLoader(["/tmp"], file_contents),
                                 "a.b.start",
                                 "/tmp/a/b/",
                                 is_component=False,
                                 parser_results=parse_results)
    self.assertEquals(['a.foo'], metadata.dependent_module_names)
Exemplo n.º 8
0
  def testInlineScriptWithoutStrictNote(self):
    parse_results = parse_html_deps.HTMLModuleParserResults("""<!DOCTYPE html>
      <script>
console.log('Logging without strict mode is no fun.');
      </script>
      """)

    file_contents = {}
    def DoIt():
      metadata = html_module.Parse(FakeLoader(["/tmp"], file_contents),
                                   "a.b.start",
                                   "/tmp/a/b/",
                                   is_component=False,
                                   parser_results=parse_results)
    self.assertRaises(Exception, DoIt)
Exemplo n.º 9
0
  def testExternalScriptReferenceToModuleOutsideScriptPath(self):
    parse_results = parse_html_deps.HTMLModuleParserResults("""<!DOCTYPE html>
      <script src="/foo.js">
      """)

    file_contents = {}
    file_contents['/foo.js'] = ''

    def DoIt():
      html_module.Parse(FakeLoader(["/tmp"], file_contents),
                        "a.b.start",
                        "/tmp/a/b/",
                        is_component=False,
                        parser_results=parse_results)
    self.assertRaises(Exception, DoIt)
Exemplo n.º 10
0
    def testValidExternalScriptReferenceToRawScript(self):
        parse_results = parse_html_deps.HTMLModuleParserResults(
            """<!DOCTYPE html>
      <script src="../foo.js">
      """)

        file_contents = {}
        file_contents['/tmp/a/foo.js'] = """
'i am just some raw script';
"""

        metadata = html_module.Parse(FakeLoader(["/tmp"], file_contents),
                                     "a.b.start", "/tmp/a/b/", parse_results)
        self.assertEquals([], metadata.dependent_module_names)
        self.assertEquals(['a/foo.js'],
                          metadata.dependent_raw_script_relative_paths)
Exemplo n.º 11
0
    def testStyleSheetImport(self):
        parse_results = parse_html_deps.HTMLModuleParserResults(
            """<!DOCTYPE html>
      <link rel="stylesheet" href="../foo.css">
      """)

        file_contents = {}
        file_contents[os.path.normpath('/tmp/a/foo.css')] = """
"""
        metadata = html_module.Parse(FakeLoader([os.path.normpath('/tmp')],
                                                file_contents),
                                     'a.b.start',
                                     '/tmp/a/b/',
                                     is_component=False,
                                     parser_results=parse_results)
        self.assertEquals([], metadata.dependent_module_names)
        self.assertEquals(['a.foo'], metadata.style_sheet_names)
Exemplo n.º 12
0
    def testExternalScriptReferenceToFileThatDoesntExist(self):
        parse_results = parse_html_deps.HTMLModuleParserResults(
            """<!DOCTYPE html>
      <script src="/foo.js">
      """)

        file_contents = {}

        def DoIt():
            html_module.Parse(FakeLoader([os.path.normpath('/tmp')],
                                         file_contents),
                              'a.b.start',
                              '/tmp/a/b/',
                              is_component=False,
                              parser_results=parse_results)

        self.assertRaises(Exception, DoIt)