Compilation errors in govuk_frontend_toolkit (24/11/2013)
Received the following compilation errors in a new Play Framework project.
'relpath' is already defined in \govuk_frontend_toolkit\Gruntfile.js:12
9 if(typeof subdir !== 'undefined'){
10 var relpath = subdir + '/' + filename;
11 } else {
->12 var relpath = filename;
13 }
14 if (filename.match(/.scss/)) {
15 allSassFiles.push("@import '" + relpath + "';");
16 }
17 }
Missing semicolon in govuk_frontend_toolkit\javascripts\govuk\primary-links.js:14
11 this.addToggleLink();
12 this.hideExtraLinks();
13 }
->14 }
15 PrimaryList.prototype = {
16 toggleText: function(){
17 if(this.$extraLinks.length > 1){
18 return '+'+ this.$extraLinks.length +' others';
19 } else {
Missing semicolon in \govuk_frontend_toolkit\javascripts\govuk\primary-links.js:24
21 }
22 },
23 addToggleLink: function(){
->24 this.$toggleLink = $(''+ this.toggleText() + '')
25 this.$toggleLink.click($.proxy(this.toggleLinks, this));
26 this.$toggleLink.insertAfter(this.$el);
27 },
28 toggleLinks: function(e){
29 e.preventDefault();
Missing semicolon in \govuk_frontend_toolkit\javascripts\govuk\primary-links.js:35
32 },
33 hideExtraLinks: function(){
34 this.$extraLinks.addClass('visuallyhidden');
->35 $(window).trigger('govuk.pageSizeChanged')
36 },
37 showExtraLinks: function(){
38 this.$extraLinks.removeClass('visuallyhidden');
39 $(window).trigger('govuk.pageSizeChanged')
40 }
Missing semicolon in \govuk_frontend_toolkit\javascripts\govuk\primary-links.js:39
36 },
37 showExtraLinks: function(){
38 this.$extraLinks.removeClass('visuallyhidden');
->39 $(window).trigger('govuk.pageSizeChanged')
40 }
41 };
42 GOVUK.PrimaryList = PrimaryList;
43
44 GOVUK.primaryLinks = {
Missing semicolon in \govuk_frontend_toolkit\javascripts\govuk\primary-links.js:50
47 new GOVUK.PrimaryList(el, selector);
48 });
49 }
->50 }
51}());
Missing semicolon in \govuk_frontend_toolkit\javascripts\govuk\selection-buttons.js:2
1(function () {
->2 "use strict"
3 var root = this,
4 $ = root.jQuery;
5
6 if (typeof GOVUK === 'undefined') { root.GOVUK = {}; }
7
Expected an assignment or function call and instead saw an expression (really means expecting semi-colon, saw comma at line 55) in \govuk_frontend_toolkit\javascripts\govuk\selection-buttons.js:58
55 radioName = $elm.attr('name'),
56 $($elm[0].form).find('input[name="' + radioName + '"]')
57 .parent('label')
58 .removeClass(this.selectedClass);
59 $elm.parent('label').addClass(this.selectedClass);
60 } else { // checkbox
61 if ($elm.is(':checked')) {
62 $elm.parent('label').addClass(this.selectedClass);
63 } else {
Missing semicolon in \govuk_frontend_toolkit\javascripts\govuk\selection-buttons.js:90
87 }.bind(this);
88 };
89 SelectionButtons.prototype.getFocusHandler = function (opts) {
->90 var focusEvent = (opts.level === 'document') ? 'focusin' : 'focus'
91
92 return function (e) {
93 var state = (e.type === focusEvent) ? 'focused' : 'blurred';
94
95 this.markFocused($(e.target), state);
Missing semicolon in \govuk_frontend_toolkit\javascripts\govuk\stick-at-top-when-scrolling.js:2
1(function () {
->2 "use strict"
3 var root = this,
4 $ = root.jQuery;
5 if(typeof root.GOVUK === 'undefined') { root.GOVUK = {}; }
6
7 // Stick elements to top of screen when you scroll past, documentation is in the README.md
Missing semicolon in \govuk_frontend_toolkit\javascripts\govuk\stick-at-top-when-scrolling.js:74
71 $el.siblings('.shim').remove();
72 }
73 }
->74 }
75 root.GOVUK.stickAtTopWhenScrolling = sticky;
76}).call(this);
Missing semicolon in \govuk_frontend_toolkit\javascripts\govuk\stop-scrolling-at-footer.js:15
12
13
14(function () {
->15 "use strict"
16 var root = this,
17 $ = root.jQuery;
18 if(typeof root.GOVUK === 'undefined') { root.GOVUK = {}; }
19
20 var stopScrollingAtFooter = {
Confusing use of '!' in \govuk_frontend_toolkit\javascripts\vendor\jquery\jquery.player.min.js:25
22* You should have received a copy of the GNU General Public License
23* along with this program. If not, see http://www.gnu.org/licenses/.
24**/
->25var swfobject=function(){var aq="undefined",aD="object",ab="Shockwave Flash",…
Bad line breaking before '?' in \govuk_frontend_toolkit\javascripts\vendor\polyfills\bind.js:30
27 fNOP = function () {},
28 fBound = function () {
29 return fToBind.apply(this instanceof fNOP && oThis
->30 ? this
31 : oThis,
32 aArgs.concat(Array.prototype.slice.call(arguments)));
33 };
34
35 fNOP.prototype = this.prototype;
Missing semicolon in \govuk_frontend_toolkit\spec\support\console-runner.js:15
12 throw "jasmine library isn't loaded!";
13 }
14
->15 var ANSI = {}
16 ANSI.color_map = {
17 "green": 32,
18 "red": 31
19 }
Missing semicolon in \govuk_frontend_toolkit\spec\support\console-runner.js:19
16 ANSI.color_map = {
17 "green": 32,
18 "red": 31
->19 }
20
21 ANSI.colorize_text = function(text, color) {
22 var color_code = this.color_map[color];
23 return "\033[" + color_code + "m" + text + "\033[0m";
24 }
Missing semicolon in \govuk_frontend_toolkit\spec\support\console-runner.js:24
21 ANSI.colorize_text = function(text, color) {
22 var color_code = this.color_map[color];
23 return "\033[" + color_code + "m" + text + "\033[0m";
->24 }
25
26 var ConsoleReporter = function() {
27 if (!console || !console.log) { throw "console isn't present!"; }
28 this.status = this.statuses.stopped;
29 };
Missing semicolon in \govuk_frontend_toolkit\spec\support\console-runner.js:81
78 var resultText = spec.suite.description + " : " + spec.description;
79 this.log(resultText, "red");
80
->81 var items = spec.results().getItems()
82 for (var i = 0; i < items.length; i++) {
83 var trace = items[i].trace.stack || items[i].trace;
84 this.log(trace, "red");
85 }
86 };
Use '!==' to compare with 'undefined' in \govuk_frontend_toolkit\spec\support\console-runner.js:97
94 };
95
96 proto.log = function(str, color) {
->97 var text = (color != undefined)? ANSI.colorize_text(str, color) : str;
98 console.log(text)
99 };
100
101 jasmine.ConsoleReporter = ConsoleReporter;
102})(jasmine, console);
Missing semicolon in \govuk_frontend_toolkit\spec\support\console-runner.js:98
95
96 proto.log = function(str, color) {
97 var text = (color !== undefined)? ANSI.colorize_text(str, color) : str;
->98 console.log(text)
99 };
100
101 jasmine.ConsoleReporter = ConsoleReporter;
102})(jasmine, console);
103
Missing semicolon in \govuk_frontend_toolkit\spec\support\load.js:2
1(function (root) {
->2 "use strict"
3 var loadedScripts = 0,
4 totalScripts,
5 merge,
6 loadScript,
7 runJasmine,
Missing semicolon in \govuk_frontend_toolkit\spec\support\load.js:42
39 return script;
40 };
41 runJasmine = function () {
->42 var console_reporter = new jasmine.ConsoleReporter()
43 jasmine.getEnv().addReporter(new jasmine.TrivialReporter());
44 jasmine.getEnv().addReporter(console_reporter);
45 jasmine.getEnv().execute();
46 };
47 manifestScript = loadScript('../manifest.js');
Use '!==' to compare with 'null' in \govuk_frontend_toolkit\spec\support\run_jasmine_test.js:13
10
11 function PhantomJasmineRunner(page, exit_func) {
12 this.page = page;
->13 this.exit_func = exit_func != null ? exit_func : phantom.exit;
14 this.tries = 0;
15 this.max_tries = 10;
16 }
17
18 PhantomJasmineRunner.prototype.get_status = function() {
Duplicate key 'customVarIndex' in \govuk_frontend_toolkit\spec\unit\MultivariateTestSpec.js:55
52 foo: {},
53 bar: {}
54 },
->55 customVarIndex: 2
56 });
57 expect(window._gaq).toEqual([
58 [
59 '_setCustomVar',
60 2,
Missing semicolon in \govuk_frontend_toolkit\spec\unit\MultivariateTestSpec.js:119
116 },
117 runImmediately: false
118 });
->119 test.fooCallback = jasmine.createSpy('fooCallback')
120 test.run();
121 expect(test.fooCallback).toHaveBeenCalled();
122 });
123
124 it("should assign a new random cohort if the assigned cohort does not exist", function() {
Missing semicolon in \govuk_frontend_toolkit\spec\unit\MultivariateTestSpec.js:193
190 cohorts: {foo: {}, bar: {}}
191 });
192 expect(['foo', 'bar']).toContain(test.chooseRandomCohort());
->193 })
194 });
195});
Missing semicolon in \govuk_frontend_toolkit\spec\unit\SelectionButtonSpec.js:588
585 $radioButtons = $("label.selectable input[type='radio']");
586 $radioLabels = $radioButtons.parent('label');
587 $radioButtons.eq(0).focus();
->588 expect($radioLabels.eq(0).hasClass('focused')).toBe(true)
589 });
590
591 it("Should add a custom focused class to the radio if sent in as an option", function () {
592 var contentCache;
593
Missing semicolon in \govuk_frontend_toolkit\spec\unit\SelectionButtonSpec.js:601
598 $radioButtons = $("label.selectable input[type='radio']");
599 $radioLabels = $radioButtons.parent('label');
600 $radioButtons.eq(0).focus();
->601 expect($radioLabels.eq(0).hasClass('selectable-focused')).toBe(true)
602 });
603
604 it("Should remove the focused class from a radio when it loses focus", function () {
605 var contentCache;
606
Missing semicolon in \govuk_frontend_toolkit\spec\unit\SelectionButtonSpec.js:614
611 $radioButtons = $("label.selectable input[type='radio']");
612 $radioLabels = $radioButtons.parent('label');
613 $radioButtons.eq(0).focus();
->614 expect($radioLabels.eq(0).hasClass('focused')).toBe(true)
615 $radioButtons.eq(0).blur();
616 expect($radioLabels.eq(0).hasClass('focused')).toBe(false)
617 });
618 });
619 });
Missing semicolon in \govuk_frontend_toolkit\spec\unit\SelectionButtonSpec.js:616
613 $radioButtons.eq(0).focus();
614 expect($radioLabels.eq(0).hasClass('focused')).toBe(true);
615 $radioButtons.eq(0).blur();
->616 expect($radioLabels.eq(0).hasClass('focused')).toBe(false)
617 });
618 });
619 });
620
621 describe("When that selector matches checkbox inputs", function () {