fixed and added test for:
generate @return {type} based on a return statement. Defaults to
"Object" but will be a String,Number or boolean if it detects that.
Will not generate @return if there is no return statement with a value
in the function.
diff --git a/tests/org.eclipse.dltk.javascript.core.tests/src/org/eclipse/dltk/javascript/core/tests/structure/StructureParserTests.java b/tests/org.eclipse.dltk.javascript.core.tests/src/org/eclipse/dltk/javascript/core/tests/structure/StructureParserTests.java
index 5eb5845..e282b9b 100644
--- a/tests/org.eclipse.dltk.javascript.core.tests/src/org/eclipse/dltk/javascript/core/tests/structure/StructureParserTests.java
+++ b/tests/org.eclipse.dltk.javascript.core.tests/src/org/eclipse/dltk/javascript/core/tests/structure/StructureParserTests.java
@@ -203,7 +203,7 @@
code.add(" }");
code.add(" }");
code.add("}");
- assertEquals(new Root(new Method("a")), parse(code.toString()));
+ assertEquals(new Root(new Method("a").setType("Object")), parse(code.toString()));
}
{
final StringList code = new StringList();
diff --git a/tests/org.eclipse.dltk.javascript.ui.tests/src/org/eclipse/dltk/javascript/ui/tests/autoedit/JSDocEditorTests.java b/tests/org.eclipse.dltk.javascript.ui.tests/src/org/eclipse/dltk/javascript/ui/tests/autoedit/JSDocEditorTests.java
index 81afc32..266fd59 100644
--- a/tests/org.eclipse.dltk.javascript.ui.tests/src/org/eclipse/dltk/javascript/ui/tests/autoedit/JSDocEditorTests.java
+++ b/tests/org.eclipse.dltk.javascript.ui.tests/src/org/eclipse/dltk/javascript/ui/tests/autoedit/JSDocEditorTests.java
@@ -50,6 +50,19 @@
assertEquals(project.getFileContentsAsString("src/file1.txt"),
document.get());
}
+
+ @Test
+ public void functionGeneratedTagsWithReturn() throws BadLocationException,
+ CoreException {
+ final ISourceModule module = checkNotNull(project.getSourceModule(
+ "src", "file4.js"));
+ final IEditorPart part = checkNotNull(DLTKUIPlugin.openInEditor(module));
+ final IDocument document = UICompletionUtil.on(part).getDocument();
+ execute(document, createCommand(ENTER, getEndOfLineOffset(document, 0)));
+ assertEquals(project.getFileContentsAsString("src/file4.txt"),
+ document.get());
+ }
+
@Test
public void functionInObjectLiteralGeneratedTags()
@@ -62,5 +75,17 @@
assertEquals(project.getFileContentsAsString("src/file2.txt"),
document.get());
}
+
+ @Test
+ public void functionInObjectLiteralGeneratedTagsWithReturn()
+ throws BadLocationException, CoreException {
+ final ISourceModule module = checkNotNull(project.getSourceModule(
+ "src", "file3.js"));
+ final IEditorPart part = checkNotNull(DLTKUIPlugin.openInEditor(module));
+ final IDocument document = UICompletionUtil.on(part).getDocument();
+ execute(document, createCommand(ENTER, getEndOfLineOffset(document, 1)));
+ assertEquals(project.getFileContentsAsString("src/file3.txt"),
+ document.get());
+ }
}
diff --git a/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file1.txt b/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file1.txt
index 8f8be1d..01bf0dd 100644
--- a/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file1.txt
+++ b/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file1.txt
@@ -1,7 +1,6 @@
/**
* @param {Object} x
* @param {Object} y
- * @return {Object}
*/
function test(x, y) {
}
diff --git a/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file2.txt b/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file2.txt
index dad99cf..6c00a1c 100644
--- a/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file2.txt
+++ b/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file2.txt
@@ -2,7 +2,6 @@
/**
* @param {Object} x
* @param {Object} y
- * @return {Object}
*/
draw: function (x, y) {
}
diff --git a/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file3.js b/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file3.js
new file mode 100644
index 0000000..7e6ec04
--- /dev/null
+++ b/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file3.js
@@ -0,0 +1,6 @@
+var figure = {
+ /**
+ draw: function (x, y) {
+ return "";
+ }
+}
diff --git a/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file3.txt b/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file3.txt
new file mode 100644
index 0000000..b89268b
--- /dev/null
+++ b/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file3.txt
@@ -0,0 +1,10 @@
+var figure = {
+ /**
+ * @param {Object} x
+ * @param {Object} y
+ * @return {String}
+ */
+ draw: function (x, y) {
+ return "";
+ }
+}
diff --git a/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file4.js b/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file4.js
new file mode 100644
index 0000000..6959ac8
--- /dev/null
+++ b/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file4.js
@@ -0,0 +1,4 @@
+/**
+function test(x, y) {
+ return true;
+}
diff --git a/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file4.txt b/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file4.txt
new file mode 100644
index 0000000..6f274ce
--- /dev/null
+++ b/tests/org.eclipse.dltk.javascript.ui.tests/workspace/jsdoc/src/file4.txt
@@ -0,0 +1,8 @@
+/**
+ * @param {Object} x
+ * @param {Object} y
+ * @return {Boolean}
+ */
+function test(x, y) {
+ return true;
+}