Convert polygerrit to es6-modules

This change replace all HTML imports with es6-modules. The only exceptions are:
* gr-app.html file, which can be deleted only after updating the
  gerrit/httpd/raw/PolyGerritIndexHtml.soy file.
* dark-theme.html which is loaded via importHref. Must be updated manually
  later in a separate change.

This change was produced automatically by ./es6-modules-converter.sh script.
No manual changes were made.

Change-Id: I0c447dd8c05757741e2c940720652d01d9fb7d67
diff --git a/polygerrit-ui/app/elements/change/gr-reviewer-list/gr-reviewer-list_test.html b/polygerrit-ui/app/elements/change/gr-reviewer-list/gr-reviewer-list_test.html
index be65a86..627fa10 100644
--- a/polygerrit-ui/app/elements/change/gr-reviewer-list/gr-reviewer-list_test.html
+++ b/polygerrit-ui/app/elements/change/gr-reviewer-list/gr-reviewer-list_test.html
@@ -19,15 +19,20 @@
 <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes">
 <title>gr-reviewer-list</title>
 
-<script src="/bower_components/webcomponentsjs/custom-elements-es5-adapter.js"></script>
+<script src="/node_modules/@webcomponents/webcomponentsjs/custom-elements-es5-adapter.js"></script>
 
-<script src="/bower_components/webcomponentsjs/webcomponents-lite.js"></script>
-<script src="/bower_components/web-component-tester/browser.js"></script>
-<script src="../../../test/test-pre-setup.js"></script>
-<link rel="import" href="../../../test/common-test-setup.html"/>
-<link rel="import" href="gr-reviewer-list.html">
+<script src="/node_modules/@webcomponents/webcomponentsjs/webcomponents-lite.js"></script>
+<script src="/components/wct-browser-legacy/browser.js"></script>
+<script type="module" src="../../../test/test-pre-setup.js"></script>
+<script type="module" src="../../../test/common-test-setup.js"></script>
+<script type="module" src="./gr-reviewer-list.js"></script>
 
-<script>void(0);</script>
+<script type="module">
+import '../../../test/test-pre-setup.js';
+import '../../../test/common-test-setup.js';
+import './gr-reviewer-list.js';
+void(0);
+</script>
 
 <test-fixture id="basic">
   <template>
@@ -35,78 +40,66 @@
   </template>
 </test-fixture>
 
-<script>
-  suite('gr-reviewer-list tests', async () => {
-    await readyToTest();
-    let element;
-    let sandbox;
+<script type="module">
+import '../../../test/test-pre-setup.js';
+import '../../../test/common-test-setup.js';
+import './gr-reviewer-list.js';
+import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
+suite('gr-reviewer-list tests', () => {
+  let element;
+  let sandbox;
 
-    setup(() => {
-      element = fixture('basic');
-      sandbox = sinon.sandbox.create();
-      stub('gr-rest-api-interface', {
-        getConfig() { return Promise.resolve({}); },
-        removeChangeReviewer() {
-          return Promise.resolve({ok: true});
-        },
-      });
+  setup(() => {
+    element = fixture('basic');
+    sandbox = sinon.sandbox.create();
+    stub('gr-rest-api-interface', {
+      getConfig() { return Promise.resolve({}); },
+      removeChangeReviewer() {
+        return Promise.resolve({ok: true});
+      },
     });
+  });
 
-    teardown(() => {
-      sandbox.restore();
+  teardown(() => {
+    sandbox.restore();
+  });
+
+  test('controls hidden on immutable element', () => {
+    element.mutable = false;
+    assert.isTrue(element.shadowRoot
+        .querySelector('.controlsContainer').hasAttribute('hidden'));
+    element.mutable = true;
+    assert.isFalse(element.shadowRoot
+        .querySelector('.controlsContainer').hasAttribute('hidden'));
+  });
+
+  test('add reviewer button opens reply dialog', done => {
+    element.addEventListener('show-reply-dialog', () => {
+      done();
     });
+    MockInteractions.tap(element.shadowRoot
+        .querySelector('.addReviewer'));
+  });
 
-    test('controls hidden on immutable element', () => {
-      element.mutable = false;
-      assert.isTrue(element.shadowRoot
-          .querySelector('.controlsContainer').hasAttribute('hidden'));
-      element.mutable = true;
-      assert.isFalse(element.shadowRoot
-          .querySelector('.controlsContainer').hasAttribute('hidden'));
-    });
-
-    test('add reviewer button opens reply dialog', done => {
-      element.addEventListener('show-reply-dialog', () => {
-        done();
-      });
-      MockInteractions.tap(element.shadowRoot
-          .querySelector('.addReviewer'));
-    });
-
-    test('only show remove for removable reviewers', () => {
-      element.mutable = true;
-      element.change = {
-        owner: {
-          _account_id: 1,
-        },
-        reviewers: {
-          REVIEWER: [
-            {
-              _account_id: 2,
-              name: 'Bojack Horseman',
-              email: 'SecretariatRulez96@hotmail.com',
-            },
-            {
-              _account_id: 3,
-              name: 'Pinky Penguin',
-            },
-          ],
-          CC: [
-            {
-              _account_id: 4,
-              name: 'Diane Nguyen',
-              email: 'macarthurfellow2B@juno.com',
-            },
-            {
-              email: 'test@e.mail',
-            },
-          ],
-        },
-        removable_reviewers: [
+  test('only show remove for removable reviewers', () => {
+    element.mutable = true;
+    element.change = {
+      owner: {
+        _account_id: 1,
+      },
+      reviewers: {
+        REVIEWER: [
+          {
+            _account_id: 2,
+            name: 'Bojack Horseman',
+            email: 'SecretariatRulez96@hotmail.com',
+          },
           {
             _account_id: 3,
             name: 'Pinky Penguin',
           },
+        ],
+        CC: [
           {
             _account_id: 4,
             name: 'Diane Nguyen',
@@ -116,230 +109,245 @@
             email: 'test@e.mail',
           },
         ],
-      };
-      flushAsynchronousOperations();
-      const chips =
-          Polymer.dom(element.root).querySelectorAll('gr-account-chip');
-      assert.equal(chips.length, 4);
+      },
+      removable_reviewers: [
+        {
+          _account_id: 3,
+          name: 'Pinky Penguin',
+        },
+        {
+          _account_id: 4,
+          name: 'Diane Nguyen',
+          email: 'macarthurfellow2B@juno.com',
+        },
+        {
+          email: 'test@e.mail',
+        },
+      ],
+    };
+    flushAsynchronousOperations();
+    const chips =
+        dom(element.root).querySelectorAll('gr-account-chip');
+    assert.equal(chips.length, 4);
 
-      for (const el of Array.from(chips)) {
-        const accountID = el.account._account_id || el.account.email;
-        assert.ok(accountID);
+    for (const el of Array.from(chips)) {
+      const accountID = el.account._account_id || el.account.email;
+      assert.ok(accountID);
 
-        const buttonEl = el.shadowRoot
-            .querySelector('gr-button');
-        assert.isNotNull(buttonEl);
-        if (accountID == 2) {
-          assert.isTrue(buttonEl.hasAttribute('hidden'));
-        } else {
-          assert.isFalse(buttonEl.hasAttribute('hidden'));
-        }
+      const buttonEl = el.shadowRoot
+          .querySelector('gr-button');
+      assert.isNotNull(buttonEl);
+      if (accountID == 2) {
+        assert.isTrue(buttonEl.hasAttribute('hidden'));
+      } else {
+        assert.isFalse(buttonEl.hasAttribute('hidden'));
       }
-    });
-
-    test('tracking reviewers and ccs', () => {
-      let counter = 0;
-      function makeAccount() {
-        return {_account_id: counter++};
-      }
-
-      const owner = makeAccount();
-      const reviewer = makeAccount();
-      const cc = makeAccount();
-      const reviewers = {
-        REMOVED: [makeAccount()],
-        REVIEWER: [owner, reviewer],
-        CC: [owner, cc],
-      };
-
-      element.ccsOnly = false;
-      element.reviewersOnly = false;
-      element.change = {
-        owner,
-        reviewers,
-      };
-      assert.deepEqual(element._reviewers, [reviewer, cc]);
-
-      element.reviewersOnly = true;
-      element.change = {
-        owner,
-        reviewers,
-      };
-      assert.deepEqual(element._reviewers, [reviewer]);
-
-      element.ccsOnly = true;
-      element.reviewersOnly = false;
-      element.change = {
-        owner,
-        reviewers,
-      };
-      assert.deepEqual(element._reviewers, [cc]);
-    });
-
-    test('_handleAddTap passes mode with event', () => {
-      const fireStub = sandbox.stub(element, 'fire');
-      const e = {preventDefault() {}};
-
-      element.ccsOnly = false;
-      element.reviewersOnly = false;
-      element._handleAddTap(e);
-      assert.isTrue(fireStub.calledWith('show-reply-dialog', {value: {}}));
-
-      element.reviewersOnly = true;
-      element._handleAddTap(e);
-      assert.isTrue(fireStub.lastCall.calledWith('show-reply-dialog',
-          {value: {reviewersOnly: true}}));
-
-      element.ccsOnly = true;
-      element.reviewersOnly = false;
-      element._handleAddTap(e);
-      assert.isTrue(fireStub.lastCall.calledWith('show-reply-dialog',
-          {value: {ccsOnly: true}}));
-    });
-
-    test('no show all reviewers button with 6 reviewers', () => {
-      const reviewers = [];
-      element.maxReviewersDisplayed = 5;
-      for (let i = 0; i < 6; i++) {
-        reviewers.push(
-            {email: i+'reviewer@google.com', name: 'reviewer-' + i});
-      }
-      element.ccsOnly = true;
-
-      element.change = {
-        owner: {
-          _account_id: 1,
-        },
-        reviewers: {
-          CC: reviewers,
-        },
-      };
-      assert.equal(element._hiddenReviewerCount, 0);
-      assert.equal(element._displayedReviewers.length, 6);
-      assert.equal(element._reviewers.length, 6);
-      assert.isTrue(element.shadowRoot
-          .querySelector('.hiddenReviewers').hidden);
-    });
-
-    test('show all reviewers button with 8 reviewers', () => {
-      const reviewers = [];
-      element.maxReviewersDisplayed = 5;
-      for (let i = 0; i < 8; i++) {
-        reviewers.push(
-            {email: i+'reviewer@google.com', name: 'reviewer-' + i});
-      }
-      element.ccsOnly = true;
-
-      element.change = {
-        owner: {
-          _account_id: 1,
-        },
-        reviewers: {
-          CC: reviewers,
-        },
-      };
-      assert.equal(element._hiddenReviewerCount, 3);
-      assert.equal(element._displayedReviewers.length, 5);
-      assert.equal(element._reviewers.length, 8);
-      assert.isFalse(element.shadowRoot
-          .querySelector('.hiddenReviewers').hidden);
-    });
-
-    test('no maxReviewersDisplayed', () => {
-      const reviewers = [];
-      for (let i = 0; i < 7; i++) {
-        reviewers.push(
-            {email: i+'reviewer@google.com', name: 'reviewer-' + i});
-      }
-      element.ccsOnly = true;
-
-      element.change = {
-        owner: {
-          _account_id: 1,
-        },
-        reviewers: {
-          CC: reviewers,
-        },
-      };
-      assert.equal(element._hiddenReviewerCount, 0);
-      assert.equal(element._displayedReviewers.length, 7);
-      assert.equal(element._reviewers.length, 7);
-      assert.isTrue(element.shadowRoot
-          .querySelector('.hiddenReviewers').hidden);
-    });
-
-    test('show all reviewers button', () => {
-      const reviewers = [];
-      element.maxReviewersDisplayed = 5;
-      for (let i = 0; i < 100; i++) {
-        reviewers.push(
-            {email: i+'reviewer@google.com', name: 'reviewer-' + i});
-      }
-      element.ccsOnly = true;
-
-      element.change = {
-        owner: {
-          _account_id: 1,
-        },
-        reviewers: {
-          CC: reviewers,
-        },
-      };
-      assert.equal(element._hiddenReviewerCount, 95);
-      assert.equal(element._displayedReviewers.length, 5);
-      assert.equal(element._reviewers.length, 100);
-      assert.isFalse(element.shadowRoot
-          .querySelector('.hiddenReviewers').hidden);
-
-      MockInteractions.tap(element.shadowRoot
-          .querySelector('.hiddenReviewers'));
-
-      assert.equal(element._hiddenReviewerCount, 0);
-      assert.equal(element._displayedReviewers.length, 100);
-      assert.equal(element._reviewers.length, 100);
-      assert.isTrue(element.shadowRoot
-          .querySelector('.hiddenReviewers').hidden);
-    });
-
-    test('votable labels', () => {
-      const change = {
-        labels: {
-          Foo: {
-            all: [{_account_id: 7, permitted_voting_range: {max: 2}}],
-          },
-          Bar: {
-            all: [{_account_id: 1, permitted_voting_range: {max: 1}},
-              {_account_id: 7, permitted_voting_range: {max: 1}}],
-          },
-          FooBar: {
-            all: [{_account_id: 7, value: 0}],
-          },
-        },
-        permitted_labels: {
-          Foo: ['-1', ' 0', '+1', '+2'],
-          FooBar: ['-1', ' 0'],
-        },
-      };
-      assert.strictEqual(
-          element._computeReviewerTooltip({_account_id: 1}, change),
-          'Votable: Bar');
-      assert.strictEqual(
-          element._computeReviewerTooltip({_account_id: 7}, change),
-          'Votable: Foo: +2, Bar, FooBar');
-      assert.strictEqual(
-          element._computeReviewerTooltip({_account_id: 2}, change),
-          '');
-    });
-
-    test('fails gracefully when all is not included', () => {
-      const change = {
-        labels: {Foo: {}},
-        permitted_labels: {
-          Foo: ['-1', ' 0', '+1', '+2'],
-        },
-      };
-      assert.strictEqual(
-          element._computeReviewerTooltip({_account_id: 1}, change), '');
-    });
+    }
   });
+
+  test('tracking reviewers and ccs', () => {
+    let counter = 0;
+    function makeAccount() {
+      return {_account_id: counter++};
+    }
+
+    const owner = makeAccount();
+    const reviewer = makeAccount();
+    const cc = makeAccount();
+    const reviewers = {
+      REMOVED: [makeAccount()],
+      REVIEWER: [owner, reviewer],
+      CC: [owner, cc],
+    };
+
+    element.ccsOnly = false;
+    element.reviewersOnly = false;
+    element.change = {
+      owner,
+      reviewers,
+    };
+    assert.deepEqual(element._reviewers, [reviewer, cc]);
+
+    element.reviewersOnly = true;
+    element.change = {
+      owner,
+      reviewers,
+    };
+    assert.deepEqual(element._reviewers, [reviewer]);
+
+    element.ccsOnly = true;
+    element.reviewersOnly = false;
+    element.change = {
+      owner,
+      reviewers,
+    };
+    assert.deepEqual(element._reviewers, [cc]);
+  });
+
+  test('_handleAddTap passes mode with event', () => {
+    const fireStub = sandbox.stub(element, 'fire');
+    const e = {preventDefault() {}};
+
+    element.ccsOnly = false;
+    element.reviewersOnly = false;
+    element._handleAddTap(e);
+    assert.isTrue(fireStub.calledWith('show-reply-dialog', {value: {}}));
+
+    element.reviewersOnly = true;
+    element._handleAddTap(e);
+    assert.isTrue(fireStub.lastCall.calledWith('show-reply-dialog',
+        {value: {reviewersOnly: true}}));
+
+    element.ccsOnly = true;
+    element.reviewersOnly = false;
+    element._handleAddTap(e);
+    assert.isTrue(fireStub.lastCall.calledWith('show-reply-dialog',
+        {value: {ccsOnly: true}}));
+  });
+
+  test('no show all reviewers button with 6 reviewers', () => {
+    const reviewers = [];
+    element.maxReviewersDisplayed = 5;
+    for (let i = 0; i < 6; i++) {
+      reviewers.push(
+          {email: i+'reviewer@google.com', name: 'reviewer-' + i});
+    }
+    element.ccsOnly = true;
+
+    element.change = {
+      owner: {
+        _account_id: 1,
+      },
+      reviewers: {
+        CC: reviewers,
+      },
+    };
+    assert.equal(element._hiddenReviewerCount, 0);
+    assert.equal(element._displayedReviewers.length, 6);
+    assert.equal(element._reviewers.length, 6);
+    assert.isTrue(element.shadowRoot
+        .querySelector('.hiddenReviewers').hidden);
+  });
+
+  test('show all reviewers button with 8 reviewers', () => {
+    const reviewers = [];
+    element.maxReviewersDisplayed = 5;
+    for (let i = 0; i < 8; i++) {
+      reviewers.push(
+          {email: i+'reviewer@google.com', name: 'reviewer-' + i});
+    }
+    element.ccsOnly = true;
+
+    element.change = {
+      owner: {
+        _account_id: 1,
+      },
+      reviewers: {
+        CC: reviewers,
+      },
+    };
+    assert.equal(element._hiddenReviewerCount, 3);
+    assert.equal(element._displayedReviewers.length, 5);
+    assert.equal(element._reviewers.length, 8);
+    assert.isFalse(element.shadowRoot
+        .querySelector('.hiddenReviewers').hidden);
+  });
+
+  test('no maxReviewersDisplayed', () => {
+    const reviewers = [];
+    for (let i = 0; i < 7; i++) {
+      reviewers.push(
+          {email: i+'reviewer@google.com', name: 'reviewer-' + i});
+    }
+    element.ccsOnly = true;
+
+    element.change = {
+      owner: {
+        _account_id: 1,
+      },
+      reviewers: {
+        CC: reviewers,
+      },
+    };
+    assert.equal(element._hiddenReviewerCount, 0);
+    assert.equal(element._displayedReviewers.length, 7);
+    assert.equal(element._reviewers.length, 7);
+    assert.isTrue(element.shadowRoot
+        .querySelector('.hiddenReviewers').hidden);
+  });
+
+  test('show all reviewers button', () => {
+    const reviewers = [];
+    element.maxReviewersDisplayed = 5;
+    for (let i = 0; i < 100; i++) {
+      reviewers.push(
+          {email: i+'reviewer@google.com', name: 'reviewer-' + i});
+    }
+    element.ccsOnly = true;
+
+    element.change = {
+      owner: {
+        _account_id: 1,
+      },
+      reviewers: {
+        CC: reviewers,
+      },
+    };
+    assert.equal(element._hiddenReviewerCount, 95);
+    assert.equal(element._displayedReviewers.length, 5);
+    assert.equal(element._reviewers.length, 100);
+    assert.isFalse(element.shadowRoot
+        .querySelector('.hiddenReviewers').hidden);
+
+    MockInteractions.tap(element.shadowRoot
+        .querySelector('.hiddenReviewers'));
+
+    assert.equal(element._hiddenReviewerCount, 0);
+    assert.equal(element._displayedReviewers.length, 100);
+    assert.equal(element._reviewers.length, 100);
+    assert.isTrue(element.shadowRoot
+        .querySelector('.hiddenReviewers').hidden);
+  });
+
+  test('votable labels', () => {
+    const change = {
+      labels: {
+        Foo: {
+          all: [{_account_id: 7, permitted_voting_range: {max: 2}}],
+        },
+        Bar: {
+          all: [{_account_id: 1, permitted_voting_range: {max: 1}},
+            {_account_id: 7, permitted_voting_range: {max: 1}}],
+        },
+        FooBar: {
+          all: [{_account_id: 7, value: 0}],
+        },
+      },
+      permitted_labels: {
+        Foo: ['-1', ' 0', '+1', '+2'],
+        FooBar: ['-1', ' 0'],
+      },
+    };
+    assert.strictEqual(
+        element._computeReviewerTooltip({_account_id: 1}, change),
+        'Votable: Bar');
+    assert.strictEqual(
+        element._computeReviewerTooltip({_account_id: 7}, change),
+        'Votable: Foo: +2, Bar, FooBar');
+    assert.strictEqual(
+        element._computeReviewerTooltip({_account_id: 2}, change),
+        '');
+  });
+
+  test('fails gracefully when all is not included', () => {
+    const change = {
+      labels: {Foo: {}},
+      permitted_labels: {
+        Foo: ['-1', ' 0', '+1', '+2'],
+      },
+    };
+    assert.strictEqual(
+        element._computeReviewerTooltip({_account_id: 1}, change), '');
+  });
+});
 </script>