ES6ify /gr-syntax-lib-loader/*
Bug: Issue 6179
Change-Id: I4a30e67a161af3ac7b6f857dbcb4cde89ec63578
diff --git a/polygerrit-ui/app/elements/diff/gr-syntax-lib-loader/gr-syntax-lib-loader.js b/polygerrit-ui/app/elements/diff/gr-syntax-lib-loader/gr-syntax-lib-loader.js
index 520f24d..75b00e8 100644
--- a/polygerrit-ui/app/elements/diff/gr-syntax-lib-loader/gr-syntax-lib-loader.js
+++ b/polygerrit-ui/app/elements/diff/gr-syntax-lib-loader/gr-syntax-lib-loader.js
@@ -14,8 +14,8 @@
(function() {
'use strict';
- var HLJS_PATH = 'bower_components/highlightjs/highlight.min.js';
- var LIB_ROOT_PATTERN = /(.+\/)elements\/gr-app\.html/;
+ const HLJS_PATH = 'bower_components/highlightjs/highlight.min.js';
+ const LIB_ROOT_PATTERN = /(.+\/)elements\/gr-app\.html/;
Polymer({
is: 'gr-syntax-lib-loader',
@@ -30,11 +30,11 @@
loading: false,
callbacks: [],
},
- }
+ },
},
- get: function() {
- return new Promise(function(resolve) {
+ get() {
+ return new Promise(resolve => {
// If the lib is totally loaded, resolve immediately.
if (this._state.loaded) {
resolve(this._getHighlightLib());
@@ -48,27 +48,29 @@
}
this._state.callbacks.push(resolve);
- }.bind(this));
+ });
},
- _onLibLoaded: function() {
- var lib = this._getHighlightLib();
+ _onLibLoaded() {
+ const lib = this._getHighlightLib();
this._state.loaded = true;
this._state.loading = false;
- this._state.callbacks.forEach(function(cb) { cb(lib); });
+ for (const cb of this._state.callbacks) {
+ cb(lib);
+ }
this._state.callbacks = [];
},
- _getHighlightLib: function() {
+ _getHighlightLib() {
return window.hljs;
},
- _configureHighlightLib: function() {
+ _configureHighlightLib() {
this._getHighlightLib().configure(
{classPrefix: 'gr-diff gr-syntax gr-syntax-'});
},
- _getLibRoot: function() {
+ _getLibRoot() {
if (this._cachedLibRoot) { return this._cachedLibRoot; }
return this._cachedLibRoot = document.head
@@ -78,16 +80,16 @@
},
_cachedLibRoot: null,
- _loadHLJS: function() {
- return new Promise(function(resolve) {
- var script = document.createElement('script');
+ _loadHLJS() {
+ return new Promise(resolve => {
+ const script = document.createElement('script');
script.src = this._getLibRoot() + HLJS_PATH;
script.onload = function() {
this._configureHighlightLib();
resolve();
}.bind(this);
Polymer.dom(document.head).appendChild(script);
- }.bind(this));
+ });
},
});
})();
diff --git a/polygerrit-ui/app/elements/diff/gr-syntax-lib-loader/gr-syntax-lib-loader_test.html b/polygerrit-ui/app/elements/diff/gr-syntax-lib-loader/gr-syntax-lib-loader_test.html
index 985fc6d..0a916d0 100644
--- a/polygerrit-ui/app/elements/diff/gr-syntax-lib-loader/gr-syntax-lib-loader_test.html
+++ b/polygerrit-ui/app/elements/diff/gr-syntax-lib-loader/gr-syntax-lib-loader_test.html
@@ -32,26 +32,24 @@
</test-fixture>
<script>
- suite('gr-syntax-lib-loader tests', function() {
- var element;
- var resolveLoad;
- var loadStub;
+ suite('gr-syntax-lib-loader tests', () => {
+ let element;
+ let resolveLoad;
+ let loadStub;
- setup(function() {
+ setup(() => {
element = fixture('basic');
- loadStub = sinon.stub(element, '_loadHLJS', function() {
- return new Promise(function(resolve) {
- resolveLoad = resolve;
- });
- });
+ loadStub = sinon.stub(element, '_loadHLJS', () =>
+ new Promise(resolve => resolveLoad = resolve)
+ );
// Assert preconditions:
assert.isFalse(element._state.loaded);
assert.isFalse(element._state.loading);
});
- teardown(function() {
+ teardown(() => {
if (window.hljs) {
delete window.hljs;
}
@@ -63,8 +61,8 @@
element._state.callbacks = [];
});
- test('only load once', function(done) {
- var firstCallHandler = sinon.stub();
+ test('only load once', done => {
+ const firstCallHandler = sinon.stub();
element.get().then(firstCallHandler);
// It should now be in the loading state.
@@ -73,7 +71,7 @@
assert.isFalse(element._state.loaded);
assert.isFalse(firstCallHandler.called);
- var secondCallHandler = sinon.stub();
+ const secondCallHandler = sinon.stub();
element.get().then(secondCallHandler);
// No change in state.
@@ -84,7 +82,7 @@
// Now load the library.
resolveLoad();
- flush(function() {
+ flush(() => {
// The state should be loaded and both handlers called.
assert.isFalse(element._state.loading);
assert.isTrue(element._state.loaded);