Merge "Replace all usage of fire with CustomEvent"
diff --git a/README.md b/README.md
index 41f6dfd..5ac6c4e 100644
--- a/README.md
+++ b/README.md
@@ -8,6 +8,8 @@
 After `bower install`, running `polymer test -l chrome` will run all tests in Chrome, and running `polymer serve`
 and navigating to http://127.0.0.1:8081/components/checks/gr-checks/gr-checks-view_test.html allows for manual debugging.
 
+The test file should be added to test/index.html if it needs to be run via `polymer test`.
+
 When upgrading the plugin, please use init:
 
     java -jar gerrit.war init -d site_path
diff --git a/gr-checks/gr-checkers-list_test.html b/gr-checks/gr-checkers-list_test.html
index 5e0fb47..11eb7f4 100644
--- a/gr-checks/gr-checkers-list_test.html
+++ b/gr-checks/gr-checkers-list_test.html
@@ -9,22 +9,6 @@
 <title>gr-checkers-list-view</title>
 <link rel="import" href="gr-checkers-list.html">
 
-<!-- Gr-overlay does not exist in the test framework
-It is expected to be provided by Gerrit core -->
-<dom-module id="gr-overlay">
-  <template>
-  </template>
-  <script>
-    readyToTest().then(() => {
-      Polymer({
-        is: 'gr-overlay',
-        refit() {},
-        open() { return Promise.resolve({}); },
-      });
-    });
-  </script>
-</dom-module>
-
 <test-fixture id="basic">
   <template is="dom-template">
     <gr-checkers-list
@@ -186,24 +170,29 @@
     await readyToTest();
     let element;
     let sandbox;
-    let fetchJSONSpy; let fetchJSONResolve;
+    let getSpy; let getResolve;
 
     setup(done => {
       sandbox = sinon.sandbox.create();
 
-      fetchJSONSpy = sinon.stub();
-      const fetchJSONPromise = new Promise((resolve, reject) => {
-        fetchJSONResolve = resolve;
+      getSpy = sinon.stub();
+      const getPromise = new Promise((resolve, reject) => {
+        getResolve = resolve;
       });
-      fetchJSONSpy.returns(fetchJSONPromise);
+      getSpy.returns(getPromise);
 
       const pluginRestApi = {
-        fetchJSON: fetchJSONSpy,
+        get: getSpy,
       };
 
       element = fixture('basic', {
         pluginRestApi,
       });
+
+      element.$.listOverlay.refit = () => {};
+      element.$.listOverlay.open = () => {
+        return Promise.resolve(() => {});
+      };
       flush(done);
     });
 
@@ -216,7 +205,7 @@
       const expectedHeadings = ['Checker Name', 'Repository', 'Status',
         'Required', 'Checker Description', 'Edit'];
       for (let i = 0; i < headings.length; i++) {
-        assert(headings[i].innerText === expectedHeadings[i]);
+        assert(headings[i].innerText.trim() === expectedHeadings[i]);
       }
     });
 
@@ -230,7 +219,7 @@
 
     suite('with checkers', () => {
       setup(done => {
-        fetchJSONResolve(CHECKERS);
+        getResolve(CHECKERS);
         element._showConfigureOverlay();
         flush(done);
       });
diff --git a/gr-checks/gr-checks-view.js b/gr-checks/gr-checks-view.js
index e1b5a5c..4329b5f 100644
--- a/gr-checks/gr-checks-view.js
+++ b/gr-checks/gr-checks-view.js
@@ -165,6 +165,7 @@
     },
 
     _handleRevisionUpdate(revision) {
+      if (!revision) return;
       this._currentPatchSet = revision._number;
     },
 
diff --git a/test/index.html b/test/index.html
index f132465..fa9b923 100644
--- a/test/index.html
+++ b/test/index.html
@@ -30,5 +30,6 @@
     '../gr-checks/gr-checks-item_test.html',
     '../gr-checks/gr-checks-status_test.html',
     '../gr-checks/gr-checks-view_test.html',
+    '../gr-checks/gr-checkers-list_test.html'
   ]);
 </script>
\ No newline at end of file