ES6ify /gr-messages-list/*

Bug: Issue 6179
Change-Id: I3653221a664c9e5624a948a5cdc6306a5aaf910a
diff --git a/polygerrit-ui/app/elements/change/gr-messages-list/gr-messages-list.js b/polygerrit-ui/app/elements/change/gr-messages-list/gr-messages-list.js
index 8750e9d..ebdb4dc 100644
--- a/polygerrit-ui/app/elements/change/gr-messages-list/gr-messages-list.js
+++ b/polygerrit-ui/app/elements/change/gr-messages-list/gr-messages-list.js
@@ -14,10 +14,10 @@
 (function() {
   'use strict';
 
-  var MAX_INITIAL_SHOWN_MESSAGES = 20;
-  var MESSAGES_INCREMENT = 5;
+  const MAX_INITIAL_SHOWN_MESSAGES = 20;
+  const MESSAGES_INCREMENT = 5;
 
-  var ReportingEvent = {
+  const ReportingEvent = {
     SHOW_ALL: 'show-all-messages',
     SHOW_MORE: 'show-more-messages',
   };
@@ -29,11 +29,11 @@
       changeNum: Number,
       messages: {
         type: Array,
-        value: function() { return []; },
+        value() { return []; },
       },
       reviewerUpdates: {
         type: Array,
-        value: function() { return []; },
+        value() { return []; },
       },
       comments: Object,
       projectConfig: Object,
@@ -64,34 +64,35 @@
        */
       _visibleMessages: {
         type: Array,
-        value: function() { return []; },
+        value() { return []; },
       },
     },
 
-    scrollToMessage: function(messageID) {
-      var el = this.$$('[data-message-id="' + messageID + '"]');
+    scrollToMessage(messageID) {
+      let el = this.$$('[data-message-id="' + messageID + '"]');
       // If the message is hidden, expand the hidden messages back to that
       // point.
       if (!el) {
-        for (var index = 0; index < this._processedMessages.length; index++) {
+        let index;
+        for (index = 0; index < this._processedMessages.length; index++) {
           if (this._processedMessages[index].id === messageID) {
             break;
           }
         }
         if (index === this._processedMessages.length) { return; }
 
-        var newMessages = this._processedMessages.slice(index,
+        const newMessages = this._processedMessages.slice(index,
             -this._visibleMessages.length);
         // Add newMessages to the beginning of _visibleMessages.
-        this.splice.apply(this, ['_visibleMessages', 0, 0].concat(newMessages));
+        this.splice(...['_visibleMessages', 0, 0].concat(newMessages));
         // Allow the dom-repeat to stamp.
         Polymer.dom.flush();
         el = this.$$('[data-message-id="' + messageID + '"]');
       }
 
       el.set('message.expanded', true);
-      var top = el.offsetTop;
-      for (var offsetParent = el.offsetParent;
+      let top = el.offsetTop;
+      for (let offsetParent = el.offsetParent;
            offsetParent;
            offsetParent = offsetParent.offsetParent) {
         top += offsetParent.offsetTop;
@@ -100,20 +101,20 @@
       this._highlightEl(el);
     },
 
-    _isAutomated: function(message) {
+    _isAutomated(message) {
       return !!(message.reviewer ||
-          (message.tag && message.tag.indexOf('autogenerated') === 0));
+          (message.tag && message.tag.startsWith('autogenerated')));
     },
 
-    _computeItems: function(messages, reviewerUpdates) {
+    _computeItems(messages, reviewerUpdates) {
       messages = messages || [];
       reviewerUpdates = reviewerUpdates || [];
-      var mi = 0;
-      var ri = 0;
-      var result = [];
-      var mDate;
-      var rDate;
-      for (var i = 0; i < messages.length; i++) {
+      let mi = 0;
+      let ri = 0;
+      let result = [];
+      let mDate;
+      let rDate;
+      for (let i = 0; i < messages.length; i++) {
         messages[i]._index = i;
       }
 
@@ -139,8 +140,8 @@
       return result;
     },
 
-    _expandedChanged: function(exp) {
-      for (var i = 0; i < this._processedMessages.length; i++) {
+    _expandedChanged(exp) {
+      for (let i = 0; i < this._processedMessages.length; i++) {
         this._processedMessages[i].expanded = exp;
         if (i < this._visibleMessages.length) {
           this.set(['_visibleMessages', i, 'expanded'], exp);
@@ -148,11 +149,11 @@
       }
     },
 
-    _highlightEl: function(el) {
-      var highlightedEls =
+    _highlightEl(el) {
+      const highlightedEls =
           Polymer.dom(this.root).querySelectorAll('.highlighted');
-      for (var i = 0; i < highlightedEls.length; i++) {
-        highlightedEls[i].classList.remove('highlighted');
+      for (const highlighedEl of highlightedEls) {
+        highlighedEl.classList.remove('highlighted');
       }
       function handleAnimationEnd() {
         el.removeEventListener('animationend', handleAnimationEnd);
@@ -165,39 +166,40 @@
     /**
      * @param {boolean} expand
      */
-    handleExpandCollapse: function(expand) {
+    handleExpandCollapse(expand) {
       this._expanded = expand;
     },
 
-    _handleExpandCollapseTap: function(e) {
+    _handleExpandCollapseTap(e) {
       e.preventDefault();
       this.handleExpandCollapse(!this._expanded);
     },
 
-    _handleAutomatedMessageToggleTap: function(e) {
+    _handleAutomatedMessageToggleTap(e) {
       e.preventDefault();
 
       this._hideAutomated = !this._hideAutomated;
     },
 
-    _handleScrollTo: function(e) {
+    _handleScrollTo(e) {
       this.scrollToMessage(e.detail.message.id);
     },
 
-    _hasAutomatedMessages: function(messages) {
-      for (var i = 0; messages && i < messages.length; i++) {
-        if (this._isAutomated(messages[i])) {
+    _hasAutomatedMessages(messages) {
+      if (!messages) { return false; }
+      for (const message of messages) {
+        if (this._isAutomated(message)) {
           return true;
         }
       }
       return false;
     },
 
-    _computeExpandCollapseMessage: function(expanded) {
+    _computeExpandCollapseMessage(expanded) {
       return expanded ? 'Collapse all' : 'Expand all';
     },
 
-    _computeAutomatedToggleText: function(hideAutomated) {
+    _computeAutomatedToggleText(hideAutomated) {
       return hideAutomated ? 'Show all messages' : 'Show comments only';
     },
 
@@ -209,18 +211,18 @@
      * @param {!Object} message
      * @return {!Object} Hash of arrays of comments, filename as key.
      */
-    _computeCommentsForMessage: function(comments, message) {
+    _computeCommentsForMessage(comments, message) {
       if (message._index === undefined || !comments || !this.messages) {
         return [];
       }
-      var messages = this.messages || [];
-      var index = message._index;
-      var authorId = message.author && message.author._account_id;
-      var mDate = util.parseDate(message.date).getTime();
+      const messages = this.messages || [];
+      const index = message._index;
+      const authorId = message.author && message.author._account_id;
+      const mDate = util.parseDate(message.date).getTime();
       // NB: Messages array has oldest messages first.
-      var nextMDate;
+      let nextMDate;
       if (index > 0) {
-        for (var i = index - 1; i >= 0; i--) {
+        for (let i = index - 1; i >= 0; i--) {
           if (messages[i] && messages[i].author &&
               messages[i].author._account_id === authorId) {
             nextMDate = util.parseDate(messages[i].date).getTime();
@@ -228,15 +230,16 @@
           }
         }
       }
-      var msgComments = {};
-      for (var file in comments) {
-        var fileComments = comments[file];
-        for (var i = 0; i < fileComments.length; i++) {
+      const msgComments = {};
+      for (const file in comments) {
+        if (!comments.hasOwnProperty(file)) { continue; }
+        const fileComments = comments[file];
+        for (let i = 0; i < fileComments.length; i++) {
           if (fileComments[i].author &&
               fileComments[i].author._account_id !== authorId) {
             continue;
           }
-          var cDate = util.parseDate(fileComments[i].updated).getTime();
+          const cDate = util.parseDate(fileComments[i].updated).getTime();
           if (cDate <= mDate) {
             if (nextMDate && cDate <= nextMDate) {
               continue;
@@ -255,12 +258,12 @@
      * remaining in the list and the number of messages needed to display five
      * more visible messages in the list.
      */
-    _getDelta: function(visibleMessages, messages, hideAutomated) {
-      var delta = MESSAGES_INCREMENT;
-      var msgsRemaining = messages.length - visibleMessages.length;
+    _getDelta(visibleMessages, messages, hideAutomated) {
+      let delta = MESSAGES_INCREMENT;
+      const msgsRemaining = messages.length - visibleMessages.length;
       if (hideAutomated) {
-        var counter = 0;
-        var i;
+        let counter = 0;
+        let i;
         for (i = msgsRemaining; i > 0 && counter < MESSAGES_INCREMENT; i--) {
           if (!this._isAutomated(messages[i - 1])) { counter++; }
         }
@@ -273,7 +276,7 @@
      * Gets the number of messages that would be visible, but do not currently
      * exist in _visibleMessages.
      */
-    _numRemaining: function(visibleMessages, messages, hideAutomated) {
+    _numRemaining(visibleMessages, messages, hideAutomated) {
       if (hideAutomated) {
         return this._getHumanMessages(messages).length -
             this._getHumanMessages(visibleMessages).length;
@@ -281,20 +284,20 @@
       return messages.length - visibleMessages.length;
     },
 
-    _computeIncrementText: function(visibleMessages, messages, hideAutomated) {
-      var delta = this._getDelta(visibleMessages, messages, hideAutomated);
+    _computeIncrementText(visibleMessages, messages, hideAutomated) {
+      let delta = this._getDelta(visibleMessages, messages, hideAutomated);
       delta = Math.min(
           this._numRemaining(visibleMessages, messages, hideAutomated), delta);
       return 'Show ' + Math.min(MESSAGES_INCREMENT, delta) + ' more';
     },
 
-    _getHumanMessages: function(messages) {
-      return messages.filter(function(msg) {
+    _getHumanMessages(messages) {
+      return messages.filter(msg => {
         return !this._isAutomated(msg);
-      }.bind(this));
+      });
     },
 
-    _computeShowHideTextHidden: function(visibleMessages, messages,
+    _computeShowHideTextHidden(visibleMessages, messages,
         hideAutomated) {
       if (hideAutomated) {
         messages = this._getHumanMessages(messages);
@@ -303,34 +306,36 @@
       return visibleMessages.length >= messages.length;
     },
 
-    _handleShowAllTap: function() {
+    _handleShowAllTap() {
       this._visibleMessages = this._processedMessages;
       this.$.reporting.reportInteraction(ReportingEvent.SHOW_ALL);
     },
 
-    _handleIncrementShownMessages: function() {
-      var delta = this._getDelta(this._visibleMessages, this._processedMessages,
-          this._hideAutomated);
-      var len = this._visibleMessages.length;
-      var newMessages = this._processedMessages.slice(-(len + delta), -len);
+    _handleIncrementShownMessages() {
+      const delta = this._getDelta(this._visibleMessages,
+          this._processedMessages, this._hideAutomated);
+      const len = this._visibleMessages.length;
+      const newMessages = this._processedMessages.slice(-(len + delta), -len);
       // Add newMessages to the beginning of _visibleMessages
-      this.splice.apply(this, ['_visibleMessages', 0, 0].concat(newMessages));
+      this.splice(...['_visibleMessages', 0, 0].concat(newMessages));
       this.$.reporting.reportInteraction(ReportingEvent.SHOW_MORE);
     },
 
-    _processedMessagesChanged: function(messages) {
+    _processedMessagesChanged(messages) {
       this._visibleMessages = messages.slice(-MAX_INITIAL_SHOWN_MESSAGES);
     },
 
-    _computeNumMessagesText: function(visibleMessages, messages,
+    _computeNumMessagesText(visibleMessages, messages,
         hideAutomated) {
-      var total = this._numRemaining(visibleMessages, messages, hideAutomated);
+      const total =
+          this._numRemaining(visibleMessages, messages, hideAutomated);
       return total === 1 ? 'Show 1 message' : 'Show all ' + total + ' messages';
     },
 
-    _computeIncrementHidden: function(visibleMessages, messages,
+    _computeIncrementHidden(visibleMessages, messages,
         hideAutomated) {
-      var total = this._numRemaining(visibleMessages, messages, hideAutomated);
+      const total =
+          this._numRemaining(visibleMessages, messages, hideAutomated);
       return total <= this._getDelta(visibleMessages, messages, hideAutomated);
     },
   });
diff --git a/polygerrit-ui/app/elements/change/gr-messages-list/gr-messages-list_test.html b/polygerrit-ui/app/elements/change/gr-messages-list/gr-messages-list_test.html
index 23fc5aa..f6f2764 100644
--- a/polygerrit-ui/app/elements/change/gr-messages-list/gr-messages-list_test.html
+++ b/polygerrit-ui/app/elements/change/gr-messages-list/gr-messages-list_test.html
@@ -34,9 +34,9 @@
 
 <script>
 
-  var randomMessage = function(opt_params) {
-    var params = opt_params || {};
-    var author1 = {
+  const randomMessage = function(opt_params) {
+    const params = opt_params || {};
+    const author1 = {
       _account_id: 1115495,
       name: 'Andrew Bonventre',
       email: 'andybons@chromium.org',
@@ -50,24 +50,24 @@
     };
   };
 
-  var randomAutomated = function(opt_params) {
+  const randomAutomated = function(opt_params) {
     return Object.assign({tag: 'autogenerated:gerrit:replace'},
         randomMessage(opt_params));
   };
 
-  suite('gr-messages-list tests', function() {
-    var element;
-    var messages;
-    var sandbox;
+  suite('gr-messages-list tests', () => {
+    let element;
+    let messages;
+    let sandbox;
 
-    var getMessages = function() {
+    const getMessages = function() {
       return Polymer.dom(element.root).querySelectorAll('gr-message');
     };
 
-    setup(function() {
+    setup(() => {
       stub('gr-rest-api-interface', {
-        getConfig: function() { return Promise.resolve({}); },
-        getLoggedIn: function() { return Promise.resolve(false); },
+        getConfig() { return Promise.resolve({}); },
+        getLoggedIn() { return Promise.resolve(false); },
       });
       sandbox = sinon.sandbox.create();
       element = fixture('basic');
@@ -76,11 +76,11 @@
       flushAsynchronousOperations();
     });
 
-    teardown(function() {
+    teardown(() => {
       sandbox.restore();
     });
 
-    test('show some old messages', function() {
+    test('show some old messages', () => {
       assert.isTrue(element.$.messageControlsContainer.hasAttribute('hidden'));
       element.messages = _.times(26, randomMessage);
       flushAsynchronousOperations();
@@ -102,7 +102,7 @@
       assert.equal(getMessages().length, 26);
     });
 
-    test('show all old messages', function() {
+    test('show all old messages', () => {
       assert.isTrue(element.$.messageControlsContainer.hasAttribute('hidden'));
       element.messages = _.times(26, randomMessage);
       flushAsynchronousOperations();
@@ -117,7 +117,7 @@
       assert.isTrue(element.$.messageControlsContainer.hasAttribute('hidden'));
     });
 
-    test('message count respects automated', function() {
+    test('message count respects automated', () => {
       element.messages = _.times(10, randomAutomated)
           .concat(_.times(11, randomMessage));
       flushAsynchronousOperations();
@@ -130,7 +130,7 @@
       assert.isTrue(element.$.messageControlsContainer.hasAttribute('hidden'));
     });
 
-    test('message count still respects non-automated on toggle', function() {
+    test('message count still respects non-automated on toggle', () => {
       element.messages = _.times(10, randomMessage)
           .concat(_.times(11, randomAutomated));
       flushAsynchronousOperations();
@@ -144,7 +144,7 @@
       assert.isFalse(element.$.messageControlsContainer.hasAttribute('hidden'));
     });
 
-    test('show all messages respects expand', function() {
+    test('show all messages respects expand', () => {
       element.messages = _.times(10, randomAutomated)
           .concat(_.times(11, randomMessage));
       flushAsynchronousOperations();
@@ -152,10 +152,10 @@
       MockInteractions.tap(element.$$('#collapse-messages')); // Expand all.
       flushAsynchronousOperations();
 
-      var messages = getMessages();
+      let messages = getMessages();
       assert.equal(messages.length, 20);
-      for (var i = 0; i < messages.length; i++) {
-        assert.isTrue(messages[i]._expanded);
+      for (const message of messages) {
+        assert.isTrue(message._expanded);
       }
 
       MockInteractions.tap(element.$.oldMessagesBtn);
@@ -163,12 +163,12 @@
 
       messages = getMessages();
       assert.equal(messages.length, 21);
-      for (var i = 0; i < messages.length; i++) {
-        assert.isTrue(messages[i]._expanded);
+      for (const message of messages) {
+        assert.isTrue(message._expanded);
       }
     });
 
-    test('show all messages respects collapse', function() {
+    test('show all messages respects collapse', () => {
       element.messages = _.times(10, randomAutomated)
           .concat(_.times(11, randomMessage));
       flushAsynchronousOperations();
@@ -177,10 +177,10 @@
       MockInteractions.tap(element.$$('#collapse-messages')); // Collapse all.
       flushAsynchronousOperations();
 
-      var messages = getMessages();
+      let messages = getMessages();
       assert.equal(messages.length, 20);
-      for (var i = 0; i < messages.length; i++) {
-        assert.isFalse(messages[i]._expanded);
+      for (const message of messages) {
+        assert.isFalse(message._expanded);
       }
 
       MockInteractions.tap(element.$.oldMessagesBtn);
@@ -188,37 +188,37 @@
 
       messages = getMessages();
       assert.equal(messages.length, 21);
-      for (var i = 0; i < messages.length; i++) {
-        assert.isFalse(messages[i]._expanded);
+      for (const message of messages) {
+        assert.isFalse(message._expanded);
       }
     });
 
-    test('expand/collapse all', function() {
-      var allMessageEls = getMessages();
-      for (var i = 0; i < allMessageEls.length; i++) {
-        allMessageEls[i]._expanded = false;
+    test('expand/collapse all', () => {
+      let allMessageEls = getMessages();
+      for (const message of allMessageEls) {
+        message._expanded = false;
       }
       MockInteractions.tap(allMessageEls[1]);
       assert.isTrue(allMessageEls[1]._expanded);
 
       MockInteractions.tap(element.$$('#collapse-messages'));
       allMessageEls = getMessages();
-      for (var i = 0; i < allMessageEls.length; i++) {
-        assert.isTrue(allMessageEls[i]._expanded);
+      for (const message of allMessageEls) {
+        assert.isTrue(message._expanded);
       }
 
       MockInteractions.tap(element.$$('#collapse-messages'));
       allMessageEls = getMessages();
-      for (var i = 0; i < allMessageEls.length; i++) {
-        assert.isFalse(allMessageEls[i]._expanded);
+      for (const message of allMessageEls) {
+        assert.isFalse(message._expanded);
       }
     });
 
-    test('expand/collapse from external keypress', function() {
+    test('expand/collapse from external keypress', () => {
       MockInteractions.tap(element.$$('#collapse-messages'));
-      var allMessageEls = getMessages();
-      for (var i = 0; i < allMessageEls.length; i++) {
-        assert.isTrue(allMessageEls[i]._expanded);
+      let allMessageEls = getMessages();
+      for (const message of allMessageEls) {
+        assert.isTrue(message._expanded);
       }
 
       // Expand/collapse all text also changes.
@@ -227,36 +227,35 @@
 
       MockInteractions.tap(element.$$('#collapse-messages'));
       allMessageEls = getMessages();
-      for (var i = 0; i < allMessageEls.length; i++) {
-        assert.isFalse(allMessageEls[i]._expanded);
+      for (const message of allMessageEls) {
+        assert.isFalse(message._expanded);
       }
       // Expand/collapse all text also changes.
       assert.equal(element.$$('#collapse-messages').textContent.trim(),
           'Expand all');
     });
 
-    test('hide messages does not appear when no automated messages',
-        function() {
+    test('hide messages does not appear when no automated messages', () => {
       assert.isOk(element.$$('#automatedMessageToggleContainer[hidden]'));
     });
 
-    test('scroll to message', function() {
-      var allMessageEls = getMessages();
-      for (var i = 0; i < allMessageEls.length; i++) {
-        allMessageEls[i].set('message.expanded', false);
+    test('scroll to message', () => {
+      const allMessageEls = getMessages();
+      for (const message of allMessageEls) {
+        message.set('message.expanded', false);
       }
 
-      var scrollToStub = sandbox.stub(window, 'scrollTo');
-      var highlightStub = sandbox.stub(element, '_highlightEl');
+      const scrollToStub = sandbox.stub(window, 'scrollTo');
+      const highlightStub = sandbox.stub(element, '_highlightEl');
 
       element.scrollToMessage('invalid');
 
-      for (var i = 0; i < allMessageEls.length; i++) {
-        assert.isFalse(allMessageEls[i]._expanded,
-            'expected gr-message ' + i + ' to not be expanded');
+      for (const message of allMessageEls) {
+        assert.isFalse(message._expanded,
+            'expected gr-message to not be expanded');
       }
 
-      var messageID = messages[1].id;
+      const messageID = messages[1].id;
       element.scrollToMessage(messageID);
       assert.isTrue(
           element.$$('[data-message-id="' + messageID + '"]')._expanded);
@@ -265,15 +264,15 @@
       assert.isTrue(highlightStub.calledOnce);
     });
 
-    test('scroll to message offscreen', function() {
-      var scrollToStub = sandbox.stub(window, 'scrollTo');
-      var highlightStub = sandbox.stub(element, '_highlightEl');
+    test('scroll to message offscreen', () => {
+      const scrollToStub = sandbox.stub(window, 'scrollTo');
+      const highlightStub = sandbox.stub(element, '_highlightEl');
       element.messages = _.times(25, randomMessage);
       flushAsynchronousOperations();
       assert.isFalse(scrollToStub.called);
       assert.isFalse(highlightStub.called);
 
-      var messageID = element.messages[1].id;
+      const messageID = element.messages[1].id;
       element.scrollToMessage(messageID);
       assert.isTrue(scrollToStub.calledOnce);
       assert.isTrue(highlightStub.calledOnce);
@@ -282,13 +281,13 @@
           element.$$('[data-message-id="' + messageID + '"]')._expanded);
     });
 
-    test('messages', function() {
-      var author = {
+    test('messages', () => {
+      const author = {
         _account_id: 42,
         name: 'Marvin the Paranoid Android',
         email: 'marvin@sirius.org',
       };
-      var comments = {
+      const comments = {
         file1: [
           {
             message: 'message text',
@@ -309,7 +308,7 @@
             line: 42,
             id: '450a935e_0f1c05db',
             patch_set: 2,
-            author: author,
+            author,
           },
           {
             message: 'message text',
@@ -318,7 +317,7 @@
             line: 62,
             id: '6505d749_10ed44b2',
             patch_set: 2,
-            author: author,
+            author,
           },
         ],
         file2: [
@@ -329,18 +328,18 @@
             line: 132,
             id: '450a935e_4f260d25',
             patch_set: 2,
-            author: author,
+            author,
           },
         ],
       };
-      var messages = [].concat(
+      const messages = [].concat(
           randomMessage(),
           {
             _index: 5,
             _revision_number: 4,
             message: 'Uploaded patch set 4.',
             date: '2016-09-28 13:36:33.000000000',
-            author: author,
+            author,
             id: '8c19ccc949c6d482b061be6a28e10782abf0e7af',
           },
           {
@@ -348,18 +347,18 @@
             _revision_number: 4,
             message: 'Patch Set 4:\n\n(6 comments)',
             date: '2016-09-28 13:36:33.000000000',
-            author: author,
+            author,
             id: 'e7bfdbc842f6b6d8064bc68e0f52b673f40c0ca5',
           }
       );
       element.comments = comments;
       element.messages = messages;
-      var isAuthor = function(author, message) {
+      const isAuthor = function(author, message) {
         return message.author._account_id === author._account_id;
       };
-      var isMarvin = isAuthor.bind(null, author);
+      const isMarvin = isAuthor.bind(null, author);
       flushAsynchronousOperations();
-      var messageElements = getMessages();
+      const messageElements = getMessages();
       assert.equal(messageElements.length, messages.length);
       assert.deepEqual(messageElements[1].message, messages[1]);
       assert.deepEqual(messageElements[2].message, messages[2]);
@@ -370,8 +369,8 @@
       assert.deepEqual(messageElements[2].comments, {});
     });
 
-    test('messages without author do not throw', function() {
-      var comments = {
+    test('messages without author do not throw', () => {
+      const comments = {
         file1: [
           {
             message: 'message text',
@@ -386,7 +385,7 @@
             },
           },
         ]};
-      var messages = [{
+      const messages = [{
         _index: 5,
         _revision_number: 4,
         message: 'Uploaded patch set 4.',
@@ -396,16 +395,16 @@
       element.messages = messages;
       element.comments = comments;
       flushAsynchronousOperations();
-      var messageEls = getMessages();
+      const messageEls = getMessages();
       assert.equal(messageEls.length, 1);
       assert.equal(messageEls[0].message.message, messages[0].message);
     });
 
-    test('hide increment text if increment >= total remaining', function() {
+    test('hide increment text if increment >= total remaining', () => {
       // Test with stubbed return values, as _numRemaining and _getDelta have
       // their own tests.
       sandbox.stub(element, '_getDelta').returns(5);
-      var remainingStub = sandbox.stub(element, '_numRemaining').returns(6);
+      const remainingStub = sandbox.stub(element, '_numRemaining').returns(6);
       assert.isFalse(element._computeIncrementHidden(null, null, null));
       remainingStub.restore();
 
@@ -414,25 +413,25 @@
     });
   });
 
-  suite('gr-messages-list automate tests', function() {
-    var element;
-    var messages;
+  suite('gr-messages-list automate tests', () => {
+    let element;
+    let messages;
 
-    var getMessages = function() {
+    const getMessages = function() {
       return Polymer.dom(element.root).querySelectorAll('gr-message');
     };
-    var getHiddenMessages = function() {
+    const getHiddenMessages = function() {
       return Polymer.dom(element.root).querySelectorAll('gr-message[hidden]');
     };
 
-    var randomMessageReviewer = {
+    const randomMessageReviewer = {
       reviewer: {},
     };
 
-    setup(function() {
+    setup(() => {
       stub('gr-rest-api-interface', {
-        getConfig: function() { return Promise.resolve({}); },
-        getLoggedIn: function() { return Promise.resolve(false); },
+        getConfig() { return Promise.resolve({}); },
+        getLoggedIn() { return Promise.resolve(false); },
       });
       element = fixture('basic');
       messages = _.times(2, randomAutomated);
@@ -441,19 +440,19 @@
       flushAsynchronousOperations();
     });
 
-    test('hide autogenerated button is not hidden', function() {
+    test('hide autogenerated button is not hidden', () => {
       assert.isNotOk(element.$$('#automatedMessageToggle[hidden]'));
     });
 
-    test('autogenerated messages are not hidden initially', function() {
-      var allHiddenMessageEls = getHiddenMessages();
+    test('autogenerated messages are not hidden initially', () => {
+      const allHiddenMessageEls = getHiddenMessages();
 
-      //There are no hidden messages.
+      // There are no hidden messages.
       assert.isFalse(!!allHiddenMessageEls.length);
     });
 
-    test('autogenerated messages hidden after hide button tap', function() {
-      var allHiddenMessageEls = getHiddenMessages();
+    test('autogenerated messages hidden after hide button tap', () => {
+      let allHiddenMessageEls = getHiddenMessages();
 
       element._hideAutomated = false;
       MockInteractions.tap(element.$.automatedMessageToggle);
@@ -465,19 +464,19 @@
       assert.equal(allHiddenMessageEls.length, allMessageEls.length);
     });
 
-    test('autogenerated messages not hidden after show button tap', function() {
-      var allHiddenMessageEls = getHiddenMessages();
+    test('autogenerated messages not hidden after show button tap', () => {
+      let allHiddenMessageEls = getHiddenMessages();
 
       element._hideAutomated = true;
       MockInteractions.tap(element.$.automatedMessageToggle);
       allHiddenMessageEls = getHiddenMessages();
 
-      //Autogenerated messages are now hidden.
+      // Autogenerated messages are now hidden.
       assert.isFalse(!!allHiddenMessageEls.length);
     });
 
-    test('_getDelta', function() {
-      var messages = [randomMessage()];
+    test('_getDelta', () => {
+      let messages = [randomMessage()];
       assert.equal(element._getDelta([], messages, false), 1);
       assert.equal(element._getDelta([], messages, true), 1);
 
@@ -490,18 +489,18 @@
           .concat(_.times(2, randomAutomated))
           .concat(_.times(3, randomMessage));
 
-      var dummyArr = _.times(2, randomMessage);
+      const dummyArr = _.times(2, randomMessage);
       assert.equal(element._getDelta(dummyArr, messages, false), 5);
       assert.equal(element._getDelta(dummyArr, messages, true), 7);
     });
 
-    test('_getHumanMessages', function() {
+    test('_getHumanMessages', () => {
       assert.equal(
           element._getHumanMessages(_.times(5, randomAutomated)).length, 0);
       assert.equal(
           element._getHumanMessages(_.times(5, randomMessage)).length, 5);
 
-      var messages = _.shuffle(_.times(5, randomMessage)
+      let messages = _.shuffle(_.times(5, randomMessage)
           .concat(_.times(5, randomAutomated)));
       messages = element._getHumanMessages(messages);
       assert.equal(messages.length, 5);