Skip to content

Commit

Permalink
Merge pull request #658 from apiaryio/pksunkara/fix
Browse files Browse the repository at this point in the history
fix: Default in enum parameters should be enum element
  • Loading branch information
kylef authored Nov 15, 2018
2 parents 1facd70 + dcaa825 commit e83e2fd
Show file tree
Hide file tree
Showing 9 changed files with 164 additions and 131 deletions.
9 changes: 8 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
# Drafter Changelog

## master
## 4.0.0-pre.2

### Bug Fixes

* Parameters which are of `enum` type will now have their `default` values
correctly serialized in the output using `enum` type

### Enhancements

* Add column/line info to anotations source maps

Expand Down
14 changes: 10 additions & 4 deletions features/fixtures/refract.json
Original file line number Diff line number Diff line change
Expand Up @@ -124,8 +124,11 @@
"element": "enum",
"attributes": {
"default": {
"element": "string",
"content": "<default value>"
"element": "enum",
"content": {
"element": "string",
"content": "<default value>"
}
},
"enumerations": {
"element": "array",
Expand Down Expand Up @@ -237,8 +240,11 @@
"element": "enum",
"attributes": {
"default": {
"element": "string",
"content": "<default value>"
"element": "enum",
"content": {
"element": "string",
"content": "<default value>"
}
},
"enumerations": {
"element": "array",
Expand Down
114 changes: 60 additions & 54 deletions features/fixtures/refract.sourcemap.json
Original file line number Diff line number Diff line change
Expand Up @@ -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": "<default value>"
"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": "<default value>"
}
},
"enumerations": {
"element": "array",
Expand Down Expand Up @@ -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": "<default value>"
"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": "<default value>"
}
},
"enumerations": {
"element": "array",
Expand Down
76 changes: 40 additions & 36 deletions features/fixtures/refract.sourcemap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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: "<default value>"
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: "<default value>"
enumerations:
element: "array"
content:
Expand Down Expand Up @@ -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: "<default value>"
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: "<default value>"
enumerations:
element: "array"
content:
Expand Down
12 changes: 8 additions & 4 deletions features/fixtures/refract.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,10 @@ content:
element: "enum"
attributes:
default:
element: "string"
content: "<default value>"
element: "enum"
content:
element: "string"
content: "<default value>"
enumerations:
element: "array"
content:
Expand Down Expand Up @@ -166,8 +168,10 @@ content:
element: "enum"
attributes:
default:
element: "string"
content: "<default value>"
element: "enum"
content:
element: "string"
content: "<default value>"
enumerations:
element: "array"
content:
Expand Down
4 changes: 2 additions & 2 deletions src/RefractAPI.cc
Original file line number Diff line number Diff line change
Expand Up @@ -179,8 +179,8 @@ std::unique_ptr<IElement> 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<EnumElement>(LiteralToRefract(MAKE_NODE_INFO(parameter, defaultValue), context)));
}

// Add enumerations
Expand Down
2 changes: 1 addition & 1 deletion src/Version.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
#define DRAFTER_PATCH_VERSION 0

#define DRAFTER_VERSION_IS_RELEASE 0
#define DRAFTER_PRE_RELEASE_VERSION 1
#define DRAFTER_PRE_RELEASE_VERSION 2

#ifndef DRAFTER_STRINGIFY
#define DRAFTER_STRINGIFY(n) DRAFTER_STRINGIFY_HELPER(n)
Expand Down
7 changes: 5 additions & 2 deletions test/fixtures/api/resource-parameters.json
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,11 @@
"element": "enum",
"attributes": {
"default": {
"element": "string",
"content": "1"
"element": "enum",
"content": {
"element": "string",
"content": "1"
}
},
"enumerations": {
"element": "array",
Expand Down
57 changes: 30 additions & 27 deletions test/fixtures/api/resource-parameters.sourcemap.json
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down

0 comments on commit e83e2fd

Please sign in to comment.