Skip to content

Commit

Permalink
Test return types
Browse files Browse the repository at this point in the history
  • Loading branch information
neild3r committed Mar 27, 2017
1 parent 330c930 commit 26c804d
Show file tree
Hide file tree
Showing 4 changed files with 185 additions and 104 deletions.
2 changes: 1 addition & 1 deletion src/block.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ export abstract class Block
this.position = position;
this.editor = editor;
if (editor != null && position != null) {
this.signiture = this.getBlock(position, this.signitureEnd);
this.setSigniture(this.getBlock(position, this.signitureEnd));
}
}

Expand Down
15 changes: 15 additions & 0 deletions test/fixtures/functions.php
Original file line number Diff line number Diff line change
Expand Up @@ -75,4 +75,19 @@ public function getParamTypes(
$array2 = array()
) {
}

////=> debug-info
public function __debugInfo()
{
}

////=> isset
public function __isset($name)
{
}

////=> to-string
public function __toString()
{
}
}
264 changes: 166 additions & 98 deletions test/fixtures/functions.php.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,151 +2,219 @@
{
"key": "simple",
"name": "Simple public",
"params": []
"result": {
"return": "void",
"params": []
}
},
{
"key": "simple-static",
"name": "Simple public static",
"params": []
"result": {
"return": "void",
"params": []
}
},
{
"key": "constructor-no-vis",
"name": "Constructor with no visibility",
"params": []
"result": {
"return": null,
"params": []
}
},
{
"key": "abstract-simple",
"name": "Abstract method simple",
"params": []
"result": {
"return": "void",
"params": []
}
},
{
"key": "abstract-static",
"name": "Abstract method static",
"params": []
"result": {
"return": "void",
"params": []
}
},
{
"key": "abstract-static-alt",
"name": "Abstract method static alternate",
"params": []
"result": {
"return": "void",
"params": []
}
},
{
"key": "final-static",
"name": "Final static method",
"params": []
"result": {
"return": "void",
"params": []
}
},
{
"key": "final",
"name": "Final method",
"params": []
"result": {
"return": "void",
"params": []
}
},
{
"key": "params",
"name": "Basic params",
"params": [
{
"name": "$var",
"type": "[type]"
},
{
"name": "$var2",
"type": "[type]"
},
{
"name": "$var3",
"type": "[type]"
}
]
"result": {
"return": "void",
"params": [
{
"name": "$var",
"type": "[type]"
},
{
"name": "$var2",
"type": "[type]"
},
{
"name": "$var3",
"type": "[type]"
}
]
}
},
{
"key": "params-complex",
"name": "Complex params",
"params": [
{
"name": "$var",
"type": "[type]"
},
{
"name": "$var2",
"type": "Hint"
},
{
"name": "$var3",
"type": "boolean"
}
]
"result": {
"return": "void",
"params": [
{
"name": "$var",
"type": "[type]"
},
{
"name": "$var2",
"type": "Hint"
},
{
"name": "$var3",
"type": "boolean"
}
]
}
},
{
"key": "multiline",
"name": "Basic Multiline",
"params": [
{
"name": "$var",
"type": "[type]"
},
{
"name": "$var2",
"type": "[type]"
},
{
"name": "$var3",
"type": "[type]"
}
]
"result": {
"return": "void",
"params": [
{
"name": "$var",
"type": "[type]"
},
{
"name": "$var2",
"type": "[type]"
},
{
"name": "$var3",
"type": "[type]"
}
]
}
},
{
"key": "multiline-complex",
"name": "Complex Multiline",
"params": [
{
"name": "$var",
"type": "TypeHint"
},
{
"name": "$var2",
"type": "[type]"
},
{
"name": "$var3",
"type": "string"
}
]
"result": {
"return": "void",
"params": [
{
"name": "$var",
"type": "TypeHint"
},
{
"name": "$var2",
"type": "[type]"
},
{
"name": "$var3",
"type": "string"
}
]
}
},
{
"key": "param-types",
"name": "All param types",
"params": [
{
"name": "$hint",
"type": "TypeHint"
},
{
"name": "$boolean",
"type": "boolean"
},
{
"name": "$string",
"type": "string"
},
{
"name": "$string2",
"type": "string"
},
{
"name": "$int",
"type": "int"
},
{
"name": "$float",
"type": "float"
},
{
"name": "$array",
"type": "array"
},
{
"name": "$array2",
"type": "array"
}
]
"result": {
"return": "void",
"params": [
{
"name": "$hint",
"type": "TypeHint"
},
{
"name": "$boolean",
"type": "boolean"
},
{
"name": "$string",
"type": "string"
},
{
"name": "$string2",
"type": "string"
},
{
"name": "$int",
"type": "int"
},
{
"name": "$float",
"type": "float"
},
{
"name": "$array",
"type": "array"
},
{
"name": "$array2",
"type": "array"
}
]
}
},
{
"key": "debug-info",
"name": "Debug info return type",
"result": {
"return": "array",
"params": []
}
},
{
"key": "isset",
"name": "isset return type",
"result": {
"return": "boolean",
"params": [
{
"name": "$name",
"type": "[type]"
}
]
}
},
{
"key": "to-string",
"name": "toString return type",
"result": {
"return": "string",
"params": []
}
}
]
8 changes: 3 additions & 5 deletions test/functions.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,9 @@ suite("Function tests", () => {
test("Param Test: "+ testData.name, () => {
let func = new Function(testPositions[testData.key], editor);
let actual:Doc = func.parse();
let expected:Doc = new Doc();
expected.fromObject({
params: testData.params
});
assert.deepEqual(actual.params, expected.params);
let expected:Doc = new Doc('Undocumented function');
expected.fromObject(testData.result);
assert.deepEqual(actual, expected);
});
});
});

0 comments on commit 26c804d

Please sign in to comment.