#1248 createXMLSample added namespace display

This commit is contained in:
Anna Bodnia
2016-01-12 19:33:00 +02:00
parent 4b0b385102
commit b3ddef2965
4 changed files with 125 additions and 22 deletions

49
dist/swagger-ui.js vendored
View File

@@ -26810,9 +26810,19 @@ SwaggerUi.partials.signature = (function () {
} }
}; };
var wrapTag = function (name, value) { var wrapTag = function (name, value, attrs) {
var str = [ var str, attributes;
'<', name, '>',
attrs = attrs || [];
attributes = attrs.map(function (attr) {
return ' ' + attr.name + '="' + attr.value + '"';
});
str = [
'<', name,
attributes.join(''),
'>',
value, value,
'</', name, '>' '</', name, '>'
]; ];
@@ -26836,6 +26846,28 @@ SwaggerUi.partials.signature = (function () {
return result; return result;
}; };
var getNamespace = function (xml) {
var namespace = '';
var name = 'xlmns';
xml = xml || {};
if (xml.namespace) {
namespace = xml.namespace;
} else {
return namespace;
}
if (xml.prefix) {
name += ':' + xml.prefix;
}
return {
name: name,
value: namespace
};
};
var createXMLSample = function (name, definition) { var createXMLSample = function (name, definition) {
var primitivesMap = { var primitivesMap = {
'string': { 'string': {
@@ -26856,15 +26888,22 @@ SwaggerUi.partials.signature = (function () {
var type = definition.type; var type = definition.type;
var format = definition.format; var format = definition.format;
var xml = definition.xml || {}; var xml = definition.xml || {};
var attributes = [];
var namespace = getNamespace(xml);
var value; var value;
name = getName(name, xml); name = getName(name, xml);
if (namespace) {
attributes.push(namespace);
}
// Here are going to be else statements for Array and Object types // Here are going to be else statements for Array and Object types
if (_.keys(primitivesMap).indexOf(type) !== -1) { if (_.keys(primitivesMap).indexOf(type) !== -1) {
value = format ? primitivesMap[type][format] : primitivesMap[type].default; value = primitivesMap[type][format] || primitivesMap[type].default;
return wrapTag(name, value); return wrapTag(name, value, attributes);
} }
return ''; return '';

File diff suppressed because one or more lines are too long

View File

@@ -643,9 +643,19 @@ SwaggerUi.partials.signature = (function () {
} }
}; };
var wrapTag = function (name, value) { var wrapTag = function (name, value, attrs) {
var str = [ var str, attributes;
'<', name, '>',
attrs = attrs || [];
attributes = attrs.map(function (attr) {
return ' ' + attr.name + '="' + attr.value + '"';
});
str = [
'<', name,
attributes.join(''),
'>',
value, value,
'</', name, '>' '</', name, '>'
]; ];
@@ -669,6 +679,28 @@ SwaggerUi.partials.signature = (function () {
return result; return result;
}; };
var getNamespace = function (xml) {
var namespace = '';
var name = 'xlmns';
xml = xml || {};
if (xml.namespace) {
namespace = xml.namespace;
} else {
return namespace;
}
if (xml.prefix) {
name += ':' + xml.prefix;
}
return {
name: name,
value: namespace
};
};
var createXMLSample = function (name, definition) { var createXMLSample = function (name, definition) {
var primitivesMap = { var primitivesMap = {
'string': { 'string': {
@@ -689,15 +721,22 @@ SwaggerUi.partials.signature = (function () {
var type = definition.type; var type = definition.type;
var format = definition.format; var format = definition.format;
var xml = definition.xml || {}; var xml = definition.xml || {};
var attributes = [];
var namespace = getNamespace(xml);
var value; var value;
name = getName(name, xml); name = getName(name, xml);
if (namespace) {
attributes.push(namespace);
}
// Here are going to be else statements for Array and Object types // Here are going to be else statements for Array and Object types
if (_.keys(primitivesMap).indexOf(type) !== -1) { if (_.keys(primitivesMap).indexOf(type) !== -1) {
value = format ? primitivesMap[type][format] : primitivesMap[type].default; value = primitivesMap[type][format] || primitivesMap[type].default;
return wrapTag(name, value); return wrapTag(name, value, attributes);
} }
return ''; return '';

View File

@@ -88,6 +88,31 @@ describe('SwaggerUi.partials.signature tests', function () {
expect(sut.createXMLSample(name, definition)).to.equal('<test:tagname>string</test:tagname>'); expect(sut.createXMLSample(name, definition)).to.equal('<test:tagname>string</test:tagname>');
}); });
it('returns tag <test:tagname >string</test:tagname> when passing type string and xml:{"namespace": "http://swagger.io/schema/sample", "prefix": "sample"}', function () {
var name = 'name';
var definition = {
"type": "string",
"xml": {
"namespace": "http://swagger.io/schema/sample",
"prefix": "sample"
}
};
expect(sut.createXMLSample(name, definition)).to.equal('<sample:name xlmns:sample="http://swagger.io/schema/sample">string</sample:name>');
});
it('returns tag <test:tagname >string</test:tagname> when passing type string and xml:{"namespace": "http://swagger.io/schema/sample"}', function () {
var name = 'name';
var definition = {
"type": "string",
"xml": {
"namespace": "http://swagger.io/schema/sample"
}
};
expect(sut.createXMLSample(name, definition)).to.equal('<name xlmns="http://swagger.io/schema/sample">string</name>');
});
}); });
}); });
}); });