From 0e8b58a5732e858504af8429c0322a203c637b5b Mon Sep 17 00:00:00 2001 From: Pavan Kumar Sunkara Date: Mon, 29 Oct 2018 16:05:44 +0100 Subject: [PATCH] fix: Default in enum parameters should be enum element --- features/fixtures/refract.json | 14 ++- features/fixtures/refract.sourcemap.json | 114 +++++++++--------- features/fixtures/refract.sourcemap.yaml | 76 ++++++------ features/fixtures/refract.yaml | 12 +- src/RefractAPI.cc | 4 +- test/fixtures/api/resource-parameters.json | 7 +- .../api/resource-parameters.sourcemap.json | 57 ++++----- 7 files changed, 155 insertions(+), 129 deletions(-) diff --git a/features/fixtures/refract.json b/features/fixtures/refract.json index 820699693..c21f1dcd3 100644 --- a/features/fixtures/refract.json +++ b/features/fixtures/refract.json @@ -124,8 +124,11 @@ "element": "enum", "attributes": { "default": { - "element": "string", - "content": "" + "element": "enum", + "content": { + "element": "string", + "content": "" + } }, "enumerations": { "element": "array", @@ -237,8 +240,11 @@ "element": "enum", "attributes": { "default": { - "element": "string", - "content": "" + "element": "enum", + "content": { + "element": "string", + "content": "" + } }, "enumerations": { "element": "array", diff --git a/features/fixtures/refract.sourcemap.json b/features/fixtures/refract.sourcemap.json index 5f3a104f7..4b8a98664 100644 --- a/features/fixtures/refract.sourcemap.json +++ b/features/fixtures/refract.sourcemap.json @@ -374,33 +374,36 @@ "element": "enum", "attributes": { "default": { - "element": "string", - "attributes": { - "sourceMap": { - "element": "array", - "content": [ - { - "element": "sourceMap", - "content": [ - { - "element": "array", - "content": [ - { - "element": "number", - "content": 516 - }, - { - "element": "number", - "content": 86 - } - ] - } - ] - } - ] - } - }, - "content": "" + "element": "enum", + "content": { + "element": "string", + "attributes": { + "sourceMap": { + "element": "array", + "content": [ + { + "element": "sourceMap", + "content": [ + { + "element": "array", + "content": [ + { + "element": "number", + "content": 516 + }, + { + "element": "number", + "content": 86 + } + ] + } + ] + } + ] + } + }, + "content": "" + } }, "enumerations": { "element": "array", @@ -862,33 +865,36 @@ "element": "enum", "attributes": { "default": { - "element": "string", - "attributes": { - "sourceMap": { - "element": "array", - "content": [ - { - "element": "sourceMap", - "content": [ - { - "element": "array", - "content": [ - { - "element": "number", - "content": 823 - }, - { - "element": "number", - "content": 86 - } - ] - } - ] - } - ] - } - }, - "content": "" + "element": "enum", + "content": { + "element": "string", + "attributes": { + "sourceMap": { + "element": "array", + "content": [ + { + "element": "sourceMap", + "content": [ + { + "element": "array", + "content": [ + { + "element": "number", + "content": 823 + }, + { + "element": "number", + "content": 86 + } + ] + } + ] + } + ] + } + }, + "content": "" + } }, "enumerations": { "element": "array", diff --git a/features/fixtures/refract.sourcemap.yaml b/features/fixtures/refract.sourcemap.yaml index 6a171f7a4..feee27100 100644 --- a/features/fixtures/refract.sourcemap.yaml +++ b/features/fixtures/refract.sourcemap.yaml @@ -249,24 +249,26 @@ content: element: "enum" attributes: default: - element: "string" - attributes: - sourceMap: - element: "array" - content: - - - element: "sourceMap" - content: - - - element: "array" - content: - - - element: "number" - content: 516 - - - element: "number" - content: 86 - content: "" + element: "enum" + content: + element: "string" + attributes: + sourceMap: + element: "array" + content: + - + element: "sourceMap" + content: + - + element: "array" + content: + - + element: "number" + content: 516 + - + element: "number" + content: 86 + content: "" enumerations: element: "array" content: @@ -566,24 +568,26 @@ content: element: "enum" attributes: default: - element: "string" - attributes: - sourceMap: - element: "array" - content: - - - element: "sourceMap" - content: - - - element: "array" - content: - - - element: "number" - content: 823 - - - element: "number" - content: 86 - content: "" + element: "enum" + content: + element: "string" + attributes: + sourceMap: + element: "array" + content: + - + element: "sourceMap" + content: + - + element: "array" + content: + - + element: "number" + content: 823 + - + element: "number" + content: 86 + content: "" enumerations: element: "array" content: diff --git a/features/fixtures/refract.yaml b/features/fixtures/refract.yaml index 37241f595..5e2b287cd 100644 --- a/features/fixtures/refract.yaml +++ b/features/fixtures/refract.yaml @@ -89,8 +89,10 @@ content: element: "enum" attributes: default: - element: "string" - content: "" + element: "enum" + content: + element: "string" + content: "" enumerations: element: "array" content: @@ -166,8 +168,10 @@ content: element: "enum" attributes: default: - element: "string" - content: "" + element: "enum" + content: + element: "string" + content: "" enumerations: element: "array" content: diff --git a/src/RefractAPI.cc b/src/RefractAPI.cc index 540a01c1f..bc45b22b0 100644 --- a/src/RefractAPI.cc +++ b/src/RefractAPI.cc @@ -179,8 +179,8 @@ std::unique_ptr ParameterValuesToRefract( // Add default value if (!parameter.node->defaultValue.empty()) { - element->attributes().set( - SerializeKey::Default, LiteralToRefract(MAKE_NODE_INFO(parameter, defaultValue), context)); + element->attributes().set(SerializeKey::Default, + make_element(LiteralToRefract(MAKE_NODE_INFO(parameter, defaultValue), context))); } // Add enumerations diff --git a/test/fixtures/api/resource-parameters.json b/test/fixtures/api/resource-parameters.json index 38ff13ede..6a4c03211 100644 --- a/test/fixtures/api/resource-parameters.json +++ b/test/fixtures/api/resource-parameters.json @@ -85,8 +85,11 @@ "element": "enum", "attributes": { "default": { - "element": "string", - "content": "1" + "element": "enum", + "content": { + "element": "string", + "content": "1" + } }, "enumerations": { "element": "array", diff --git a/test/fixtures/api/resource-parameters.sourcemap.json b/test/fixtures/api/resource-parameters.sourcemap.json index 70b175deb..8559a7363 100644 --- a/test/fixtures/api/resource-parameters.sourcemap.json +++ b/test/fixtures/api/resource-parameters.sourcemap.json @@ -273,33 +273,36 @@ "element": "enum", "attributes": { "default": { - "element": "string", - "attributes": { - "sourceMap": { - "element": "array", - "content": [ - { - "element": "sourceMap", - "content": [ - { - "element": "array", - "content": [ - { - "element": "number", - "content": 158 - }, - { - "element": "number", - "content": 11 - } - ] - } - ] - } - ] - } - }, - "content": "1" + "element": "enum", + "content": { + "element": "string", + "attributes": { + "sourceMap": { + "element": "array", + "content": [ + { + "element": "sourceMap", + "content": [ + { + "element": "array", + "content": [ + { + "element": "number", + "content": 158 + }, + { + "element": "number", + "content": 11 + } + ] + } + ] + } + ] + } + }, + "content": "1" + } }, "enumerations": { "element": "array",