Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1115)

Unified Diff: Source/devtools/scripts/jsdoc-validator/tests/return.js

Issue 137553005: DevTools: [JsDocValidator] Refactor JsDoc annotation checkers (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Limit the thread count by the number of validated files Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/devtools/scripts/jsdoc-validator/tests/return.js
diff --git a/Source/devtools/scripts/jsdoc-validator/tests/return.js b/Source/devtools/scripts/jsdoc-validator/tests/return.js
new file mode 100644
index 0000000000000000000000000000000000000000..3f919301a62ab2845d046bafba06b5ead675cbe8
--- /dev/null
+++ b/Source/devtools/scripts/jsdoc-validator/tests/return.js
@@ -0,0 +1,293 @@
+function badFuncNoAnnotation() {
+ return 1; // ERROR - no @return annotation.
+}
+
+/**
+ * @return {number}
+ */
+function badFuncAnnotatedButNoReturn() // ERROR - no @return annotation.
+{
+}
+
+/**
+ * @return {number}
+ */
+function badFuncAnnotatedButNoReturnValue() // ERROR - no returned value.
+{
+ return;
+}
+
+/**
+ * @return {number}
+ */
+function goodFunc() // OK - annotated @return.
+{
+ return 1;
+}
+
+/**
+ * @returns {number}
+ */
+function badReturnsShouldBeReturnFunc() // ERROR - @returns, should be @return.
+{
+ return 1;
+}
+
+/**
+ * @returns {number}
+ */
+function badReturnsShouldBeReturnNoValueFunc() // ERROR - @returns, should be @return.
+{
+ return;
+}
+
+/**
+ * @returns {number}
+ */
+function badReturnsShouldBeAbsentFunc() // ERROR - @returns, should be absent.
+{
+}
+
+/**
+ * @constructor
+ */
+function TypeOne() {
+ function callback() // OK - not a method.
+ {
+ return 1;
+ }
+}
+
+TypeOne.prototype = {
+ badApiMethodNoAnnotation: function() // ERROR - public method.
+ {
+ return 1;
+ },
+
+ _privateMethod: function() // OK - non-public method.
+ {
+ return 1;
+ },
+
+ methodTwo: function()
+ {
+ function callback() // OK - not a method.
+ {
+ return 1;
+ }
+ },
+
+ /**
+ * @return {number}
+ */
+ methodThatThrows: function() // OK - throws and should be overridden in subclasses.
+ {
+ throw "Not implemented";
+ },
+
+ /**
+ * @return {number}
+ */
+ badMethodDoesNotReturnValue: function() // ERROR - does not return value.
+ {
+ return;
+ },
+
+ /**
+ * @return {number}
+ */
+ badMethodDoesNotReturn: function() // ERROR - does not return.
+ {
+ var foo = 1;
+ },
+
+ /**
+ * @returns {number}
+ */
+ badMethodReturnsShouldBeReturn: function() // ERROR - @returns, should be @return
+ {
+ return 1;
+ },
+
+ /**
+ * @returns {number}
+ */
+ badMethodReturnsShouldBeAbsentToo: function() // ERROR - @returns, should be absent
+ {
+ return;
+ },
+
+ /**
+ * @returns {number}
+ */
+ badMethodReturnsShouldBeAbsent: function() // ERROR - @returns, should be absent
+ {
+ var foo = 1;
+ }
+}
+
+
+/**
+ * @constructor
+ */
+TypeTwo = function() {
+ function callback() // OK - not a method.
+ {
+ return 1;
+ }
+}
+
+TypeTwo.prototype = {
+ badApiMethodNoAnnotation: function() // ERROR - public method.
+ {
+ return 1;
+ },
+
+ _privateMethod: function() // OK - non-public method.
+ {
+ return 1;
+ },
+
+ methodTwo: function()
+ {
+ function callback() // OK - not a method.
+ {
+ return 1;
+ }
+ },
+
+ /**
+ * @return {number}
+ */
+ badMethodDoesNotReturnValue: function() // ERROR - does not return value.
+ {
+ return;
+ },
+
+ /**
+ * @return {number}
+ */
+ badMethodDoesNotReturn: function() // ERROR - does not return.
+ {
+ var foo = 1;
+ },
+
+ /**
+ * @returns {number}
+ */
+ badMethodReturnsShouldBeReturn: function() // ERROR - @returns, should be @return
+ {
+ return 1;
+ },
+
+ /**
+ * @returns {number}
+ */
+ badMethodReturnsShouldBeAbsentToo: function() // ERROR - @returns, should be absent
+ {
+ return;
+ },
+
+ /**
+ * @returns {number}
+ */
+ badMethodReturnsShouldBeAbsent: function() // ERROR - @returns, should be absent
+ {
+ var foo = 1;
+ }
+}
+
+/**
+ * @interface
+ */
+Interface = function() {}
+
+Interface.prototype = {
+ /**
+ * @return {number}
+ */
+ interfaceMethod: function() {}, // OK - interface method.
+
+ /**
+ * @returns {number}
+ */
+ badReturnsInterfaceMethod: function() {} // ERROR - @returns instead of return.
+}
+
+/**
+ * @return {!Object}
+ */
+function returnConstructedObject() {
+
+/**
+ * @constructor
+ */
+TypeThree = function() {
+ function callback() // OK - not a method.
+ {
+ return 1;
+ }
+}
+
+TypeThree.prototype = {
+ badApiMethodNoAnnotation: function() // ERROR - public method.
+ {
+ return 1;
+ },
+
+ _privateMethod: function() // OK - non-public method.
+ {
+ return 1;
+ },
+
+ methodTwo: function()
+ {
+ function callback() // OK - not a method.
+ {
+ return 1;
+ }
+ },
+
+ /**
+ * @return {number}
+ */
+ badMethodDoesNotReturnValue: function() // ERROR - does not return value.
+ {
+ return;
+ },
+
+ /**
+ * @return {number}
+ */
+ badMethodDoesNotReturn: function() // ERROR - does not return.
+ {
+ var foo = 1;
+ },
+
+ /**
+ * @returns {number}
+ */
+ badMethodReturnsShouldBeReturn: function() // ERROR - @returns, should be @return
+ {
+ return 1;
+ },
+
+ /**
+ * @returns {number}
+ */
+ badMethodReturnsShouldBeAbsentToo: function() // ERROR - @returns, should be absent
+ {
+ return;
+ },
+
+ /**
+ * @returns {number}
+ */
+ badMethodReturnsShouldBeAbsent: function() // ERROR - @returns, should be absent
+ {
+ var foo = 1;
+ }
+}
+
+return new TypeThree();
+}

Powered by Google App Engine
This is Rietveld 408576698