#1248 createXMLSample create xml sample for primitive

This commit is contained in:
Anna Bodnia
2016-01-12 14:06:54 +02:00
parent e904ca1729
commit 7a8f7016c2
6 changed files with 138 additions and 15 deletions

43
dist/swagger-ui.js vendored
View File

@@ -1,4 +1,4 @@
§/**
/**
* swagger-ui - Swagger UI is a dependency-free collection of HTML, JavaScript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API
* @version v2.1.4
* @link http://swagger.io
@@ -26810,11 +26810,50 @@ SwaggerUi.partials.signature = (function () {
}
};
var wrapTag = function (name, value) {
var str = [
'<', name, '>',
value,
'</', name, '>'
];
return str.join('');
};
var createXMLSample = function (name, definition) {
var primitivesMap = {
'string': {
'date': new Date(1).toISOString().split('T')[0],
'date-time' : new Date(1).toISOString(),
'default': 'string'
},
'integer': 1,
'number': 1.1,
'boolean': true
};
var type = definition.type;
var format = definition.format;
var value;
if (_.keys(primitivesMap).indexOf(type) !== -1) {
if (type === 'string') {
value = format ? primitivesMap.string[format] : primitivesMap.string.default;
} else {
value = primitivesMap[type];
}
return wrapTag(name, value);
}
return '';
};
return {
getModelSignature: getModelSignature,
createJSONSample: createJSONSample,
getParameterModelSignature: getParameterModelSignature,
createParameterJSONSample: createParameterJSONSample
createParameterJSONSample: createParameterJSONSample,
createXMLSample: createXMLSample
};
})();

File diff suppressed because one or more lines are too long

View File

@@ -22,8 +22,8 @@ module.exports = function(config) {
'test/unit/**/*.js'
],
reporters: [ 'dots' ],
singleRun: true,
browsers: [ 'PhantomJS', /* 'Chrome' */]
browsers: [ 'PhantomJS'/*, 'Chrome' */]
});
};

View File

@@ -643,11 +643,50 @@ SwaggerUi.partials.signature = (function () {
}
};
var wrapTag = function (name, value) {
var str = [
'<', name, '>',
value,
'</', name, '>'
];
return str.join('');
};
var createXMLSample = function (name, definition) {
var primitivesMap = {
'string': {
'date': new Date(1).toISOString().split('T')[0],
'date-time' : new Date(1).toISOString(),
'default': 'string'
},
'integer': 1,
'number': 1.1,
'boolean': true
};
var type = definition.type;
var format = definition.format;
var value;
if (_.keys(primitivesMap).indexOf(type) !== -1) {
if (type === 'string') {
value = format ? primitivesMap.string[format] : primitivesMap.string.default;
} else {
value = primitivesMap[type];
}
return wrapTag(name, value);
}
return '';
};
return {
getModelSignature: getModelSignature,
createJSONSample: createJSONSample,
getParameterModelSignature: getParameterModelSignature,
createParameterJSONSample: createParameterJSONSample
createParameterJSONSample: createParameterJSONSample,
createXMLSample: createXMLSample
};
})();

View File

@@ -1,9 +0,0 @@
'use strict';
// var expect = require('chai').expect;
describe('', function () {
it('', function () {
expect(true).to.equal(true);
});
});

View File

@@ -0,0 +1,54 @@
'use strict';
describe('SwaggerUi.partials.signature tests', function () {
var sut = SwaggerUi.partials.signature;
describe('method createXMLSample', function () {
var date = new Date(1).toISOString().split('T')[0];
var dateTime = new Date(1).toISOString();
describe('simple types', function () {
it('returns tag <tagname>string</tagname> when passing type string', function () {
var name = 'tagname';
var definition = {type: 'string'};
expect(sut.createXMLSample(name, definition)).to.equal('<tagname>string</tagname>');
});
it('returns tag <tagname>1</tagname> when passing type integer', function () {
var name = 'tagname';
var definition = {type: 'integer'};
expect(sut.createXMLSample(name, definition)).to.equal('<tagname>1</tagname>');
});
it('returns tag <tagname>1.1</tagname> when passing type number', function () {
var name = 'tagname';
var definition = {type: 'number'};
expect(sut.createXMLSample(name, definition)).to.equal('<tagname>1.1</tagname>');
});
it('returns tag <tagname>boolean</tagname> when passing type boolean', function () {
var name = 'tagname';
var definition = {type: 'boolean'};
expect(sut.createXMLSample(name, definition)).to.equal('<tagname>true</tagname>');
});
it('returns tag <tagname>' + date + '</tagname> when passing type string format date', function () {
var name = 'tagname';
var definition = {type: 'string', format: 'date'};
expect(sut.createXMLSample(name, definition)).to.equal('<tagname>' + date + '</tagname>');
});
it('returns tag <tagname>' + dateTime + '</tagname> when passing type boolean format date-time', function () {
var name = 'tagname';
var definition = {type: 'string', format: 'date-time'};
expect(sut.createXMLSample(name, definition)).to.equal('<tagname>' + dateTime + '</tagname>');
});
});
});
});