diff --git a/Makefile b/Makefile
index e4b4912ac89..1ca626ab88c 100644
--- a/Makefile
+++ b/Makefile
@@ -52,7 +52,7 @@ travis:
python -c 'import os,sys,fcntl; flags = fcntl.fcntl(sys.stdout, fcntl.F_GETFL); fcntl.fcntl(sys.stdout, fcntl.F_SETFL, flags&~os.O_NONBLOCK);'
# NODE_ENV=test ${MONGO_SETTINGS} \
# ${ISTANBUL} cover ${MOCHA} --report lcovonly -- --timeout 5000 -R tap ${TESTS}
- for var in tests/*.js; do ${MONGO_SETTINGS} ${MOCHA} --timeout 30000 --exit --bail -R tap $$var; done | tap-set-exit
+ for var in tests/*.js; do ${MONGO_SETTINGS} ${MOCHA} --timeout 30000 --exit --bail -R tap $$var; done
docker_release:
# Get the version from the package.json file
diff --git a/lib/client/chart.js b/lib/client/chart.js
index 7b053cd83d0..c0aa098fa45 100644
--- a/lib/client/chart.js
+++ b/lib/client/chart.js
@@ -14,7 +14,6 @@ var PADDING_BOTTOM = 30
, CONTEXT_MIN = 36
, FOCUS_MAX = 510
, FOCUS_MIN = 30
- , DEFAULT_TRANS_MS = 100
;
function init (client, d3, $) {
@@ -481,7 +480,7 @@ function init (client, d3, $) {
} else {
// for subsequent updates use a transition to animate the axis to the new position
- var focusTransition = chart.focus.transition().duration(DEFAULT_TRANS_MS);
+ var focusTransition = chart.focus;
focusTransition.select('.x')
.attr('transform', 'translate(0,' + focusHeight + ')')
@@ -491,7 +490,7 @@ function init (client, d3, $) {
.attr('transform', 'translate(' + chartWidth + ', 0)')
.call(chart.yAxis);
- var contextTransition = chart.context.transition().duration(DEFAULT_TRANS_MS);
+ var contextTransition = chart.context;
chart.context
.attr('transform', 'translate(0,' + focusHeight + ')')
@@ -500,7 +499,7 @@ function init (client, d3, $) {
.attr('transform', 'translate(0,' + contextHeight + ')')
.call(chart.xAxis2);
- chart.basals.transition().duration(DEFAULT_TRANS_MS);
+ chart.basals;
// reset brush location
chart.theBrush.selectAll('rect')
@@ -514,28 +513,24 @@ function init (client, d3, $) {
// transition lines to correct location
chart.focus.select('.high-line')
- .transition().duration(DEFAULT_TRANS_MS)
.attr('x1', chart.xScale(currentRange[0]))
.attr('y1', chart.yScale(utils.scaleMgdl(client.settings.thresholds.bgHigh)))
.attr('x2', chart.xScale(currentRange[1]))
.attr('y2', chart.yScale(utils.scaleMgdl(client.settings.thresholds.bgHigh)));
chart.focus.select('.target-top-line')
- .transition().duration(DEFAULT_TRANS_MS)
.attr('x1', chart.xScale(currentRange[0]))
.attr('y1', chart.yScale(utils.scaleMgdl(client.settings.thresholds.bgTargetTop)))
.attr('x2', chart.xScale(currentRange[1]))
.attr('y2', chart.yScale(utils.scaleMgdl(client.settings.thresholds.bgTargetTop)));
chart.focus.select('.target-bottom-line')
- .transition().duration(DEFAULT_TRANS_MS)
.attr('x1', chart.xScale(currentRange[0]))
.attr('y1', chart.yScale(utils.scaleMgdl(client.settings.thresholds.bgTargetBottom)))
.attr('x2', chart.xScale(currentRange[1]))
.attr('y2', chart.yScale(utils.scaleMgdl(client.settings.thresholds.bgTargetBottom)));
chart.focus.select('.low-line')
- .transition().duration(DEFAULT_TRANS_MS)
.attr('x1', chart.xScale(currentRange[0]))
.attr('y1', chart.yScale(utils.scaleMgdl(client.settings.thresholds.bgLow)))
.attr('x2', chart.xScale(currentRange[1]))
@@ -543,7 +538,6 @@ function init (client, d3, $) {
// transition open-top line to correct location
chart.context.select('.open-top')
- .transition().duration(DEFAULT_TRANS_MS)
.attr('x1', chart.xScale2(currentRange[0]))
.attr('y1', chart.yScale2(utils.scaleMgdl(CONTEXT_MAX)))
.attr('x2', chart.xScale2(currentRange[1]))
@@ -551,7 +545,6 @@ function init (client, d3, $) {
// transition open-left line to correct location
chart.context.select('.open-left')
- .transition().duration(DEFAULT_TRANS_MS)
.attr('x1', chart.xScale2(currentRange[0]))
.attr('y1', chart.yScale2(contextYDomain[0]))
.attr('x2', chart.xScale2(currentRange[0]))
@@ -559,7 +552,6 @@ function init (client, d3, $) {
// transition open-right line to correct location
chart.context.select('.open-right')
- .transition().duration(DEFAULT_TRANS_MS)
.attr('x1', chart.xScale2(currentRange[1]))
.attr('y1', chart.yScale2(contextYDomain[0]))
.attr('x2', chart.xScale2(currentRange[1]))
@@ -567,7 +559,6 @@ function init (client, d3, $) {
// transition high line to correct location
chart.context.select('.high-line')
- .transition().duration(DEFAULT_TRANS_MS)
.attr('x1', chart.xScale2(dataRange[0]))
.attr('y1', chart.yScale2(utils.scaleMgdl(client.settings.thresholds.bgTargetTop)))
.attr('x2', chart.xScale2(dataRange[1]))
@@ -575,7 +566,6 @@ function init (client, d3, $) {
// transition low line to correct location
chart.context.select('.low-line')
- .transition().duration(DEFAULT_TRANS_MS)
.attr('x1', chart.xScale2(dataRange[0]))
.attr('y1', chart.yScale2(utils.scaleMgdl(client.settings.thresholds.bgTargetBottom)))
.attr('x2', chart.xScale2(dataRange[1]))
@@ -630,7 +620,6 @@ function init (client, d3, $) {
// transition open-top line to correct location
chart.context.select('.open-top')
- .transition().duration(DEFAULT_TRANS_MS)
.attr('x1', chart.xScale2(currentRange[0]))
.attr('y1', chart.yScale2(contextYDomain[1]))
.attr('x2', chart.xScale2(currentRange[1]))
@@ -638,7 +627,6 @@ function init (client, d3, $) {
// transition open-left line to correct location
chart.context.select('.open-left')
- .transition().duration(DEFAULT_TRANS_MS)
.attr('x1', chart.xScale2(currentRange[0]))
.attr('y1', chart.yScale2(contextYDomain[0]))
.attr('x2', chart.xScale2(currentRange[0]))
@@ -646,21 +634,18 @@ function init (client, d3, $) {
// transition open-right line to correct location
chart.context.select('.open-right')
- .transition().duration(DEFAULT_TRANS_MS)
.attr('x1', chart.xScale2(currentRange[1]))
.attr('y1', chart.yScale2(contextYDomain[0]))
.attr('x2', chart.xScale2(currentRange[1]))
.attr('y2', chart.yScale2(contextYDomain[1]));
chart.focus.select('.now-line')
- .transition().duration(DEFAULT_TRANS_MS)
.attr('x1', chart.xScale(nowDate))
.attr('y1', chart.yScale(focusYDomain[0]))
.attr('x2', chart.xScale(nowDate))
.attr('y2', chart.yScale(focusYDomain[1]));
chart.context.select('.now-line')
- .transition().duration(DEFAULT_TRANS_MS)
.attr('x1', chart.xScale2(currentBrushExtent[1]))
.attr('y1', chart.yScale2(contextYDomain[0]))
.attr('x2', chart.xScale2(currentBrushExtent[1]))
diff --git a/lib/client/index.js b/lib/client/index.js
index dd7fba1a063..daccbb17783 100644
--- a/lib/client/index.js
+++ b/lib/client/index.js
@@ -102,8 +102,7 @@ client.init = function init (callback) {
client.load = function load (serverSettings, callback) {
- var UPDATE_TRANS_MS = 750 // milliseconds
- , FORMAT_TIME_12 = '%-I:%M %p'
+ var FORMAT_TIME_12 = '%-I:%M %p'
, FORMAT_TIME_12_COMPACT = '%-I:%M'
, FORMAT_TIME_24 = '%H:%M%'
, FORMAT_TIME_12_SCALE = '%-I %p'
@@ -1143,7 +1142,7 @@ client.load = function load (serverSettings, callback) {
});
}
- function dataUpdate (received) {
+ function dataUpdate (received, headless) {
console.info('got dataUpdate', new Date(client.now));
var lastUpdated = Date.now();
@@ -1177,17 +1176,21 @@ client.load = function load (serverSettings, callback) {
prepareEntries();
updateTitle();
+ // Don't invoke D3 in headless mode
+
if (!isInitialData) {
isInitialData = true;
- chart = client.chart = require('./chart')(client, d3, $);
- brushed();
- chart.update(true);
+ if (!headless) {
+ chart = client.chart = require('./chart')(client, d3, $);
+ brushed();
+ chart.update(true);
+ }
} else if (!inRetroMode()) {
- chart.update(false);
+ if (!headless) chart.update(false);
client.plugins.updateVisualisations(client.nowSBX);
- brushed();
+ if (!headless) brushed();
} else {
- chart.updateContext();
+ if (!headless) chart.updateContext();
}
}
};
diff --git a/lib/client/renderer.js b/lib/client/renderer.js
index 944d66da964..2c455f16ecd 100644
--- a/lib/client/renderer.js
+++ b/lib/client/renderer.js
@@ -6,8 +6,6 @@ var times = require('../times');
var DEFAULT_FOCUS = times.hours(3).msecs
, WIDTH_SMALL_DOTS = 420
, WIDTH_BIG_DOTS = 800
- , TOOLTIP_TRANS_MS = 100 // milliseconds
- , DEFAULT_TRANS_MS = 10 // milliseconds
, TOOLTIP_WIDTH = 150 //min-width + padding
;
@@ -47,8 +45,7 @@ function init (client, d3) {
}
function hideTooltip () {
- client.tooltip.transition().duration(TOOLTIP_TRANS_MS)
- .style('opacity', 0);
+ client.tooltip.style('opacity', 0);
}
// get the desired opacity for context chart based on the brush extent
@@ -166,7 +163,7 @@ function init (client, d3) {
var rawbgInfo = getRawbgInfo();
- client.tooltip.transition().duration(TOOLTIP_TRANS_MS).style('opacity', .9);
+ client.tooltip.style('opacity', .9);
client.tooltip.html('' + translate('BG') + ': ' + client.sbx.scaleEntry(d) +
(d.type === 'mbg' ? '
' + translate('Device') + ': ' + d.device : '') +
(d.type === 'forecast' && d.forecastType ? '
' + translate('Forecast Type') + ': ' + d.forecastType : '') +
@@ -178,7 +175,7 @@ function init (client, d3) {
}
// if already existing then transition each circle to its new position
- updateFocusCircles(focusCircles.transition().duration(DEFAULT_TRANS_MS));
+ updateFocusCircles(focusCircles);
// if new circle then just display
prepareFocusCircles(focusCircles.enter().append('circle'))
@@ -317,13 +314,13 @@ function init (client, d3) {
}
// if already existing then transition each circle to its new position
- updateTreatCircles(treatCircles.transition().duration(DEFAULT_TRANS_MS));
+ updateTreatCircles(treatCircles);
// if new circle then just display
prepareTreatCircles(treatCircles.enter().append('circle'))
.attr('class', 'treatment-dot')
.on('mouseover', function(d) {
- client.tooltip.transition().duration(TOOLTIP_TRANS_MS).style('opacity', .9);
+ client.tooltip.style('opacity', .9);
client.tooltip.html(d.isAnnouncement ? announcementTooltip(d) : treatmentTooltip(d))
.style('left', tooltipLeft())
.style('top', (d3.event.pageY + 15) + 'px');
@@ -404,7 +401,7 @@ function init (client, d3) {
}
// if transitioning, update rect text, position, and width
- var rectUpdates = treatRects.transition().duration(DEFAULT_TRANS_MS);
+ var rectUpdates = treatRects;
rectUpdates.attr('transform', rectTranslate);
rectUpdates.select('text')
@@ -420,7 +417,7 @@ function init (client, d3) {
.attr('class', 'g-duration')
.attr('transform', rectTranslate)
.on('mouseover', function(d) {
- client.tooltip.transition().duration(TOOLTIP_TRANS_MS).style('opacity', .9);
+ client.tooltip.style('opacity', .9);
client.tooltip.html(d.isAnnouncement ? announcementTooltip(d) : treatmentTooltip(d))
.style('left', tooltipLeft())
.style('top', (d3.event.pageY + 15) + 'px');
@@ -481,7 +478,7 @@ function init (client, d3) {
}
// if already existing then transition each circle to its new position
- prepareContextCircles(contextCircles.transition().duration(DEFAULT_TRANS_MS));
+ prepareContextCircles(contextCircles);
// if new circle then just display
prepareContextCircles(contextCircles.enter().append('circle'));
@@ -622,7 +619,7 @@ function init (client, d3) {
glucose = Math.round(glucose * decimals) / decimals;
}
- client.tooltip.transition().duration(TOOLTIP_TRANS_MS).style('opacity', .9);
+ client.tooltip.style('opacity', .9);
client.tooltip.html('' + translate('Time') + ': ' + client.formatTime(new Date(treatment.mills)) + '
' + '' + translate('Treatment type') + ': ' + translate(client.careportal.resolveEventName(treatment.eventType)) + '
' +
(treatment.carbs ? '' + translate('Carbs') + ': ' + treatment.carbs + '
' : '') +
(treatment.protein ? '' + translate('Protein') + ': ' + treatment.protein + '
' : '') +
@@ -649,7 +646,7 @@ function init (client, d3) {
//console.log(treatment);
var windowWidth = $(client.tooltip.node()).parent().parent().width();
var left = d3.event.x + TOOLTIP_WIDTH < windowWidth ? d3.event.x : windowWidth - TOOLTIP_WIDTH - 10;
- client.tooltip.transition().duration(TOOLTIP_TRANS_MS).style('opacity', .9)
+ client.tooltip.style('opacity', .9)
.style('left', left + 'px')
.style('top', (d3.event.pageY ? d3.event.pageY + 15 : 40) + 'px');
@@ -742,7 +739,7 @@ function init (client, d3) {
})
.on('drag', function() {
//console.log(d3.event);
- client.tooltip.transition().duration(TOOLTIP_TRANS_MS).style('opacity', .9);
+ client.tooltip.style('opacity', .9);
var x = Math.min(Math.max(0, d3.event.x), chart().charts.attr('width'));
var y = Math.min(Math.max(0, d3.event.y), chart().focusHeight);
@@ -793,7 +790,7 @@ function init (client, d3) {
}
, function callback (result) {
console.log(result);
- chart().drag.selectAll('.arrow').transition().duration(5000).style('opacity', 0).remove();
+ chart().drag.selectAll('.arrow').style('opacity', 0).remove();
}
);
} else {
@@ -810,7 +807,7 @@ function init (client, d3) {
}
, function callback (result) {
console.log(result);
- chart().drag.selectAll('.arrow').transition().duration(5000).style('opacity', 0).remove();
+ chart().drag.selectAll('.arrow').style('opacity', 0).remove();
}
);
} else {
@@ -827,7 +824,7 @@ function init (client, d3) {
}
, function callback (result) {
console.log(result);
- chart().drag.selectAll('.arrow').transition().duration(5000).style('opacity', 0).remove();
+ chart().drag.selectAll('.arrow').style('opacity', 0).remove();
}
);
} else {
@@ -843,7 +840,7 @@ function init (client, d3) {
}
, function callback (result) {
console.log(result);
- chart().drag.selectAll('.arrow').transition().duration(5000).style('opacity', 0).remove();
+ chart().drag.selectAll('.arrow').style('opacity', 0).remove();
}
);
} else {
@@ -871,7 +868,7 @@ function init (client, d3) {
}
, function callback (result) {
console.log(result);
- chart().drag.selectAll('.arrow').transition().duration(5000).style('opacity', 0).remove();
+ chart().drag.selectAll('.arrow').style('opacity', 0).remove();
}
);
} else {
@@ -899,7 +896,7 @@ function init (client, d3) {
}
, function callback (result) {
console.log(result);
- chart().drag.selectAll('.arrow').transition().duration(5000).style('opacity', 0).remove();
+ chart().drag.selectAll('.arrow').style('opacity', 0).remove();
}
);
} else {
@@ -1213,8 +1210,7 @@ function init (client, d3) {
return ret;
};
- treatProfiles.transition().duration(0)
- .attr('transform', function(t) {
+ treatProfiles.attr('transform', function(t) {
// change text of record on left side
return 'rotate(-90,' + chart().xScale(t.mills) + ',' + chart().yScaleBasals(topOfText) + ') ' +
'translate(' + chart().xScale(t.mills) + ',' + chart().yScaleBasals(topOfText) + ')';
@@ -1234,7 +1230,7 @@ function init (client, d3) {
})
.text(generateText)
.on('mouseover', function(d) {
- client.tooltip.transition().duration(TOOLTIP_TRANS_MS).style('opacity', .9);
+ client.tooltip.style('opacity', .9);
client.tooltip.html(profileTooltip(d))
.style('left', (d3.event.pageX) + 'px')
.style('top', (d3.event.pageY + 15) + 'px');
diff --git a/lib/plugins/cob.js b/lib/plugins/cob.js
index f3bb1902ad6..5020f2e6458 100644
--- a/lib/plugins/cob.js
+++ b/lib/plugins/cob.js
@@ -47,7 +47,6 @@ function init (ctx) {
if (_.isEmpty(result) || _.isNil(result.cob) || (Date.now() - result.mills) > TEN_MINUTES) {
- console.log('Calculating COB');
var treatmentCOB = (treatments !== undefined && treatments.length) ? cob.fromTreatments(treatments, devicestatus, profile, time, spec_profile) : {};
result = treatmentCOB;
diff --git a/lib/plugins/pluginbase.js b/lib/plugins/pluginbase.js
index 4ae28f67ca2..87102d1831d 100644
--- a/lib/plugins/pluginbase.js
+++ b/lib/plugins/pluginbase.js
@@ -84,7 +84,7 @@ function init (majorPills, minorPills, statusPills, bgStatus, tooltip) {
}).join('
\n');
pill.mouseover(function pillMouseover (event) {
- tooltip.transition().duration(200).style('opacity', .9);
+ tooltip.style('opacity', .9);
var windowWidth = $(tooltip.node()).parent().parent().width();
var left = event.pageX + TOOLTIP_WIDTH < windowWidth ? event.pageX : windowWidth - TOOLTIP_WIDTH - 10;
@@ -94,9 +94,7 @@ function init (majorPills, minorPills, statusPills, bgStatus, tooltip) {
});
pill.mouseout(function pillMouseout ( ) {
- tooltip.transition()
- .duration(200)
- .style('opacity', 0);
+ tooltip.style('opacity', 0);
});
} else {
pill.off('mouseover');
diff --git a/lib/report_plugins/daytoday.js b/lib/report_plugins/daytoday.js
index 4eadc45ea90..4fde5658b19 100644
--- a/lib/report_plugins/daytoday.js
+++ b/lib/report_plugins/daytoday.js
@@ -82,8 +82,6 @@ daytoday.report = function report_daytoday (datastorage, sorteddaystoshow, optio
var report_plugins = Nightscout.report_plugins;
var scaledTreatmentBG = report_plugins.utils.scaledTreatmentBG;
- var TOOLTIP_TRANS_MS = 300;
-
var padding = { top: 15, right: 22, bottom: 30, left: 35 };
var tddSum = 0;
@@ -290,7 +288,7 @@ daytoday.report = function report_daytoday (datastorage, sorteddaystoshow, optio
})
.on('mouseover', function(d) {
if (options.openAps && d.openaps) {
- client.tooltip.transition().duration(TOOLTIP_TRANS_MS).style('opacity', .9);
+ client.tooltip.style('opacity', .9);
var text = 'BG: ' + d.openaps.suggested.bg +
', ' + d.openaps.suggested.reason +
(d.openaps.suggested.mealAssist ? ' Meal Assist: ' + d.openaps.suggested.mealAssist : '');
@@ -1063,8 +1061,6 @@ daytoday.report = function report_daytoday (datastorage, sorteddaystoshow, optio
}
function hideTooltip () {
- client.tooltip.transition()
- .duration(TOOLTIP_TRANS_MS)
- .style('opacity', 0);
+ client.tooltip.style('opacity', 0);
}
};
diff --git a/lib/report_plugins/weektoweek.js b/lib/report_plugins/weektoweek.js
index 449546bbbe2..8719af81542 100644
--- a/lib/report_plugins/weektoweek.js
+++ b/lib/report_plugins/weektoweek.js
@@ -79,8 +79,6 @@ weektoweek.report = function report_weektoweek(datastorage, sorteddaystoshow, op
var client = Nightscout.client;
var report_plugins = Nightscout.report_plugins;
- var TOOLTIP_TRANS_MS = 300;
-
var padding = { top: 15, right: 22, bottom: 30, left: 35 };
var weekstoshow = [ ];
@@ -322,8 +320,6 @@ weektoweek.report = function report_weektoweek(datastorage, sorteddaystoshow, op
}
function hideTooltip ( ) {
- client.tooltip.transition()
- .duration(TOOLTIP_TRANS_MS)
- .style('opacity', 0);
+ client.tooltip.style('opacity', 0);
}
};
diff --git a/lib/utils.js b/lib/utils.js
index fe1778f8120..083c4284846 100644
--- a/lib/utils.js
+++ b/lib/utils.js
@@ -39,7 +39,8 @@ function init(ctx) {
return '0';
}
var mult = Math.pow(10,digits);
- var fixed = Math.sign(value) * Math.round(Math.abs(value)*mult) / mult
+ var fixed = Math.sign(value) * Math.round(Math.abs(value)*mult) / mult;
+ if (isNaN(fixed)) return '0';
return String(fixed);
};
diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json
index b63bd4dbc14..554719ebdd2 100644
--- a/npm-shrinkwrap.json
+++ b/npm-shrinkwrap.json
@@ -2272,7 +2272,7 @@
},
"browserify-aes": {
"version": "1.2.0",
- "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
+ "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
"integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
"requires": {
"buffer-xor": "^1.0.3",
@@ -2306,7 +2306,7 @@
},
"browserify-rsa": {
"version": "4.0.1",
- "resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
+ "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
"integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
"requires": {
"bn.js": "^4.1.0",
@@ -2352,7 +2352,7 @@
},
"buffer": {
"version": "4.9.1",
- "resolved": "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
"integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
"requires": {
"base64-js": "^1.0.2",
@@ -3056,7 +3056,7 @@
},
"create-hash": {
"version": "1.2.0",
- "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
+ "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
"integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
"requires": {
"cipher-base": "^1.0.1",
@@ -3068,7 +3068,7 @@
},
"create-hmac": {
"version": "1.1.7",
- "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
+ "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
"integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
"requires": {
"cipher-base": "^1.0.3",
@@ -3613,7 +3613,7 @@
},
"diffie-hellman": {
"version": "5.0.3",
- "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
+ "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
"integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
"requires": {
"bn.js": "^4.1.0",
@@ -4162,12 +4162,6 @@
"resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz",
"integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA=="
},
- "events-to-array": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/events-to-array/-/events-to-array-1.1.2.tgz",
- "integrity": "sha1-LUH1Y+H+QA7Uli/hpNXGp1Od9/Y=",
- "dev": true
- },
"evp_bytestokey": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
@@ -4693,7 +4687,8 @@
},
"ansi-regex": {
"version": "2.1.1",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"aproba": {
"version": "1.2.0",
@@ -4711,11 +4706,13 @@
},
"balanced-match": {
"version": "1.0.0",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
+ "optional": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -4728,15 +4725,18 @@
},
"code-point-at": {
"version": "1.1.0",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"concat-map": {
"version": "0.0.1",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"console-control-strings": {
"version": "1.1.0",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"core-util-is": {
"version": "1.0.2",
@@ -4839,7 +4839,8 @@
},
"inherits": {
"version": "2.0.3",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"ini": {
"version": "1.3.5",
@@ -4849,6 +4850,7 @@
"is-fullwidth-code-point": {
"version": "1.0.0",
"bundled": true,
+ "optional": true,
"requires": {
"number-is-nan": "^1.0.0"
}
@@ -4861,17 +4863,20 @@
"minimatch": {
"version": "3.0.4",
"bundled": true,
+ "optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
},
"minimist": {
"version": "0.0.8",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"minipass": {
"version": "2.3.5",
"bundled": true,
+ "optional": true,
"requires": {
"safe-buffer": "^5.1.2",
"yallist": "^3.0.0"
@@ -4888,6 +4893,7 @@
"mkdirp": {
"version": "0.5.1",
"bundled": true,
+ "optional": true,
"requires": {
"minimist": "0.0.8"
}
@@ -4960,7 +4966,8 @@
},
"number-is-nan": {
"version": "1.0.1",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"object-assign": {
"version": "4.1.1",
@@ -4970,6 +4977,7 @@
"once": {
"version": "1.4.0",
"bundled": true,
+ "optional": true,
"requires": {
"wrappy": "1"
}
@@ -5045,7 +5053,8 @@
},
"safe-buffer": {
"version": "5.1.2",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"safer-buffer": {
"version": "2.1.2",
@@ -5075,6 +5084,7 @@
"string-width": {
"version": "1.0.2",
"bundled": true,
+ "optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
@@ -5092,6 +5102,7 @@
"strip-ansi": {
"version": "3.0.1",
"bundled": true,
+ "optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
@@ -5130,11 +5141,13 @@
},
"wrappy": {
"version": "1.0.2",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"yallist": {
"version": "3.0.3",
- "bundled": true
+ "bundled": true,
+ "optional": true
}
}
},
@@ -6355,7 +6368,7 @@
},
"json5": {
"version": "1.0.1",
- "resolved": "http://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
"requires": {
"minimist": "^1.2.0"
@@ -6839,7 +6852,7 @@
"minimatch": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"requires": {
"brace-expansion": "^1.1.7"
}
@@ -9402,7 +9415,7 @@
},
"readable-stream": {
"version": "2.3.6",
- "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
"requires": {
"core-util-is": "~1.0.0",
@@ -9910,7 +9923,7 @@
},
"sha.js": {
"version": "2.4.11",
- "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
+ "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
"integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
"requires": {
"inherits": "^2.0.1",
@@ -10786,7 +10799,7 @@
},
"string_decoder": {
"version": "1.1.1",
- "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"requires": {
"safe-buffer": "~5.1.0"
@@ -10964,27 +10977,6 @@
}
}
},
- "tap-parser": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-1.3.2.tgz",
- "integrity": "sha1-EgxQiciMPIp5PvKIhn3jIeGPjCI=",
- "dev": true,
- "requires": {
- "events-to-array": "^1.0.1",
- "inherits": "~2.0.1",
- "js-yaml": "^3.2.7",
- "readable-stream": "^2"
- }
- },
- "tap-set-exit": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/tap-set-exit/-/tap-set-exit-1.1.1.tgz",
- "integrity": "sha1-nGejf03FcOSZlCBGT45sGYaLVWE=",
- "dev": true,
- "requires": {
- "tap-parser": "^1.0.4"
- }
- },
"tapable": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
diff --git a/package.json b/package.json
index 2a12a51f6c2..bf3c4c7f802 100644
--- a/package.json
+++ b/package.json
@@ -128,7 +128,6 @@
"nyc": "^14.1.1",
"should": "^13.2.3",
"supertest": "^3.4.2",
- "tap-set-exit": "^1.1.1",
"terser-webpack-plugin": "^1.4.1",
"webpack-bundle-analyzer": "^3.4.1",
"webpack-dev-middleware": "^3.7.2",
diff --git a/tests/admintools.test.js b/tests/admintools.test.js
index bbede54156a..9f867a543c3 100644
--- a/tests/admintools.test.js
+++ b/tests/admintools.test.js
@@ -153,7 +153,9 @@ describe('admintools', function ( ) {
var d3 = require('d3');
//disable all d3 transitions so most of the other code can run with jsdom
- d3.timer = function mockTimer() { };
+ //d3.timer = function mockTimer() { };
+ let timer = d3.timer(function mockTimer() { });
+ timer.stop();
var cookieStorageType = self.localStorage._type
diff --git a/tests/careportal.test.js b/tests/careportal.test.js
index 782bc4fa566..36f48d3a5a4 100644
--- a/tests/careportal.test.js
+++ b/tests/careportal.test.js
@@ -49,7 +49,7 @@ describe('client', function ( ) {
client.init();
- client.dataUpdate(nowData);
+ client.dataUpdate(nowData, true);
client.careportal.prepareEvents();
diff --git a/tests/client.renderer.test.js b/tests/client.renderer.test.js
index 569691cd717..ca81e7d99e8 100644
--- a/tests/client.renderer.test.js
+++ b/tests/client.renderer.test.js
@@ -54,6 +54,10 @@ describe('renderer', () => {
}
}
, futureOpacity: (millsDifference) => { return 1; }
+ , createAdjustedRange: () => { return [
+ { getTime: () => { return extent.times[0]}},
+ { getTime: () => { return extent.times[1]}}
+ ] }
}
, latestSGV: { mills: 120 }
};
diff --git a/tests/reports.test.js b/tests/reports.test.js
index 3c79e3b096a..7d5a0eb7009 100644
--- a/tests/reports.test.js
+++ b/tests/reports.test.js
@@ -261,10 +261,12 @@ describe('reports', function ( ) {
var result = $('body').html();
//var filesys = require('fs');
//var logfile = filesys.createWriteStream('out.txt', { flags: 'a'} )
- //logfile.write($('body').html());
-
+ //logfile.write(result);
+ //console.log('RESULT', result);
+
result.indexOf('Milk now').should.be.greaterThan(-1); // daytoday
- result.indexOf('50 g (1.67U)').should.be.greaterThan(-1); // daytoday
+ result.indexOf('50 g').should.be.greaterThan(-1); // daytoday
+ result.indexOf('TDD average: 2.9U').should.be.greaterThan(-1); // daytoday
result.indexOf('