| 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();
|
| +}
|
|
|