xultestrunner 0.2.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (153) hide show
  1. data/.gitignore +2 -0
  2. data/.gitmodules +3 -0
  3. data/LICENSE +21 -0
  4. data/README +17 -0
  5. data/Rakefile +50 -0
  6. data/VERSION +1 -0
  7. data/bin/xultest +13 -0
  8. data/lib/xultestrunner.rb +1 -0
  9. data/xulapp/application.ini +9 -0
  10. data/xulapp/chrome/chrome.manifest +2 -0
  11. data/xulapp/chrome/content/interface/boot.xul +20 -0
  12. data/xulapp/chrome/content/interface/testharness.html +30 -0
  13. data/xulapp/chrome/content/lib/xultestcase.js +140 -0
  14. data/xulapp/chrome/content/lib/xultestrunner.js +120 -0
  15. data/xulapp/chrome/content/vendor/prototype/LICENSE +16 -0
  16. data/xulapp/chrome/content/vendor/prototype/prototype.js +4874 -0
  17. data/xulapp/chrome/content/vendor/scriptaculous/LICENSE +20 -0
  18. data/xulapp/chrome/content/vendor/scriptaculous/test.css +90 -0
  19. data/xulapp/chrome/content/vendor/scriptaculous/unittest.js +566 -0
  20. data/xulapp/chrome/content/vendor/xpcomcore/LICENSE +21 -0
  21. data/xulapp/chrome/content/vendor/xpcomcore/README +27 -0
  22. data/xulapp/chrome/content/vendor/xpcomcore/Rakefile +83 -0
  23. data/xulapp/chrome/content/vendor/xpcomcore/VERSION.yml +5 -0
  24. data/xulapp/chrome/content/vendor/xpcomcore/bootstrapper.js +32 -0
  25. data/xulapp/chrome/content/vendor/xpcomcore/components/XPCOMCore.js +120 -0
  26. data/xulapp/chrome/content/vendor/xpcomcore/doc/files.html +241 -0
  27. data/xulapp/chrome/content/vendor/xpcomcore/doc/index.html +243 -0
  28. data/xulapp/chrome/content/vendor/xpcomcore/doc/symbols/Error.html +256 -0
  29. data/xulapp/chrome/content/vendor/xpcomcore/doc/symbols/Kernel.html +1030 -0
  30. data/xulapp/chrome/content/vendor/xpcomcore/doc/symbols/LoadError.html +319 -0
  31. data/xulapp/chrome/content/vendor/xpcomcore/doc/symbols/SelfConceptError.html +319 -0
  32. data/xulapp/chrome/content/vendor/xpcomcore/doc/symbols/_global_.html +316 -0
  33. data/xulapp/chrome/content/vendor/xpcomcore/doc/symbols/src/lib_file.js.html +53 -0
  34. data/xulapp/chrome/content/vendor/xpcomcore/doc/symbols/src/lib_kernel.js.html +251 -0
  35. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/README.txt +186 -0
  36. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/frame.js +33 -0
  37. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/frame/Chain.js +102 -0
  38. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/frame/Dumper.js +144 -0
  39. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/frame/Hash.js +84 -0
  40. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/frame/Link.js +153 -0
  41. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/frame/Namespace.js +10 -0
  42. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/frame/Opt.js +134 -0
  43. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/frame/Reflection.js +26 -0
  44. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/frame/String.js +93 -0
  45. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/frame/Testrun.js +129 -0
  46. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/handlers/FOODOC.js +26 -0
  47. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/handlers/XMLDOC.js +26 -0
  48. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/handlers/XMLDOC/DomReader.js +159 -0
  49. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/handlers/XMLDOC/XMLDoc.js +16 -0
  50. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/handlers/XMLDOC/XMLParse.js +292 -0
  51. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC.js +104 -0
  52. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/DocComment.js +200 -0
  53. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/DocTag.js +294 -0
  54. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/JsDoc.js +126 -0
  55. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/JsPlate.js +109 -0
  56. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/Lang.js +144 -0
  57. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/Parser.js +145 -0
  58. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/PluginManager.js +33 -0
  59. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/Symbol.js +645 -0
  60. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/SymbolSet.js +241 -0
  61. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/TextStream.js +41 -0
  62. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/Token.js +18 -0
  63. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/TokenReader.js +332 -0
  64. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/TokenStream.js +133 -0
  65. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/Util.js +32 -0
  66. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/lib/JSDOC/Walker.js +474 -0
  67. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/main.js +111 -0
  68. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/plugins/commentSrcJson.js +20 -0
  69. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/plugins/frameworkPrototype.js +16 -0
  70. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/plugins/functionCall.js +10 -0
  71. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/plugins/publishSrcHilite.js +62 -0
  72. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/plugins/symbolLink.js +10 -0
  73. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/plugins/tagParamConfig.js +31 -0
  74. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/plugins/tagSynonyms.js +43 -0
  75. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/run.js +348 -0
  76. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/t/TestDoc.js +144 -0
  77. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/t/runner.js +13 -0
  78. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test.js +325 -0
  79. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/addon.js +24 -0
  80. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/anon_inner.js +14 -0
  81. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/augments.js +31 -0
  82. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/augments2.js +26 -0
  83. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/borrows.js +46 -0
  84. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/borrows2.js +23 -0
  85. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/config.js +22 -0
  86. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/constructs.js +18 -0
  87. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/encoding.js +10 -0
  88. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/encoding_other.js +12 -0
  89. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/event.js +54 -0
  90. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/exports.js +14 -0
  91. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/functions_anon.js +39 -0
  92. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/functions_nested.js +33 -0
  93. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/global.js +13 -0
  94. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/globals.js +25 -0
  95. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/ignore.js +10 -0
  96. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/inner.js +16 -0
  97. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/jsdoc_test.js +477 -0
  98. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/lend.js +33 -0
  99. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/memberof.js +19 -0
  100. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/memberof_constructor.js +17 -0
  101. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/module.js +17 -0
  102. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/name.js +19 -0
  103. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/namespace_nested.js +23 -0
  104. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/nocode.js +13 -0
  105. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/oblit_anon.js +20 -0
  106. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/overview.js +20 -0
  107. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/param_inline.js +37 -0
  108. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/params_optional.js +8 -0
  109. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/prototype.js +17 -0
  110. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/prototype_nested.js +9 -0
  111. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/prototype_oblit.js +13 -0
  112. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/prototype_oblit_constructor.js +24 -0
  113. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/public.js +10 -0
  114. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/scripts/code.js +5 -0
  115. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/scripts/notcode.txt +5 -0
  116. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/shared.js +42 -0
  117. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/shared2.js +2 -0
  118. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/shortcuts.js +22 -0
  119. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/static_this.js +13 -0
  120. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/synonyms.js +31 -0
  121. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/tosource.js +23 -0
  122. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/app/test/variable_redefine.js +14 -0
  123. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/changes.txt +96 -0
  124. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/conf/sample.conf +31 -0
  125. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/java/build.xml +36 -0
  126. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/java/build_1.4.xml +36 -0
  127. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/java/classes/js.jar +0 -0
  128. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/java/src/JsDebugRun.java +21 -0
  129. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/java/src/JsRun.java +21 -0
  130. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/jsdebug.jar +0 -0
  131. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/jsrun.jar +0 -0
  132. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/jsrun.sh +52 -0
  133. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/templates/jsdoc/allclasses.tmpl +17 -0
  134. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/templates/jsdoc/allfiles.tmpl +56 -0
  135. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/templates/jsdoc/class.tmpl +646 -0
  136. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/templates/jsdoc/index.tmpl +39 -0
  137. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/templates/jsdoc/publish.js +200 -0
  138. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/templates/jsdoc/static/default.css +162 -0
  139. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/templates/jsdoc/static/header.html +2 -0
  140. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/templates/jsdoc/static/index.html +19 -0
  141. data/xulapp/chrome/content/vendor/xpcomcore/etc/jsdoc-toolkit/templates/jsdoc/symbol.tmpl +35 -0
  142. data/xulapp/chrome/content/vendor/xpcomcore/lib/file.js +46 -0
  143. data/xulapp/chrome/content/vendor/xpcomcore/lib/kernel.js +244 -0
  144. data/xulapp/chrome/content/vendor/xpcomcore/test/file_test.js +16 -0
  145. data/xulapp/chrome/content/vendor/xpcomcore/test/fixtures/love.js +1 -0
  146. data/xulapp/chrome/content/vendor/xpcomcore/test/fixtures/mad_love.js +1 -0
  147. data/xulapp/chrome/content/vendor/xpcomcore/test/fixtures/mad_world.js +1 -0
  148. data/xulapp/chrome/content/vendor/xpcomcore/test/fixtures/syntax_error.js +1 -0
  149. data/xulapp/chrome/content/vendor/xpcomcore/test/kernel_test.js +88 -0
  150. data/xulapp/components/bootstrap.js +93 -0
  151. data/xulapp/defaults/preferences/prefs.js +14 -0
  152. data/xultestrunner.gemspec +190 -0
  153. metadata +207 -0
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @param {Object} object
3
+ * @return {string}
4
+ */
5
+ function valueOf(object) {}
6
+
7
+ /**
8
+ * @param {Object} object
9
+ * @return {string}
10
+ */
11
+ function toString(object) {}
12
+
13
+ /**
14
+ * @param {Object} object
15
+ * @return {string}
16
+ */
17
+ function toSource(object) {}
18
+
19
+ /**
20
+ * @param {Object} object
21
+ * @return {string}
22
+ */
23
+ function constructor(object) {}
@@ -0,0 +1,14 @@
1
+ /** @constructor */
2
+ function Foo() {
3
+ var bar = 1;
4
+ bar = 2; // redefining a private
5
+
6
+ this.baz = 1;
7
+ baz = 2; // global
8
+
9
+ /** a private */
10
+ var blap = {
11
+ /** in here */
12
+ tada: 1
13
+ }
14
+ }
@@ -0,0 +1,96 @@
1
+ == 2.3.0 ==
2
+
3
+ * Added option -u, --unique to avoid bug that causes multiple symbols with names that differ only by case to overwrite each others output on case-insensitive filesystems. ( issue #162 )
4
+ * Fixed bug where {@links} in @deprecated tags did not resolve. ( issue #220 )
5
+ * Fixed bug that caused parens around a function to make it to be unrecognized. ( issue #213 )
6
+ * Fixed bug prevented explicit links to named anchors from working (thanks katgao.pku). ( issue #215 )
7
+ * Fixed bug that prevented full description from appearing in file overview. ( issue #224 )
8
+
9
+ == 2.2.1 ==
10
+
11
+ * Fixed bug with class template, where sorting of methods was accidentally removed (thanks dezfowler).
12
+ * Added missing test files for the @exports unit tests.
13
+
14
+ == 2.2.0 ==
15
+
16
+ * Fixed bug that caused exception when given a folder containing non-js files, even with the x commandline option set to "js". ( issue #193 )
17
+ * Fixed typo in index template [patch submitted by olle]. ( issue #198 )
18
+ * Modified @borrows tag experimentally to allow for missing "as ..." clause.
19
+ * Added support for the @exports tag, to allow one symbol to be documented as another.
20
+ * Added support for the -S option to document code following the Secure Modules pattern.
21
+
22
+ == 2.1.0 ==
23
+
24
+ * Added support for the @event tag.
25
+ * Fixed bug that prevented the : character from appearing in symbol names.
26
+ * Fixed bug that prevented underscored symbols marked with @public being tagged as private. (issue #184 )
27
+ * Fixed bug that randomly affected the @memberOf tag when the name of the symbol did not include the parent name.
28
+ * Fixed bug that prevented templates that were not in the jsdoc-toolkit folder from being found. ( issue #176 )
29
+ * Added ability to check for trailing slash on template path. ( issue #177 )
30
+ * Modified classDesc so that it no longer is appended with the constructor desc.
31
+ * Fixed call to plugin onDocCommentSrc.
32
+ * Added missing support for inline doc comments for function return types. ( issue #189 )
33
+ * Added command line option -q, --quiet.
34
+ * Added command line option -E, --exclude. ( issue #143 )
35
+ * Added 2 more hooks for plugins. ( issue #163 )
36
+ * Added support for extending built-ins. ( issue #160 )
37
+ * Added "compact" option to JSDOC.JsPlate.prototype.process. ( issue #159 )
38
+ * @augments no longer documents static members as inherited. ( issue #138 )
39
+ * @link to a class now goes to the page for that class, not the constructor. ( issue #178 )
40
+ * Warnings of mismatched curly brace now include filename. ( issue #166 )
41
+ * Fixed bug affecting template paths loaded via a configuration file when the trailing slash is missing. ( issue #191 )
42
+ * Minor optimizations.
43
+
44
+ == 2.0.2 ==
45
+
46
+ * Fixed bug that sometimes caused an example of division in the source code to be interpretted as a regex by the JsDoc Toolkit analyzer. ( issue #158 )
47
+ * Fixed a bug that prevented private variables marked as @public from appearing in the documentation. ( issue #161 )
48
+ * Fixed bug that prevented variable names with underscored properties from appearing in summaries. ( issue #173 )
49
+
50
+ == 2.0.1 ==
51
+
52
+ * Fixed bug that prevented @fileOverview tag from being recognized.
53
+ * Added support for @fieldOf as a synonym for @field plus @memberOf.
54
+ * Added support for @name tag in a @fileOverview comment to control the displayed name of the file.
55
+ * Added support for multiple @example tags. ( issue #152 )
56
+ * Modified style sheet of jsdoc template to make more readable. ( issue #151 )
57
+ * Fixed bug that prevented @since documentation from displaying correctly when it appeared in a class. ( issue #150 )
58
+ * Fixed bug that caused inhertited properties to sometimes not resolve correctly. ( issue #144 )
59
+ * Modified so that trailing whitespace in @example is always trimmed. ( issue #153 )
60
+ * Added support for elseif to JsPlate. (hat tip to fredck)
61
+ * Added support for @location urls in the @overview comment to the jsdoc template.
62
+
63
+ == Changes From Versions 1.4.0 to 2.0.0 ==
64
+
65
+ * Upgraded included version of Rhino from 1.6 to 1.7R1.
66
+ * Removed circular references in parsed documentation objects.
67
+ * Improved inheritance handling, now properties and events can be inherited same as methods.
68
+ * Improved handling of cross-file relationships, now having two related objects in separate files is not a problem.
69
+ * Improved ability to recognize membership of previously defined objects.
70
+ * Added ability to redefine parsing behavior with plugins.
71
+ * @methodOf is a synonym for @function and @memberOf.
72
+ * Added @default to document default values of members that are objects.
73
+ * Added ability to parse and refer to inner functions.
74
+ * Fixed bug that appeared when calling a method to set properties of the instance referred to by "this".
75
+ * Added ability to automatically create links to other symbols.
76
+ * New "jsdoc" template now produces fully W3C valid XHTML.
77
+ * Inline parameter type hint comments are now documented.
78
+ * Fixed error: Locally scoped variables (declared with var) no longer appear as global.
79
+ * It is now possible to run JsDoc Toolkit from any directory.
80
+ * Added support for inline {@link ...} tags.
81
+ * Added support for the -H command-line option to allow for custom content handlers.
82
+ * Tag names @inherits and @scope changed to @borrows and @lends.
83
+ ? Combining @constructor in a doclet with @lends now supported.
84
+ * Multiple @lend tags now supported.
85
+ * Added support for the @constructs tag, used inside a @lends block.
86
+ * Added support for the @constant tag.
87
+ * Fixed bug that prevented the use of [] as a default value.
88
+ * Added support for the @field tag.
89
+ * Added support for the @public tag (applied to inner functions).
90
+ * @namespace tag can now be applied to functions, not just object literals.
91
+ * Added support for the -s command line option to suppress source code output.
92
+ * Added new unit test framework.
93
+ * Underscored symbols are now treated as if they have a @private tag by default.
94
+ * Improved support for anonymous constructors.
95
+ * Added support for the nocode meta tag.
96
+
@@ -0,0 +1,31 @@
1
+ /*
2
+ This is an example of one way you could set up a configuration file to more
3
+ conveniently define some commandline options. You might like to do this if
4
+ you frequently reuse the same options. Note that you don't need to define
5
+ every option in this file, you can combine a configuration file with
6
+ additional options on the commandline if your wish.
7
+
8
+ You would include this configuration file by running JsDoc Toolkit like so:
9
+ java -jar jsrun.jar app/run.js -c=conf/sample.conf
10
+
11
+ */
12
+
13
+ {
14
+ // source files to use
15
+ _: ['app/test/jsdoc_test.js'],
16
+
17
+ // document all functions, even uncommented ones
18
+ a: true,
19
+
20
+ // including those marked @private
21
+ p: true,
22
+
23
+ // some extra variables I want to include
24
+ D: {generatedBy: "Michael Mathews", copyright: "2008"},
25
+
26
+ // use this directory as the output directory
27
+ d: "docs",
28
+
29
+ // use this template
30
+ t: "templates/jsdoc"
31
+ }
@@ -0,0 +1,36 @@
1
+ <project>
2
+ <target name="clean">
3
+ <delete dir="build"/>
4
+ </target>
5
+
6
+ <target name="compile">
7
+ <mkdir dir="build/classes"/>
8
+ <javac
9
+ srcdir="src" destdir="build/classes"
10
+ classpath="./classes/js.jar"
11
+ />
12
+ </target>
13
+
14
+ <target name="jar">
15
+ <mkdir dir="build/jar"/>
16
+ <jar destfile="build/jar/jsrun.jar" basedir="build/classes">
17
+ <manifest>
18
+ <attribute name="Main-Class" value="JsRun"/>
19
+ <attribute name="Class-Path" value="./java/classes/js.jar"/>
20
+ </manifest>
21
+ </jar>
22
+ </target>
23
+
24
+ <target name="debugjar">
25
+ <mkdir dir="build/jar"/>
26
+ <jar destfile="build/jar/jsdebug.jar" basedir="build/classes">
27
+ <manifest>
28
+ <attribute name="Main-Class" value="JsDebugRun"/>
29
+ <attribute name="Class-Path" value="./java/classes/js.jar"/>
30
+ </manifest>
31
+ </jar>
32
+ </target>
33
+
34
+ <target name="clean-build" depends="clean,compile,jar"/>
35
+ <target name="clean-debug" depends="clean,compile,debugjar"/>
36
+ </project>
@@ -0,0 +1,36 @@
1
+ <project default="clean-build"><!-- use this build script if you are stuck with ant version 1.4 -->
2
+ <target name="clean">
3
+ <delete dir="build"/>
4
+ </target>
5
+
6
+ <target name="compile">
7
+ <mkdir dir="build/classes"/>
8
+ <javac
9
+ srcdir="src" destdir="build/classes"
10
+ classpath="./classes/js.jar"
11
+ />
12
+ </target>
13
+
14
+ <target name="jar">
15
+ <mkdir dir="build/jar"/>
16
+ <jar jarfile="build/jar/jsrun.jar" basedir="build/classes">
17
+ <manifest>
18
+ <attribute name="Main-Class" value="JsRun"/>
19
+ <attribute name="Class-Path" value="./java/classes/js.jar"/>
20
+ </manifest>
21
+ </jar>
22
+ </target>
23
+
24
+ <target name="debugjar">
25
+ <mkdir dir="build/jar"/>
26
+ <jar jarfile="build/jar/jsdebug.jar" basedir="build/classes">
27
+ <manifest>
28
+ <attribute name="Main-Class" value="JsDebugRun"/>
29
+ <attribute name="Class-Path" value="./java/classes/js.jar"/>
30
+ </manifest>
31
+ </jar>
32
+ </target>
33
+
34
+ <target name="clean-build" depends="clean,compile,jar"/>
35
+ <target name="clean-debug" depends="clean,compile,debugjar"/>
36
+ </project>
@@ -0,0 +1,21 @@
1
+ /**
2
+ * A trivial bootstrap class that simply adds the path to the
3
+ * .js file as an argument to the Rhino call. This little hack
4
+ * allows the code in the .js file to have access to it's own
5
+ * path via the Rhino arguments object. This is necessary to
6
+ * allow the .js code to find resource files in a location
7
+ * relative to itself.
8
+ *
9
+ * USAGE: java -jar jsdebug.jar path/to/file.js
10
+ */
11
+ public class JsDebugRun {
12
+ public static void main(String[] args) {
13
+ String[] jsargs = {"-j="+args[0]};
14
+
15
+ String[] allArgs = new String[jsargs.length + args.length];
16
+ System.arraycopy(args, 0, allArgs, 0, args.length);
17
+ System.arraycopy(jsargs, 0, allArgs, args.length ,jsargs.length);
18
+
19
+ org.mozilla.javascript.tools.debugger.Main.main(allArgs);
20
+ }
21
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * A trivial bootstrap class that simply adds the path to the
3
+ * .js file as an argument to the Rhino call. This little hack
4
+ * allows the code in the .js file to have access to it's own
5
+ * path via the Rhino arguments object. This is necessary to
6
+ * allow the .js code to find resource files in a location
7
+ * relative to itself.
8
+ *
9
+ * USAGE: java -jar jsrun.jar path/to/file.js
10
+ */
11
+ public class JsRun {
12
+ public static void main(String[] args) {
13
+ String[] jsargs = {"-j="+args[0]};
14
+
15
+ String[] allArgs = new String[jsargs.length + args.length];
16
+ System.arraycopy(args, 0, allArgs, 0, args.length);
17
+ System.arraycopy(jsargs, 0, allArgs, args.length ,jsargs.length);
18
+
19
+ org.mozilla.javascript.tools.shell.Main.main(allArgs);
20
+ }
21
+ }
@@ -0,0 +1,52 @@
1
+ #!/bin/ksh
2
+
3
+ # launcher script for jsdoc
4
+ # Author: Avi Deitcher
5
+ #
6
+ # This program is released under the MIT License as follows:
7
+
8
+ # Copyright (c) 2008-2009 Atomic Inc <avi@jsorm.com>
9
+ #
10
+ #Permission is hereby granted, free of charge, to any person
11
+ #obtaining a copy of this software and associated documentation
12
+ #files (the "Software"), to deal in the Software without
13
+ #restriction, including without limitation the rights to use,
14
+ #copy, modify, merge, publish, distribute, sublicense, and/or sell
15
+ #copies of the Software, and to permit persons to whom the
16
+ #Software is furnished to do so, subject to the following
17
+ #conditions:
18
+ ##
19
+ #The above copyright notice and this permission notice shall be
20
+ #included in all copies or substantial portions of the Software.
21
+ #
22
+ #THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23
+ #EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
24
+ #OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
25
+ #NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
26
+ #HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
27
+ #WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
28
+ #FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
29
+ #OTHER DEALINGS IN THE SOFTWARE.
30
+ #
31
+
32
+
33
+ if [[ -n "$JSDOCDIR" ]]; then
34
+ _DOCDIR="-Djsdoc.dir=$JSDOCDIR"
35
+ _APPDIR="$JSDOCDIR/app"
36
+ _BASEDIR="$JSDOCDIR"
37
+ else
38
+ _DOCDIR=""
39
+ _APPDIR="./app"
40
+ _BASEDIR="."
41
+ fi
42
+
43
+ if [[ -n "$JSDOCTEMPLATEDIR" ]]; then
44
+ _TDIR="-Djsdoc.template.dir=$JSDOCTEMPLATEDIR"
45
+ else
46
+ _TDIR=""
47
+ fi
48
+
49
+ CMD="java $_DOCDIR $_TDIR -jar $_BASEDIR/jsrun.jar $_APPDIR/run.js $@"
50
+ echo $CMD
51
+ $CMD
52
+
@@ -0,0 +1,17 @@
1
+ <div align="center">{+new Link().toFile("index.html").withText("Class Index")+}
2
+ | {+new Link().toFile("files.html").withText("File Index")+}</div>
3
+ <hr />
4
+ <h2>Classes</h2>
5
+ <ul class="classList">
6
+ <for each="thisClass" in="data">
7
+ <li>{!
8
+ if (thisClass.alias == "_global_") {
9
+ output += "<i>"+new Link().toClass(thisClass.alias)+"</i>";
10
+ }
11
+ else {
12
+ output += new Link().toClass(thisClass.alias);
13
+ }
14
+ !}</li>
15
+ </for>
16
+ </ul>
17
+ <hr />
@@ -0,0 +1,56 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="content-type" content="text/html; charset={+IO.encoding+}"" />
6
+ {! Link.base = ""; /* all generated links will be relative to this */ !}
7
+ <title>JsDoc Reference - File Index</title>
8
+ <meta name="generator" content="JsDoc Toolkit" />
9
+
10
+ <style type="text/css">
11
+ {+include("static/default.css")+}
12
+ </style>
13
+ </head>
14
+
15
+ <body>
16
+ {+include("static/header.html")+}
17
+
18
+ <div id="index">
19
+ {+publish.classesIndex+}
20
+ </div>
21
+
22
+ <div id="content">
23
+ <h1 class="classTitle">File Index</h1>
24
+
25
+ <for each="item" in="data">
26
+ <div>
27
+ <h2>{+new Link().toSrc(item.alias).withText(item.name)+}</h2>
28
+ <if test="item.desc">{+resolveLinks(item.desc)+}</if>
29
+ <dl>
30
+ <if test="item.author">
31
+ <dt class="heading">Author:</dt>
32
+ <dd>{+item.author+}</dd>
33
+ </if>
34
+ <if test="item.version">
35
+ <dt class="heading">Version:</dt>
36
+ <dd>{+item.version+}</dd>
37
+ </if>
38
+ {! var locations = item.comment.getTag('location').map(function($){return $.toString().replace(/(^\$ ?| ?\$$)/g, '').replace(/^HeadURL: https:/g, 'http:');}) !}
39
+ <if test="locations.length">
40
+ <dt class="heading">Location:</dt>
41
+ <for each="location" in="locations">
42
+ <dd><a href="{+location+}">{+location+}</a></dd>
43
+ </for>
44
+ </if>
45
+ </dl>
46
+ </div>
47
+ <hr />
48
+ </for>
49
+
50
+ </div>
51
+ <div class="fineprint" style="clear:both">
52
+ <if test="JSDOC.opt.D.copyright">&copy;{+JSDOC.opt.D.copyright+}<br /></if>
53
+ Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blankt">JsDoc Toolkit</a> {+JSDOC.VERSION+} on {+new Date()+}
54
+ </div>
55
+ </body>
56
+ </html>
@@ -0,0 +1,646 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="content-type" content="text/html; charset={+IO.encoding+}" />
6
+ <meta name="generator" content="JsDoc Toolkit" />
7
+ {! Link.base = "../"; /* all generated links will be relative to this */ !}
8
+ <title>JsDoc Reference - {+data.alias+}</title>
9
+
10
+ <style type="text/css">
11
+ {+include("static/default.css")+}
12
+ </style>
13
+ </head>
14
+
15
+ <body>
16
+ <!-- ============================== header ================================= -->
17
+ <!-- begin static/header.html -->
18
+ {+include("static/header.html")+}
19
+ <!-- end static/header.html -->
20
+
21
+ <!-- ============================== classes index ============================ -->
22
+ <div id="index">
23
+ <!-- begin publish.classesIndex -->
24
+ {+publish.classesIndex+}
25
+ <!-- end publish.classesIndex -->
26
+ </div>
27
+
28
+ <div id="content">
29
+ <!-- ============================== class title ============================ -->
30
+ <h1 class="classTitle">
31
+ {!
32
+ var classType = "";
33
+
34
+ if (data.isBuiltin()) {
35
+ classType += "Built-In ";
36
+ }
37
+
38
+ if (data.isNamespace) {
39
+ if (data.is('FUNCTION')) {
40
+ classType += "Function ";
41
+ }
42
+ classType += "Namespace ";
43
+ }
44
+ else {
45
+ classType += "Class ";
46
+ }
47
+ !}
48
+ {+classType+}{+data.alias+}
49
+ </h1>
50
+
51
+ <!-- ============================== class summary ========================== -->
52
+ <p class="description">
53
+ <if test="data.augments.length"><br />Extends
54
+ {+
55
+ data.augments
56
+ .sort()
57
+ .map(
58
+ function($) { return new Link().toSymbol($); }
59
+ )
60
+ .join(", ")
61
+ +}.<br />
62
+ </if>
63
+
64
+ {+resolveLinks(data.classDesc)+}
65
+
66
+ <if test="!data.isBuiltin()">{# isn't defined in any file #}
67
+ <br /><i>Defined in: </i> {+new Link().toSrc(data.srcFile)+}.
68
+ </if>
69
+ </p>
70
+
71
+ <!-- ============================== constructor summary ==================== -->
72
+ <if test="!data.isBuiltin() && (data.isNamespace || data.is('CONSTRUCTOR'))">
73
+ <table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class {+data.alias+}.">
74
+ <caption>{+classType+}Summary</caption>
75
+ <thead>
76
+ <tr>
77
+ <th scope="col">Constructor Attributes</th>
78
+ <th scope="col">Constructor Name and Description</th>
79
+ </tr>
80
+ </thead>
81
+ <tbody>
82
+ <tr>
83
+ <td class="attributes">{!
84
+ if (data.isPrivate) output += "&lt;private&gt; ";
85
+ if (data.isInner) output += "&lt;inner&gt; ";
86
+ !}&nbsp;</td>
87
+ <td class="nameDescription" {!if (data.comment.getTag("hilited").length){output += 'style="color: red"'}!}>
88
+ <div class="fixedFont">
89
+ <b>{+ new Link().toSymbol(data.alias).inner('constructor')+}</b><if test="classType != 'Namespace '">{+ makeSignature(data.params) +}</if>
90
+ </div>
91
+ <div class="description">{+resolveLinks(summarize(data.desc))+}</div>
92
+ </td>
93
+ </tr>
94
+ </tbody>
95
+ </table>
96
+ </if>
97
+
98
+ <!-- ============================== properties summary ===================== -->
99
+ <if test="data.properties.length">
100
+ {! var ownProperties = data.properties.filter(function($){return $.memberOf == data.alias && !$.isNamespace}).sort(makeSortby("name")); !}
101
+ <if test="ownProperties.length">
102
+ <table class="summaryTable" cellspacing="0" summary="A summary of the fields documented in the class {+data.alias+}.">
103
+ <caption>Field Summary</caption>
104
+ <thead>
105
+ <tr>
106
+ <th scope="col">Field Attributes</th>
107
+ <th scope="col">Field Name and Description</th>
108
+ </tr>
109
+ </thead>
110
+ <tbody>
111
+ <for each="member" in="ownProperties">
112
+ <tr>
113
+ <td class="attributes">{!
114
+ if (member.isPrivate) output += "&lt;private&gt; ";
115
+ if (member.isInner) output += "&lt;inner&gt; ";
116
+ if (member.isStatic) output += "&lt;static&gt; ";
117
+ if (member.isConstant) output += "&lt;constant&gt; ";
118
+ !}&nbsp;</td>
119
+ <td class="nameDescription">
120
+ <div class="fixedFont">
121
+ <if test="member.isStatic && member.memberOf != '_global_'">{+member.memberOf+}.</if><b>{+new Link().toSymbol(member.alias).withText(member.name)+}</b>
122
+ </div>
123
+ <div class="description">{+resolveLinks(summarize(member.desc))+}</div>
124
+ </td>
125
+ </tr>
126
+ </for>
127
+ </tbody>
128
+ </table>
129
+ </if>
130
+
131
+ <if test="data.inheritsFrom.length">
132
+ <dl class="inheritsList">
133
+ {!
134
+ var borrowedMembers = data.properties.filter(function($) {return $.memberOf != data.alias});
135
+
136
+ var contributers = [];
137
+ borrowedMembers.map(function($) {if (contributers.indexOf($.memberOf) < 0) contributers.push($.memberOf)});
138
+ for (var i = 0, l = contributers.length; i < l; i++) {
139
+ output +=
140
+ "<dt>Fields borrowed from class "+new Link().toSymbol(contributers[i])+": </dt>"
141
+ +
142
+ "<dd>" +
143
+ borrowedMembers
144
+ .filter(
145
+ function($) { return $.memberOf == contributers[i] }
146
+ )
147
+ .sort(makeSortby("name"))
148
+ .map(
149
+ function($) { return new Link().toSymbol($.alias).withText($.name) }
150
+ )
151
+ .join(", ")
152
+ +
153
+ "</dd>";
154
+ }
155
+ !}
156
+ </dl>
157
+ </if>
158
+ </if>
159
+
160
+ <!-- ============================== methods summary ======================== -->
161
+ <if test="data.methods.length">
162
+ {! var ownMethods = data.methods.filter(function($){return $.memberOf == data.alias && !$.isNamespace}).sort(makeSortby("name")); !}
163
+ <if test="ownMethods.length">
164
+ <table class="summaryTable" cellspacing="0" summary="A summary of the methods documented in the class {+data.alias+}.">
165
+ <caption>Method Summary</caption>
166
+ <thead>
167
+ <tr>
168
+ <th scope="col">Method Attributes</th>
169
+ <th scope="col">Method Name and Description</th>
170
+ </tr>
171
+ </thead>
172
+ <tbody>
173
+ <for each="member" in="ownMethods">
174
+ <tr>
175
+ <td class="attributes">{!
176
+ if (member.isPrivate) output += "&lt;private&gt; ";
177
+ if (member.isInner) output += "&lt;inner&gt; ";
178
+ if (member.isStatic) output += "&lt;static&gt; ";
179
+ !}&nbsp;</td>
180
+ <td class="nameDescription">
181
+ <div class="fixedFont"><if test="member.isStatic && member.memberOf != '_global_'">{+member.memberOf+}.</if><b>{+new Link().toSymbol(member.alias).withText(member.name)+}</b>{+makeSignature(member.params)+}
182
+ </div>
183
+ <div class="description">{+resolveLinks(summarize(member.desc))+}</div>
184
+ </td>
185
+ </tr>
186
+ </for>
187
+ </tbody>
188
+ </table>
189
+ </if>
190
+
191
+ <if test="data.inheritsFrom.length">
192
+ <dl class="inheritsList">
193
+ {!
194
+ var borrowedMembers = data.methods.filter(function($) {return $.memberOf != data.alias});
195
+ var contributers = [];
196
+ borrowedMembers.map(function($) {if (contributers.indexOf($.memberOf) < 0) contributers.push($.memberOf)});
197
+ for (var i = 0, l = contributers.length; i < l; i++) {
198
+ output +=
199
+ "<dt>Methods borrowed from class "+new Link().toSymbol(contributers[i])+": </dt>"
200
+ +
201
+ "<dd>" +
202
+ borrowedMembers
203
+ .filter(
204
+ function($) { return $.memberOf == contributers[i] }
205
+ )
206
+ .sort(makeSortby("name"))
207
+ .map(
208
+ function($) { return new Link().toSymbol($.alias).withText($.name) }
209
+ )
210
+ .join(", ")
211
+ +
212
+ "</dd>";
213
+ }
214
+
215
+ !}
216
+ </dl>
217
+ </if>
218
+ </if>
219
+ <!-- ============================== events summary ======================== -->
220
+ <if test="data.events.length">
221
+ {! var ownEvents = data.events.filter(function($){return $.memberOf == data.alias && !$.isNamespace}).sort(makeSortby("name")); !}
222
+ <if test="ownEvents.length">
223
+ <table class="summaryTable" cellspacing="0" summary="A summary of the events documented in the class {+data.alias+}.">
224
+ <caption>Event Summary</caption>
225
+ <thead>
226
+ <tr>
227
+ <th scope="col">Event Attributes</th>
228
+ <th scope="col">Event Name and Description</th>
229
+ </tr>
230
+ </thead>
231
+ <tbody>
232
+ <for each="member" in="ownEvents">
233
+ <tr>
234
+ <td class="attributes">{!
235
+ if (member.isPrivate) output += "&lt;private&gt; ";
236
+ if (member.isInner) output += "&lt;inner&gt; ";
237
+ if (member.isStatic) output += "&lt;static&gt; ";
238
+ !}&nbsp;</td>
239
+ <td class="nameDescription">
240
+ <div class="fixedFont"><if test="member.isStatic && member.memberOf != '_global_'">{+member.memberOf+}.</if><b>{+new Link().toSymbol(member.alias).withText(member.name)+}</b>{+makeSignature(member.params)+}
241
+ </div>
242
+ <div class="description">{+resolveLinks(summarize(member.desc))+}</div>
243
+ </td>
244
+ </tr>
245
+ </for>
246
+ </tbody>
247
+ </table>
248
+ </if>
249
+
250
+ <if test="data.inheritsFrom.length">
251
+ <dl class="inheritsList">
252
+ {!
253
+ var borrowedMembers = data.events.filter(function($) {return $.memberOf != data.alias});
254
+ var contributers = [];
255
+ borrowedMembers.map(function($) {if (contributers.indexOf($.memberOf) < 0) contributers.push($.memberOf)});
256
+ for (var i = 0, l = contributers.length; i < l; i++) {
257
+ output +=
258
+ "<dt>Events borrowed from class "+new Link().toSymbol(contributers[i])+": </dt>"
259
+ +
260
+ "<dd>" +
261
+ borrowedMembers
262
+ .filter(
263
+ function($) { return $.memberOf == contributers[i] }
264
+ )
265
+ .sort(makeSortby("name"))
266
+ .map(
267
+ function($) { return new Link().toSymbol($.alias).withText($.name) }
268
+ )
269
+ .join(", ")
270
+ +
271
+ "</dd>";
272
+ }
273
+
274
+ !}
275
+ </dl>
276
+ </if>
277
+ </if>
278
+
279
+ <!-- ============================== constructor details ==================== -->
280
+ <if test="!data.isBuiltin() && (data.isNamespace || data.is('CONSTRUCTOR'))">
281
+ <div class="details"><a name="constructor"> </a>
282
+ <div class="sectionTitle">
283
+ {+classType+}Detail
284
+ </div>
285
+
286
+ <div class="fixedFont">{!
287
+ if (data.isPrivate) output += "&lt;private&gt; ";
288
+ if (data.isInner) output += "&lt;inner&gt; ";
289
+ !}
290
+ <b>{+ data.alias +}</b><if test="classType != 'Namespace '">{+ makeSignature(data.params) +}</if>
291
+ </div>
292
+
293
+ <div class="description">
294
+ {+resolveLinks(data.desc)+}
295
+ <if test="data.author"><br /><i>Author: </i>{+data.author+}.</if>
296
+ </div>
297
+
298
+ <if test="data.example.length">
299
+ <for each="example" in="data.example">
300
+ <pre class="code">{+example+}</pre>
301
+ </for>
302
+ </if>
303
+
304
+
305
+ <if test="data.params.length">
306
+ <dl class="detailList">
307
+ <dt class="heading">Parameters:</dt>
308
+ <for each="item" in="data.params">
309
+ <dt>
310
+ {+((item.type)?""+("<span class=\"light fixedFont\">{"+(new Link().toSymbol(item.type)+"}</span> ")) : "")+} <b>{+item.name+}</b>
311
+ <if test="item.isOptional"><i>Optional<if test="item.defaultValue">, Default: {+item.defaultValue+}</if></i></if>
312
+ </dt>
313
+ <dd>{+resolveLinks(item.desc)+}</dd>
314
+ </for>
315
+ </dl>
316
+ </if>
317
+ <if test="data.deprecated">
318
+ <dl class="detailList">
319
+ <dt class="heading">Deprecated:</dt>
320
+ <dt>
321
+ {+resolveLinks(data.deprecated)+}
322
+ </dt>
323
+ </dl>
324
+ </if>
325
+ <if test="data.since">
326
+ <dl class="detailList">
327
+ <dt class="heading">Since:</dt>
328
+ <dd>{+ data.since +}</dd>
329
+ </dl>
330
+ </if>
331
+ <if test="data.exceptions.length">
332
+ <dl class="detailList">
333
+ <dt class="heading">Throws:</dt>
334
+ <for each="item" in="data.exceptions">
335
+ <dt>
336
+ {+((item.type)?"<span class=\"light fixedFont\">{"+(new Link().toSymbol(item.type))+"}</span> " : "")+} <b>{+item.name+}</b>
337
+ </dt>
338
+ <dd>{+resolveLinks(item.desc)+}</dd>
339
+ </for>
340
+ </dl>
341
+ </if>
342
+ <if test="data.returns.length">
343
+ <dl class="detailList">
344
+ <dt class="heading">Returns:</dt>
345
+ <for each="item" in="data.returns">
346
+ <dd>{+((item.type)?"<span class=\"light fixedFont\">{"+(new Link().toSymbol(item.type))+"}</span> " : "")+}{+resolveLinks(item.desc)+}</dd>
347
+ </for>
348
+ </dl>
349
+ </if>
350
+ <if test="data.requires.length">
351
+ <dl class="detailList">
352
+ <dt class="heading">Requires:</dt>
353
+ <for each="item" in="data.requires">
354
+ <dd>{+ resolveLinks(item) +}</dd>
355
+ </for>
356
+ </dl>
357
+ </if>
358
+ <if test="data.see.length">
359
+ <dl class="detailList">
360
+ <dt class="heading">See:</dt>
361
+ <for each="item" in="data.see">
362
+ <dd>{+ new Link().toSymbol(item) +}</dd>
363
+ </for>
364
+ </dl>
365
+ </if>
366
+
367
+ </div>
368
+ </if>
369
+
370
+ <!-- ============================== field details ========================== -->
371
+ <if test="defined(ownProperties) && ownProperties.length">
372
+ <div class="sectionTitle">
373
+ Field Detail
374
+ </div>
375
+ <for each="member" in="ownProperties">
376
+ <a name="{+Link.symbolNameToLinkName(member)+}"> </a>
377
+ <div class="fixedFont">{!
378
+ if (member.isPrivate) output += "&lt;private&gt; ";
379
+ if (member.isInner) output += "&lt;inner&gt; ";
380
+ if (member.isStatic) output += "&lt;static&gt; ";
381
+ if (member.isConstant) output += "&lt;constant&gt; ";
382
+ !}
383
+
384
+ <if test="member.type"><span class="light">{{+new Link().toSymbol(member.type)+}}</span></if>
385
+ <if test="member.isStatic && member.memberOf != '_global_'"><span class="light">{+member.memberOf+}.</span></if><b>{+member.name+}</b>
386
+
387
+ </div>
388
+ <div class="description">
389
+ {+resolveLinks(member.desc)+}
390
+ <if test="member.srcFile != data.srcFile">
391
+ <br />
392
+ <i>Defined in: </i> {+new Link().toSrc(member.srcFile)+}.
393
+ </if>
394
+ <if test="member.author"><br /><i>Author: </i>{+member.author+}.</if>
395
+ </div>
396
+
397
+ <if test="member.example.length">
398
+ <for each="example" in="member.example">
399
+ <pre class="code">{+example+}</pre>
400
+ </for>
401
+ </if>
402
+
403
+ <if test="member.deprecated">
404
+ <dl class="detailList">
405
+ <dt class="heading">Deprecated:</dt>
406
+ <dt>
407
+ {+ resolveLinks(member.deprecated) +}
408
+ </dt>
409
+ </dl>
410
+ </if>
411
+ <if test="member.since">
412
+ <dl class="detailList">
413
+ <dt class="heading">Since:</dt>
414
+ <dd>{+ member.since +}</dd>
415
+ </dl>
416
+ </if>
417
+ <if test="member.see.length">
418
+ <dl class="detailList">
419
+ <dt class="heading">See:</dt>
420
+ <for each="item" in="member.see">
421
+ <dd>{+ new Link().toSymbol(item) +}</dd>
422
+ </for>
423
+ </dl>
424
+ </if>
425
+ <if test="member.defaultValue">
426
+ <dl class="detailList">
427
+ <dt class="heading">Default Value:</dt>
428
+ <dd>
429
+ {+resolveLinks(member.defaultValue)+}
430
+ </dd>
431
+ </dl>
432
+ </if>
433
+
434
+ <if test="!$member_last"><hr /></if>
435
+ </for>
436
+ </if>
437
+
438
+ <!-- ============================== method details ========================= -->
439
+ <if test="defined(ownMethods) && ownMethods.length">
440
+ <div class="sectionTitle">
441
+ Method Detail
442
+ </div>
443
+ <for each="member" in="ownMethods">
444
+ <a name="{+Link.symbolNameToLinkName(member)+}"> </a>
445
+ <div class="fixedFont">{!
446
+ if (member.isPrivate) output += "&lt;private&gt; ";
447
+ if (member.isInner) output += "&lt;inner&gt; ";
448
+ if (member.isStatic) output += "&lt;static&gt; ";
449
+ !}
450
+
451
+ <if test="member.type"><span class="light">{{+new Link().toSymbol(member.type)+}}</span></if>
452
+ <if test="member.isStatic && member.memberOf != '_global_'"><span class="light">{+member.memberOf+}.</span></if><b>{+member.name+}</b>{+makeSignature(member.params)+}
453
+
454
+ </div>
455
+ <div class="description">
456
+ {+resolveLinks(member.desc)+}
457
+ <if test="member.srcFile != data.srcFile">
458
+ <br />
459
+ <i>Defined in: </i> {+new Link().toSrc(member.srcFile)+}.
460
+ </if>
461
+ <if test="member.author"><br /><i>Author: </i>{+member.author+}.</if>
462
+ </div>
463
+
464
+ <if test="member.example.length">
465
+ <for each="example" in="member.example">
466
+ <pre class="code">{+example+}</pre>
467
+ </for>
468
+ </if>
469
+
470
+ <if test="member.params.length">
471
+ <dl class="detailList">
472
+ <dt class="heading">Parameters:</dt>
473
+ <for each="item" in="member.params">
474
+ <dt>
475
+ {+((item.type)?"<span class=\"light fixedFont\">{"+(new Link().toSymbol(item.type))+"}</span> " : "")+}<b>{+item.name+}</b>
476
+ <if test="item.isOptional"><i>Optional<if test="item.defaultValue">, Default: {+item.defaultValue+}</if></i></if>
477
+ </dt>
478
+ <dd>{+resolveLinks(item.desc)+}</dd>
479
+ </for>
480
+ </dl>
481
+ </if>
482
+ <if test="member.deprecated">
483
+ <dl class="detailList">
484
+ <dt class="heading">Deprecated:</dt>
485
+ <dt>
486
+ {+ resolveLinks(member.deprecated) +}
487
+ </dt>
488
+ </dl>
489
+ </if>
490
+ <if test="member.since">
491
+ <dl class="detailList">
492
+ <dt class="heading">Since:</dt>
493
+ <dd>{+ member.since +}</dd>
494
+ </dl>
495
+ </dl>
496
+ </if>
497
+ <if test="member.exceptions.length">
498
+ <dl class="detailList">
499
+ <dt class="heading">Throws:</dt>
500
+ <for each="item" in="member.exceptions">
501
+ <dt>
502
+ {+((item.type)?"<span class=\"light fixedFont\">{"+(new Link().toSymbol(item.type))+"}</span> " : "")+} <b>{+item.name+}</b>
503
+ </dt>
504
+ <dd>{+resolveLinks(item.desc)+}</dd>
505
+ </for>
506
+ </dl>
507
+ </if>
508
+ <if test="member.returns.length">
509
+ <dl class="detailList">
510
+ <dt class="heading">Returns:</dt>
511
+ <for each="item" in="member.returns">
512
+ <dd>{+((item.type)?"<span class=\"light fixedFont\">{"+(new Link().toSymbol(item.type))+"}</span> " : "")+}{+resolveLinks(item.desc)+}</dd>
513
+ </for>
514
+ </dl>
515
+ </if>
516
+ <if test="member.requires.length">
517
+ <dl class="detailList">
518
+ <dt class="heading">Requires:</dt>
519
+ <for each="item" in="member.requires">
520
+ <dd>{+ resolveLinks(item) +}</dd>
521
+ </for>
522
+ </dl>
523
+ </if>
524
+ <if test="member.see.length">
525
+ <dl class="detailList">
526
+ <dt class="heading">See:</dt>
527
+ <for each="item" in="member.see">
528
+ <dd>{+ new Link().toSymbol(item) +}</dd>
529
+ </for>
530
+ </dl>
531
+ </if>
532
+
533
+ <if test="!$member_last"><hr /></if>
534
+ </for>
535
+ </if>
536
+
537
+ <!-- ============================== event details ========================= -->
538
+ <if test="defined(ownEvents) && ownEvents.length">
539
+ <div class="sectionTitle">
540
+ Event Detail
541
+ </div>
542
+ <for each="member" in="ownEvents">
543
+ <a name="event:{+Link.symbolNameToLinkName(member)+}"> </a>
544
+ <div class="fixedFont">{!
545
+ if (member.isPrivate) output += "&lt;private&gt; ";
546
+ if (member.isInner) output += "&lt;inner&gt; ";
547
+ if (member.isStatic) output += "&lt;static&gt; ";
548
+ !}
549
+
550
+ <if test="member.type"><span class="light">{{+new Link().toSymbol(member.type)+}}</span></if>
551
+ <if test="member.isStatic && member.memberOf != '_global_'"><span class="light">{+member.memberOf+}.</span></if><b>{+member.name+}</b>{+makeSignature(member.params)+}
552
+
553
+ </div>
554
+ <div class="description">
555
+ {+resolveLinks(member.desc)+}
556
+ <if test="member.srcFile != data.srcFile">
557
+ <br />
558
+ <i>Defined in: </i> {+new Link().toSrc(member.srcFile)+}.
559
+ </if>
560
+ <if test="member.author"><br /><i>Author: </i>{+member.author+}.</if>
561
+ </div>
562
+
563
+ <if test="member.example.length">
564
+ <for each="example" in="member.example">
565
+ <pre class="code">{+example+}</pre>
566
+ </for>
567
+ </if>
568
+
569
+ <if test="member.params.length">
570
+ <dl class="detailList">
571
+ <dt class="heading">Parameters:</dt>
572
+ <for each="item" in="member.params">
573
+ <dt>
574
+ {+((item.type)?"<span class=\"light fixedFont\">{"+(new Link().toSymbol(item.type))+"}</span> " : "")+}<b>{+item.name+}</b>
575
+ <if test="item.isOptional"><i>Optional<if test="item.defaultValue">, Default: {+item.defaultValue+}</if></i></if>
576
+ </dt>
577
+ <dd>{+ resolveLinks(item.desc) +}</dd>
578
+ </for>
579
+ </dl>
580
+ </if>
581
+ <if test="member.deprecated">
582
+ <dl class="detailList">
583
+ <dt class="heading">Deprecated:</dt>
584
+ <dt>
585
+ {+ resolveLinks(member.deprecated) +}
586
+ </dt>
587
+ </dl>
588
+ </if>
589
+ <if test="member.since">
590
+ <dl class="detailList">
591
+ <dt class="heading">Since:</dt>
592
+ <dd>{+ member.since +}</dd>
593
+ </dl>
594
+ </dl>
595
+ </if>
596
+ <if test="member.exceptions.length">
597
+ <dl class="detailList">
598
+ <dt class="heading">Throws:</dt>
599
+ <for each="item" in="member.exceptions">
600
+ <dt>
601
+ {+((item.type)?"<span class=\"light fixedFont\">{"+(new Link().toSymbol(item.type))+"}</span> " : "")+} <b>{+item.name+}</b>
602
+ </dt>
603
+ <dd>{+ resolveLinks(item.desc) +}</dd>
604
+ </for>
605
+ </dl>
606
+ </if>
607
+ <if test="member.returns.length">
608
+ <dl class="detailList">
609
+ <dt class="heading">Returns:</dt>
610
+ <for each="item" in="member.returns">
611
+ <dd>{+((item.type)?"<span class=\"light fixedFont\">{"+(new Link().toSymbol(item.type))+"}</span> " : "")+}{+resolveLinks(item.desc)+}</dd>
612
+ </for>
613
+ </dl>
614
+ </if>
615
+ <if test="member.requires.length">
616
+ <dl class="detailList">
617
+ <dt class="heading">Requires:</dt>
618
+ <for each="item" in="member.requires">
619
+ <dd>{+ resolveLinks(item) +}</dd>
620
+ </for>
621
+ </dl>
622
+ </if>
623
+ <if test="member.see.length">
624
+ <dl class="detailList">
625
+ <dt class="heading">See:</dt>
626
+ <for each="item" in="member.see">
627
+ <dd>{+ new Link().toSymbol(item) +}</dd>
628
+ </for>
629
+ </dl>
630
+ </if>
631
+
632
+ <if test="!$member_last"><hr /></if>
633
+ </for>
634
+ </if>
635
+
636
+ <hr />
637
+ </div>
638
+
639
+
640
+ <!-- ============================== footer ================================= -->
641
+ <div class="fineprint" style="clear:both">
642
+ <if test="JSDOC.opt.D.copyright">&copy;{+JSDOC.opt.D.copyright+}<br /></if>
643
+ Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> {+JSDOC.VERSION+} on {+new Date()+}
644
+ </div>
645
+ </body>
646
+ </html>