Add test for range step size for int (1) vs float (0.1) (#1776)

* Add test for range step size for int (1) vs float (0.1)

* Remove old default setting for integer

* fixed tests
This commit is contained in:
Jeffrey Warren
2020-12-05 12:34:49 -05:00
committed by GitHub
parent cbaa0f0f6f
commit 5a6d5560ff
3 changed files with 8 additions and 4 deletions

View File

@@ -136,7 +136,7 @@ function DefaultHtmlStepUi(_sequencer, options) {
'"max="' + '"max="' +
inputDesc.max + inputDesc.max +
'"step="' + '"step="' +
(inputDesc.step ? inputDesc.step : 1) + '">' + '<span>' + paramVal + '</span>'; inputDesc.step + '">' + '<span>' + paramVal + '</span>';
} }
else html += '">'; else html += '">';

View File

@@ -7,6 +7,7 @@ function mapHtmlTypes(inputInfo){
switch(inputInfo.type.toLowerCase()){ switch(inputInfo.type.toLowerCase()){
case 'integer': case 'integer':
htmlType = inputInfo.min != undefined ? 'range' : 'number'; htmlType = inputInfo.min != undefined ? 'range' : 'number';
if (htmlType === 'range') inputInfo.step = inputInfo.step || 1; // default range step size for integer
break; break;
case 'string': case 'string':
htmlType = 'text'; htmlType = 'text';
@@ -19,6 +20,7 @@ function mapHtmlTypes(inputInfo){
break; break;
case 'float': case 'float':
htmlType = inputInfo.min != undefined ? 'range' : 'text'; htmlType = inputInfo.min != undefined ? 'range' : 'text';
if (htmlType === 'range') inputInfo.step = inputInfo.step || 0.1; // default range step size for float
break; break;
default: default:
htmlType = 'text'; htmlType = 'text';

View File

@@ -6,10 +6,12 @@ describe('HTML Types Mapping Function', function() {
expect(mapHtmlTypes({type: 'percentage'})).toEqual({type: 'number'}); expect(mapHtmlTypes({type: 'percentage'})).toEqual({type: 'number'});
expect(mapHtmlTypes({type: 'integer'})).toEqual({type: 'number'}); expect(mapHtmlTypes({type: 'integer'})).toEqual({type: 'number'});
expect(mapHtmlTypes({type: 'integer', min: 20, max: 100})).toEqual({type: 'range', min: 20, max: 100}); expect(mapHtmlTypes({type: 'integer', min: 20, max: 100})).toEqual({type: 'range', min: 20, max: 100, step: 1});
expect(mapHtmlTypes({type: 'float', min: 20, max: 100})).toEqual({type: 'range', min: 20, max: 100, step: 0.1}); // should default to step = 1
expect(mapHtmlTypes({type: 'float'})).toEqual({type: 'text'}); expect(mapHtmlTypes({type: 'float'})).toEqual({type: 'text'});
expect(mapHtmlTypes({type: 'float', min: 20, max: 100})).toEqual({type: 'range', min: 20, max: 100}); expect(mapHtmlTypes({type: 'float', min: 20, max: 100})).toEqual({type: 'range', min: 20, max: 100, step: 0.1});
expect(mapHtmlTypes({type: 'float', min: 20, max: 100})).toEqual({type: 'range', min: 20, max: 100, step: 0.1}); // should default to step = 0.1
}); });
it('maps text type', function() { it('maps text type', function() {
@@ -21,4 +23,4 @@ describe('HTML Types Mapping Function', function() {
expect(mapHtmlTypes({type: 'select'})).toEqual({type: 'select'}); expect(mapHtmlTypes({type: 'select'})).toEqual({type: 'select'});
}); });
}); });