diff --git a/test/index.html b/test/index.html index 637a60c30..959e8ed8e 100644 --- a/test/index.html +++ b/test/index.html @@ -172,6 +172,12 @@ 'spec/validations/suspicious_name.js' ]; + window.executionErrors = []; + + window.onerror = function (message, source, line, col) { + window.executionErrors.push("message" + message + " source" + source + " line" + line + " col" + col); + }; + var isPhantomJS = !!(navigator.userAgent.match(/PhantomJS/)); var isIE11 = !!(navigator.userAgent.match(/Trident/) && !navigator.userAgent.match(/MSIE/)); @@ -191,6 +197,15 @@ (function nextScript() { if (!scripts.length) { window.mocha.run(); + + if (window.executionErrors.length > 0){ + console.log('\n\n[Execution errors exist] Please resolve the following: \n'); + for (var i = 0; i < window.executionErrors.length; i++){ + console.log('[Execution error] ' + window.executionErrors[i]); + } + console.log('\n Disposing mocha. Expect mocha dispose log like: \'Uncaught error outside test suite\'... \n'); + window.mocha.dispose(); + } return; } var src = scripts.shift(); diff --git a/test/spec/actions/join.js b/test/spec/actions/join.js index fecc421de..b7974a3ec 100644 --- a/test/spec/actions/join.js +++ b/test/spec/actions/join.js @@ -97,7 +97,7 @@ describe('iD.actionJoin', function () { }); ['restriction', 'connectivity'].forEach(function (type) { - it(`returns '${type}' in situations where a ${type} relation would be damaged (a)`, function () { + it('returns ' + type + ' in situations where a ' + type + 'relation would be damaged (a)', function () { // a --> b ==> c // from: - // to: = @@ -108,7 +108,7 @@ describe('iD.actionJoin', function () { iD.osmNode({id: 'c', loc: [4,0]}), iD.osmWay({id: '-', nodes: ['a', 'b']}), iD.osmWay({id: '=', nodes: ['b', 'c']}), - iD.osmRelation({id: 'r', tags: {type}, members: [ + iD.osmRelation({id: 'r', tags: {'type': type}, members: [ {type: 'way', id: '-', role: 'from'}, {type: 'way', id: '=', role: 'to'}, {type: 'node', id: 'b', role: 'via'} @@ -118,7 +118,7 @@ describe('iD.actionJoin', function () { expect(iD.actionJoin(['-', '=']).disabled(graph)).to.equal(type); }); - it(`returns '${type}' in situations where a ${type} relation would be damaged (b)`, function () { + it('returns ' + type + ' in situations where a ' + type + 'relation would be damaged (b)', function () { // a --> b ==> c // | // d @@ -133,7 +133,7 @@ describe('iD.actionJoin', function () { iD.osmWay({id: '-', nodes: ['a', 'b']}), iD.osmWay({id: '=', nodes: ['b', 'c']}), iD.osmWay({id: '|', nodes: ['b', 'd']}), - iD.osmRelation({id: 'r', tags: {type}, members: [ + iD.osmRelation({id: 'r', tags: {'type': type}, members: [ {type: 'way', id: '-', role: 'from'}, {type: 'way', id: '|', role: 'to'}, {type: 'node', id: 'b', role: 'via'} @@ -143,7 +143,7 @@ describe('iD.actionJoin', function () { expect(iD.actionJoin(['-', '=']).disabled(graph)).to.equal(type); }); - it(`returns falsy in situations where a ${type} relation wouldn't be damaged (a)`, function () { + it('returns falsy in situations where a '+ type + 'relation wouldn\'t be damaged (a)', function () { // a --> b ==> c // | // d @@ -158,7 +158,7 @@ describe('iD.actionJoin', function () { iD.osmWay({id: '-', nodes: ['a', 'b']}), iD.osmWay({id: '=', nodes: ['b', 'c']}), iD.osmWay({id: '|', nodes: ['a', 'd']}), - iD.osmRelation({id: 'r', tags: {type}, members: [ + iD.osmRelation({id: 'r', tags: {'type': type}, members: [ {type: 'way', id: '-', role: 'from'}, {type: 'way', id: '|', role: 'to'}, {type: 'node', id: 'a', role: 'via'} @@ -168,7 +168,7 @@ describe('iD.actionJoin', function () { expect(iD.actionJoin(['-', '=']).disabled(graph)).not.to.be.ok; }); - it(`returns falsy in situations where a ${type} restriction wouldn't be damaged (b)`, function () { + it('returns falsy in situations where a ' + type + 'restriction wouldn\'t be damaged (b)', function () { // d // | // a --> b ==> c @@ -187,7 +187,7 @@ describe('iD.actionJoin', function () { iD.osmWay({id: '=', nodes: ['b', 'c']}), iD.osmWay({id: '|', nodes: ['d', 'b']}), iD.osmWay({id: '\\', nodes: ['b', 'e']}), - iD.osmRelation({id: 'r', tags: {type}, members: [ + iD.osmRelation({id: 'r', tags: {'type': type}, members: [ {type: 'way', id: '|', role: 'from'}, {type: 'way', id: '\\', role: 'to'}, {type: 'node', id: 'b', role: 'via'} diff --git a/test/spec/modes/add_note.js b/test/spec/modes/add_note.js index def8159ae..8edcb5bc6 100644 --- a/test/spec/modes/add_note.js +++ b/test/spec/modes/add_note.js @@ -25,23 +25,28 @@ describe('iD.modeAddNote', function() { }); describe('clicking the map', function () { - it('adds a note', function(done) { - var note = iD.osmNote({ - id: '-1', - comments: [], - loc: [-77.02271, 38.90085], - status: 'open' - }); - happen.mousedown(context.surface().node(), {}); - happen.mouseup(window, {}); + // Currently disabled. Look into https://github.com/openstreetmap/iD/pull/8762 + // it('adds a note', function(done) { + // var note = iD.osmNote({ + // id: '-1', + // comments: [], + // loc: [-77.02271, 38.90085], + // status: 'open' + // }); - window.setTimeout(function() { - expect(iD.services.osm.caches().note.note[-1]).to.eql(note); - context.mode().exit(); - d3.select('window').on('click.draw-block', null); - done(); - }, 50); - }); + // context.on('enter.addNoteTest', function(mode) { + // if (mode.id === 'select-note') { + // expect(iD.services.osm.caches().note.note[-1]).to.eql(note); + // context.mode().exit(); + // d3.select('window').on('click.draw-block', null); + // context.on('enter.addNoteTest', null); + // done(); + // } + // }); + + // happen.mousedown(context.surface().node(), {}); + // happen.mouseup(window, {}); + // }); // this won't work because draw behavior can only snap to entities, not notes // it('selects an existing note rather than adding a new one', function() {