<!doctype html>
<body>
  <script src=/resources/testharness.js></script>
  <script src=/resources/testharnessreport.js></script>
  <script src=/common/utils.js></script>
  <script src=/browsing-topics/resources/load_img.sub.js></script>
  <script>
    const EMPTY_TOPICS_HEADER = '();p=P0000000000000000000000000000000';

    promise_test(async () => {
      const topics_header  = await load_topics_image(
          /*has_browsing_topics_attribute=*/false, /*is_same_origin=*/true);
      assert_equals(topics_header, 'NO_TOPICS_HEADER');
    }, 'test <img src=[url]></img>');
    promise_test(async () => {
      const topics_header = await load_topics_image(
          /*has_browsing_topics_attribute=*/true, /*is_same_origin=*/true);
      assert_equals(topics_header, EMPTY_TOPICS_HEADER);
    }, 'test <img browsingtopics src=[url]></img>');

  </script>
</body>

