old_sql 1.16.0 → 1.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (273) hide show
  1. data/README.md +24 -13
  2. data/app/controllers/old_sql/report_controller.rb +3 -17
  3. data/app/views/layouts/old_sql/chart.html.erb +11 -0
  4. data/app/views/old_sql/report/chart.html.erb +8 -25
  5. data/lib/generators/old_sql/templates/user_design_template.csv +2 -3
  6. data/lib/generators/old_sql/templates/user_old_sql_demo_chart_design.yml +18 -9
  7. data/lib/old_sql/report_design/chart.rb +2 -2
  8. data/lib/old_sql/report_design/chart_item.rb +4 -4
  9. data/lib/old_sql/report_design/chart_parser.rb +2 -2
  10. data/public/javascripts/old_sql/chart.js +33 -0
  11. metadata +5 -265
  12. data/public/javascripts/old_sql/MochiKit-1.4.2/Changes +0 -362
  13. data/public/javascripts/old_sql/MochiKit-1.4.2/LICENSE.txt +0 -69
  14. data/public/javascripts/old_sql/MochiKit-1.4.2/MANIFEST +0 -179
  15. data/public/javascripts/old_sql/MochiKit-1.4.2/META.json +0 -17
  16. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/Async.html +0 -814
  17. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/Base.html +0 -1703
  18. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/Color.html +0 -755
  19. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/DOM.html +0 -1197
  20. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/DateTime.html +0 -168
  21. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/DragAndDrop.html +0 -187
  22. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/Format.html +0 -300
  23. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/Iter.html +0 -524
  24. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/Logging.html +0 -420
  25. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/LoggingPane.html +0 -142
  26. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/Position.html +0 -38
  27. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/Selector.html +0 -240
  28. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/Signal.html +0 -508
  29. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/Sortable.html +0 -244
  30. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/Style.html +0 -385
  31. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/VersionHistory.html +0 -384
  32. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/Visual.html +0 -1161
  33. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/index.html +0 -447
  34. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/js/toc.js +0 -113
  35. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/Async.rst +0 -767
  36. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/Base.rst +0 -1445
  37. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/Color.rst +0 -651
  38. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/DOM.rst +0 -1143
  39. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/DateTime.rst +0 -145
  40. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/DragAndDrop.rst +0 -197
  41. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/Format.rst +0 -258
  42. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/Iter.rst +0 -454
  43. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/Logging.rst +0 -348
  44. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/LoggingPane.rst +0 -128
  45. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/Position.rst +0 -26
  46. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/Selector.rst +0 -203
  47. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/Signal.rst +0 -498
  48. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/Sortable.rst +0 -186
  49. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/Style.rst +0 -353
  50. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/VersionHistory.rst +0 -362
  51. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/Visual.rst +0 -895
  52. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/index.rst +0 -83
  53. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/ajax_tables/ajax_tables.css +0 -69
  54. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/ajax_tables/ajax_tables.js +0 -401
  55. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/ajax_tables/domains.json +0 -10
  56. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/ajax_tables/domains.xml +0 -40
  57. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/ajax_tables/index.html +0 -96
  58. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/color_wheel/color_wheel.css +0 -4
  59. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/color_wheel/color_wheel.js +0 -95
  60. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/color_wheel/index.html +0 -31
  61. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/dnd_sortable/dnd_sortable.css +0 -23
  62. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/dnd_sortable/dropmarker.png +0 -0
  63. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/dnd_sortable/icon.png +0 -0
  64. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/dnd_sortable/index.html +0 -54
  65. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/dnd_sortable/sortable2_test.html +0 -150
  66. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/dnd_sortable/sortable3_test.html +0 -42
  67. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/dnd_sortable/sortable4_test.html +0 -90
  68. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/dnd_sortable/sortable5_test.html +0 -29
  69. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/dnd_sortable/sortable_test.html +0 -38
  70. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/dnd_sortable/sortable_tree_test.html +0 -189
  71. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/draggable/draggable.css +0 -28
  72. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/draggable/draggable.js +0 -73
  73. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/draggable/index.html +0 -38
  74. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/effects/effects_bigslide.html +0 -36
  75. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/effects/effects_blind.html +0 -65
  76. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/effects/effects_blindslide.html +0 -31
  77. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/effects/effects_combi.css +0 -18
  78. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/effects/effects_fadeappear.html +0 -61
  79. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/effects/effects_grow_shrink.html +0 -38
  80. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/effects/effects_onload.html +0 -67
  81. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/effects/effects_queue.html +0 -67
  82. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/effects/effects_queue_limit.html +0 -30
  83. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/effects/effects_scroll.html +0 -483
  84. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/effects/effects_slide.html +0 -62
  85. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/effects/full.html +0 -71
  86. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/effects/icon.png +0 -0
  87. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/effects/index.html +0 -150
  88. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/interpreter/index.html +0 -88
  89. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/interpreter/interpreter.css +0 -54
  90. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/interpreter/interpreter.js +0 -373
  91. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/key_events/index.html +0 -78
  92. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/key_events/key_events.css +0 -5
  93. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/key_events/key_events.js +0 -85
  94. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/logging_pane/index.html +0 -46
  95. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/logging_pane/logging_pane.css +0 -78
  96. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/logging_pane/logging_pane.js +0 -11
  97. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/mochiregexp/index.html +0 -74
  98. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/mochiregexp/mochiregexp.css +0 -73
  99. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/mochiregexp/mochiregexp.js +0 -125
  100. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/mouse_events/index.html +0 -88
  101. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/mouse_events/mouse_events.css +0 -17
  102. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/mouse_events/mouse_events.js +0 -59
  103. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/rounded_corners/index.html +0 -28
  104. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/rounded_corners/rounded_corners.css +0 -3
  105. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/rounded_corners/rounded_corners.js +0 -19
  106. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/simple_dnd/dnd_boxes.html +0 -45
  107. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/simple_dnd/dnd_full.html +0 -119
  108. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/simple_dnd/dnd_ghost.html +0 -40
  109. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/simple_dnd/dnd_hoverclass.html +0 -43
  110. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/simple_dnd/dnd_scroll.html +0 -91
  111. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/simple_dnd/dnd_snap.html +0 -54
  112. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/simple_dnd/index.html +0 -93
  113. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/simple_dnd/simple_dnd.css +0 -64
  114. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/sortable_tables/index.html +0 -71
  115. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/sortable_tables/sortable_tables.css +0 -66
  116. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/sortable_tables/sortable_tables.js +0 -203
  117. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/view-source/lib/SyntaxHighlighter/SyntaxHighlighter.css +0 -177
  118. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/view-source/lib/SyntaxHighlighter/Tests.html +0 -339
  119. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/view-source/lib/SyntaxHighlighter/shBrushCSharp.js +0 -30
  120. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/view-source/lib/SyntaxHighlighter/shBrushDelphi.js +0 -31
  121. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/view-source/lib/SyntaxHighlighter/shBrushJScript.js +0 -22
  122. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/view-source/lib/SyntaxHighlighter/shBrushPhp.js +0 -23
  123. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/view-source/lib/SyntaxHighlighter/shBrushPython.js +0 -71
  124. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/view-source/lib/SyntaxHighlighter/shBrushSql.js +0 -40
  125. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/view-source/lib/SyntaxHighlighter/shBrushVb.js +0 -29
  126. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/view-source/lib/SyntaxHighlighter/shBrushXml.js +0 -61
  127. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/view-source/lib/SyntaxHighlighter/shCore.js +0 -622
  128. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/view-source/view-source.css +0 -1
  129. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/view-source/view-source.html +0 -19
  130. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/view-source/view-source.js +0 -70
  131. data/public/javascripts/old_sql/MochiKit-1.4.2/include/_img/bg_docheader.gif +0 -0
  132. data/public/javascripts/old_sql/MochiKit-1.4.2/include/_img/g_bullet.gif +0 -0
  133. data/public/javascripts/old_sql/MochiKit-1.4.2/include/_img/g_logo_doc.gif +0 -0
  134. data/public/javascripts/old_sql/MochiKit-1.4.2/include/css/documentation.css +0 -130
  135. data/public/javascripts/old_sql/MochiKit-1.4.2/include/css/general.css +0 -48
  136. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/Async.js +0 -682
  137. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/Base.js +0 -1489
  138. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/Color.js +0 -863
  139. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/DOM.js +0 -1256
  140. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/DateTime.js +0 -222
  141. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/DragAndDrop.js +0 -793
  142. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/Format.js +0 -304
  143. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/Iter.js +0 -844
  144. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/Logging.js +0 -315
  145. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/LoggingPane.js +0 -353
  146. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/MochiKit.js +0 -188
  147. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/MockDOM.js +0 -115
  148. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/Position.js +0 -236
  149. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/Selector.js +0 -415
  150. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/Signal.js +0 -897
  151. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/Sortable.js +0 -589
  152. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/Style.js +0 -594
  153. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/Test.js +0 -162
  154. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/Visual.js +0 -2026
  155. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/__package__.js +0 -18
  156. data/public/javascripts/old_sql/MochiKit-1.4.2/packed/MochiKit/MochiKit.js +0 -7829
  157. data/public/javascripts/old_sql/MochiKit-1.4.2/packed/MochiKit/__package__.js +0 -6
  158. data/public/javascripts/old_sql/MochiKit-1.4.2/packed/MochiKit/customize.html +0 -251
  159. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/FakeJSAN.js +0 -40
  160. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/SimpleTest/SimpleTest.js +0 -381
  161. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/SimpleTest/TestRunner.js +0 -159
  162. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/SimpleTest/test.css +0 -28
  163. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/cli.js +0 -6
  164. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/index.html +0 -25
  165. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/standalone.js +0 -16
  166. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_Base.js +0 -577
  167. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_Color.js +0 -137
  168. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_DateTime.js +0 -52
  169. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_DragAndDrop.js +0 -30
  170. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_Format.js +0 -89
  171. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_Iter.js +0 -186
  172. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_Logging.js +0 -88
  173. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-Async.html +0 -408
  174. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-Async.json +0 -1
  175. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-Base.html +0 -34
  176. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-Color.html +0 -84
  177. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-DOM-Safari.html +0 -48
  178. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-DOM.html +0 -363
  179. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-DateTime.html +0 -39
  180. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-DragAndDrop.html +0 -54
  181. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-Format.html +0 -39
  182. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-Iter.html +0 -38
  183. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-JSAN.html +0 -32
  184. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-Logging.html +0 -40
  185. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-MochiKit.html +0 -18
  186. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-Selector.html +0 -295
  187. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-Signal.html +0 -43
  188. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-Style.html +0 -223
  189. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-Visual.html +0 -197
  190. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_Signal.js +0 -481
  191. data/public/javascripts/old_sql/plotkit-0.9.1/COPYING +0 -28
  192. data/public/javascripts/old_sql/plotkit-0.9.1/PlotKit/Base.js +0 -406
  193. data/public/javascripts/old_sql/plotkit-0.9.1/PlotKit/Canvas.js +0 -683
  194. data/public/javascripts/old_sql/plotkit-0.9.1/PlotKit/EasyPlot.js +0 -161
  195. data/public/javascripts/old_sql/plotkit-0.9.1/PlotKit/Layout.js +0 -756
  196. data/public/javascripts/old_sql/plotkit-0.9.1/PlotKit/PlotKit.js +0 -151
  197. data/public/javascripts/old_sql/plotkit-0.9.1/PlotKit/PlotKit_Packed.js +0 -2177
  198. data/public/javascripts/old_sql/plotkit-0.9.1/PlotKit/SVG.js +0 -705
  199. data/public/javascripts/old_sql/plotkit-0.9.1/PlotKit/SweetCanvas.js +0 -348
  200. data/public/javascripts/old_sql/plotkit-0.9.1/PlotKit/SweetSVG.js +0 -247
  201. data/public/javascripts/old_sql/plotkit-0.9.1/PlotKit/dummy.svg +0 -9
  202. data/public/javascripts/old_sql/plotkit-0.9.1/PlotKit/excanvas.js +0 -723
  203. data/public/javascripts/old_sql/plotkit-0.9.1/README +0 -1
  204. data/public/javascripts/old_sql/plotkit-0.9.1/doc/MochiKitAdditions.html +0 -2
  205. data/public/javascripts/old_sql/plotkit-0.9.1/doc/MochiKitAdditions.txt +0 -2
  206. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.Base.html +0 -302
  207. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.Base.txt +0 -139
  208. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.Canvas.html +0 -172
  209. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.Canvas.txt +0 -81
  210. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.EasyPlot.html +0 -155
  211. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.EasyPlot.txt +0 -50
  212. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.Layout.html +0 -428
  213. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.Layout.txt +0 -330
  214. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.QuickStart.html +0 -368
  215. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.QuickStart.txt +0 -256
  216. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.Renderer.html +0 -436
  217. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.Renderer.txt +0 -299
  218. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.SVG.html +0 -159
  219. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.SVG.txt +0 -64
  220. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.SweetCanvas.html +0 -131
  221. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.SweetCanvas.txt +0 -34
  222. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.SweetSVG.html +0 -131
  223. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.SweetSVG.txt +0 -34
  224. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.html +0 -334
  225. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.txt +0 -151
  226. data/public/javascripts/old_sql/plotkit-0.9.1/doc/SVGCanvasCompat.html +0 -304
  227. data/public/javascripts/old_sql/plotkit-0.9.1/doc/SVGCanvasCompat.txt +0 -144
  228. data/public/javascripts/old_sql/plotkit-0.9.1/doc/barsample.png +0 -0
  229. data/public/javascripts/old_sql/plotkit-0.9.1/doc/black.png +0 -0
  230. data/public/javascripts/old_sql/plotkit-0.9.1/doc/blue.png +0 -0
  231. data/public/javascripts/old_sql/plotkit-0.9.1/doc/cyan.png +0 -0
  232. data/public/javascripts/old_sql/plotkit-0.9.1/doc/doc.css +0 -62
  233. data/public/javascripts/old_sql/plotkit-0.9.1/doc/generate.py +0 -37
  234. data/public/javascripts/old_sql/plotkit-0.9.1/doc/green.png +0 -0
  235. data/public/javascripts/old_sql/plotkit-0.9.1/doc/orange.png +0 -0
  236. data/public/javascripts/old_sql/plotkit-0.9.1/doc/piesample.png +0 -0
  237. data/public/javascripts/old_sql/plotkit-0.9.1/doc/purple.png +0 -0
  238. data/public/javascripts/old_sql/plotkit-0.9.1/doc/red.png +0 -0
  239. data/public/javascripts/old_sql/plotkit-0.9.1/scripts/custom_rhino.jar +0 -0
  240. data/public/javascripts/old_sql/plotkit-0.9.1/scripts/pack.py +0 -58
  241. data/public/javascripts/old_sql/plotkit-0.9.1/tests/axis.html +0 -31
  242. data/public/javascripts/old_sql/plotkit-0.9.1/tests/basic.html +0 -25
  243. data/public/javascripts/old_sql/plotkit-0.9.1/tests/basic.js +0 -143
  244. data/public/javascripts/old_sql/plotkit-0.9.1/tests/debug.html +0 -56
  245. data/public/javascripts/old_sql/plotkit-0.9.1/tests/demo-svg.html +0 -58
  246. data/public/javascripts/old_sql/plotkit-0.9.1/tests/demo-svg.js +0 -133
  247. data/public/javascripts/old_sql/plotkit-0.9.1/tests/demo.html +0 -57
  248. data/public/javascripts/old_sql/plotkit-0.9.1/tests/demo.js +0 -136
  249. data/public/javascripts/old_sql/plotkit-0.9.1/tests/dynamic.html +0 -161
  250. data/public/javascripts/old_sql/plotkit-0.9.1/tests/img/firefox.png +0 -0
  251. data/public/javascripts/old_sql/plotkit-0.9.1/tests/img/konqueror.png +0 -0
  252. data/public/javascripts/old_sql/plotkit-0.9.1/tests/img/mozilla.ico +0 -0
  253. data/public/javascripts/old_sql/plotkit-0.9.1/tests/img/msie.gif +0 -0
  254. data/public/javascripts/old_sql/plotkit-0.9.1/tests/img/opera.ico +0 -0
  255. data/public/javascripts/old_sql/plotkit-0.9.1/tests/img/safari.gif +0 -0
  256. data/public/javascripts/old_sql/plotkit-0.9.1/tests/labels-img.html +0 -38
  257. data/public/javascripts/old_sql/plotkit-0.9.1/tests/labels.html +0 -43
  258. data/public/javascripts/old_sql/plotkit-0.9.1/tests/prototype_compat.html +0 -28
  259. data/public/javascripts/old_sql/plotkit-0.9.1/tests/quickstart-easy.html +0 -29
  260. data/public/javascripts/old_sql/plotkit-0.9.1/tests/quickstart-horiz.html +0 -53
  261. data/public/javascripts/old_sql/plotkit-0.9.1/tests/quickstart-neg.html +0 -29
  262. data/public/javascripts/old_sql/plotkit-0.9.1/tests/quickstart-svg.html +0 -61
  263. data/public/javascripts/old_sql/plotkit-0.9.1/tests/quickstart.html +0 -57
  264. data/public/javascripts/old_sql/plotkit-0.9.1/tests/sample.txt +0 -6
  265. data/public/javascripts/old_sql/plotkit-0.9.1/tests/svg-sweet.html +0 -29
  266. data/public/javascripts/old_sql/plotkit-0.9.1/tests/svg-sweet.js +0 -141
  267. data/public/javascripts/old_sql/plotkit-0.9.1/tests/svg.html +0 -26
  268. data/public/javascripts/old_sql/plotkit-0.9.1/tests/svg.js +0 -147
  269. data/public/javascripts/old_sql/plotkit-0.9.1/tests/sweet.html +0 -24
  270. data/public/javascripts/old_sql/plotkit-0.9.1/tests/sweet.js +0 -89
  271. data/public/javascripts/old_sql/plotkit-0.9.1/tests/tests.css +0 -66
  272. data/public/javascripts/old_sql/plotkit-0.9.1/tests/testsvg.html +0 -20
  273. data/public/javascripts/old_sql/plotkit-0.9.1/tests/testsvg.js +0 -31
@@ -1,159 +0,0 @@
1
- /**
2
- * TestRunner: A test runner for SimpleTest
3
- * TODO:
4
- *
5
- * * Avoid moving iframes: That causes reloads on mozilla and opera.
6
- *
7
- *
8
- **/
9
- var TestRunner = {};
10
- TestRunner.logEnabled = false;
11
- TestRunner._iframes = {};
12
- TestRunner._iframeDocuments = {};
13
- TestRunner._iframeRows = {};
14
- TestRunner._currentTest = 0;
15
- TestRunner._urls = [];
16
- TestRunner._testsDiv = DIV();
17
- TestRunner._progressDiv = DIV();
18
- TestRunner._summaryDiv = DIV(null,
19
- H1(null, "Tests Summary"),
20
- TABLE(null,
21
- THEAD(null,
22
- TR(null,
23
- TH(null, "Test"),
24
- TH(null, "Passed"),
25
- TH(null, "Failed")
26
- )
27
- ),
28
- TBODY()
29
- )
30
- );
31
-
32
- /**
33
- * This function is called after generating the summary.
34
- **/
35
- TestRunner.onComplete = null;
36
-
37
- /**
38
- * If logEnabled is true, this is the logger that will be used.
39
- **/
40
- TestRunner.logger = MochiKit.Logging.logger;
41
-
42
- /**
43
- * Toggle element visibility
44
- **/
45
- TestRunner._toggle = function(el) {
46
- if (el.className == "noshow") {
47
- el.className = "";
48
- el.style.cssText = "";
49
- } else {
50
- el.className = "noshow";
51
- el.style.cssText = "width:0px; height:0px; border:0px;";
52
- }
53
- };
54
-
55
-
56
- /**
57
- * Creates the iframe that contains a test
58
- **/
59
- TestRunner._makeIframe = function (url) {
60
- var iframe = document.createElement('iframe');
61
- iframe.src = url;
62
- iframe.name = url;
63
- iframe.width = "500";
64
- var tbody = TestRunner._summaryDiv.getElementsByTagName("tbody")[0];
65
- var tr = TR(null, TD({'colspan': '3'}, iframe));
66
- iframe._row = tr;
67
- tbody.appendChild(tr);
68
- return iframe;
69
- };
70
-
71
- /**
72
- * TestRunner entry point.
73
- *
74
- * The arguments are the URLs of the test to be ran.
75
- *
76
- **/
77
- TestRunner.runTests = function (/*url...*/) {
78
- if (TestRunner.logEnabled)
79
- TestRunner.logger.log("SimpleTest START");
80
-
81
- var body = document.getElementsByTagName("body")[0];
82
- appendChildNodes(body,
83
- TestRunner._testsDiv,
84
- TestRunner._progressDiv,
85
- TestRunner._summaryDiv
86
- );
87
- for (var i = 0; i < arguments.length; i++) {
88
- TestRunner._urls.push(arguments[i]);
89
- }
90
- TestRunner.runNextTest();
91
- };
92
-
93
- /**
94
- * Run the next test. If no test remains, calls makeSummary
95
- **/
96
- TestRunner.runNextTest = function() {
97
- if (TestRunner._currentTest < TestRunner._urls.length) {
98
- var url = TestRunner._urls[TestRunner._currentTest];
99
- var progress = SPAN(null,
100
- "Running ", A({href:url}, url), "..."
101
- );
102
-
103
- if (TestRunner.logEnabled)
104
- TestRunner.logger.log(scrapeText(progress));
105
-
106
- TestRunner._progressDiv.appendChild(progress);
107
- TestRunner._iframes[url] = TestRunner._makeIframe(url);
108
- } else {
109
- TestRunner.makeSummary();
110
- if (TestRunner.onComplete)
111
- TestRunner.onComplete();
112
- }
113
- };
114
-
115
- /**
116
- * This stub is called by SimpleTest when a test is finished.
117
- **/
118
- TestRunner.testFinished = function (doc) {
119
- appendChildNodes(TestRunner._progressDiv, SPAN(null, "Done"), BR());
120
- var finishedURL = TestRunner._urls[TestRunner._currentTest];
121
-
122
- if (TestRunner.logEnabled)
123
- TestRunner.logger.debug("SimpleTest finished " + finishedURL);
124
-
125
- TestRunner._iframeDocuments[finishedURL] = doc;
126
- // TestRunner._iframes[finishedURL].style.display = "none";
127
- TestRunner._toggle(TestRunner._iframes[finishedURL]);
128
- TestRunner._currentTest++;
129
- TestRunner.runNextTest();
130
- };
131
-
132
- /**
133
- * Display the summary in the browser
134
- **/
135
- TestRunner.makeSummary = function() {
136
- if (TestRunner.logEnabled)
137
- TestRunner.logger.log("SimpleTest FINISHED");
138
- var rows = [];
139
- for (var url in TestRunner._iframeDocuments) {
140
- var doc = TestRunner._iframeDocuments[url];
141
- var nOK = withDocument(doc,
142
- partial(getElementsByTagAndClassName, 'div', 'test_ok')
143
- ).length;
144
- var nNotOK = withDocument(doc,
145
- partial(getElementsByTagAndClassName, 'div', 'test_not_ok')
146
- ).length;
147
- var toggle = partial(TestRunner._toggle, TestRunner._iframes[url]);
148
- var jsurl = "TestRunner._toggle(TestRunner._iframes['" + url + "'])";
149
- var row = TR(
150
- {'style': {'backgroundColor': nNotOK > 0 ? "#f00":"#0f0"}},
151
- TD(null, url),
152
- TD(null, nOK),
153
- TD(null, nNotOK)
154
- );
155
- row.onclick = toggle;
156
- var tbody = TestRunner._summaryDiv.getElementsByTagName("tbody")[0];
157
- tbody.insertBefore(row, TestRunner._iframes[url]._row)
158
- }
159
- };
@@ -1,28 +0,0 @@
1
- .test_ok {
2
- color: green;
3
- display: none;
4
- }
5
- .test_not_ok {
6
- color: red;
7
- display: block;
8
- }
9
-
10
- .test_ok, .test_not_ok {
11
- border-bottom-width: 2px;
12
- border-bottom-style: solid;
13
- border-bottom-color: black;
14
- }
15
-
16
- .all_pass {
17
- background-color: lime;
18
- }
19
-
20
- .some_fail {
21
- background-color: red;
22
- }
23
-
24
- .tests_report {
25
- border-width: 2px;
26
- border-style: solid;
27
- width: 20em;
28
- }
@@ -1,6 +0,0 @@
1
- MochiKit = {__export__: true};
2
- load('tests/FakeJSAN.js')
3
- JSAN.use('MochiKit.MockDOM');
4
- var window = this;
5
- var document = MochiKit.MockDOM.document;
6
- JSAN.use('MochiKit.MochiKit');
@@ -1,25 +0,0 @@
1
- <html>
2
- <head>
3
- <script type="text/javascript" src="../lib/MochiKit/MochiKit.js"></script>
4
- <script type="text/javascript" src="SimpleTest/TestRunner.js"></script>
5
- </head>
6
- <body>
7
- <script type="text/javascript">
8
- TestRunner.runTests(
9
- 'test_MochiKit-Async.html',
10
- 'test_MochiKit-Base.html',
11
- 'test_MochiKit-DateTime.html',
12
- 'test_MochiKit-DOM.html',
13
- 'test_MochiKit-Style.html',
14
- 'test_MochiKit-Format.html',
15
- 'test_MochiKit-Iter.html',
16
- 'test_MochiKit-Logging.html',
17
- 'test_MochiKit-MochiKit.html',
18
- 'test_MochiKit-Color.html',
19
- 'test_MochiKit-Selector.html',
20
- 'test_MochiKit-Signal.html',
21
- 'test_MochiKit-Visual.html'
22
- );
23
- </script>
24
- </body>
25
- </html>
@@ -1,16 +0,0 @@
1
- load('tests/cli.js');
2
-
3
- JSAN.use('MochiKit.Test');
4
-
5
- print("[[ MochiKit.Base ]]");
6
- runTests('tests.test_Base');
7
- print("[[ MochiKit.Color ]]");
8
- runTests('tests.test_Color');
9
- print("[[ MochiKit.DateTime ]]");
10
- runTests('tests.test_DateTime');
11
- print("[[ MochiKit.Format ]]");
12
- runTests('tests.test_Format');
13
- print("[[ MochiKit.Iter ]]");
14
- runTests('tests.test_Iter');
15
- print("[[ MochiKit.Logging ]]");
16
- runTests('tests.test_Logging');
@@ -1,577 +0,0 @@
1
- if (typeof(dojo) != 'undefined') { dojo.require('MochiKit.Base'); }
2
- if (typeof(JSAN) != 'undefined') { JSAN.use('MochiKit.Base'); }
3
- if (typeof(tests) == 'undefined') { tests = {}; }
4
-
5
- tests.test_Base = function (t) {
6
- // test bind
7
- var not_self = {"toString": function () { return "not self"; } };
8
- var self = {"toString": function () { return "self"; } };
9
- var func = function (arg) { return this.toString() + " " + arg; };
10
- var boundFunc = bind(func, self);
11
- not_self.boundFunc = boundFunc;
12
-
13
- t.is( boundFunc("foo"), "self foo", "boundFunc bound to self properly" );
14
- t.is( not_self.boundFunc("foo"), "self foo", "boundFunc bound to self on another obj" );
15
- t.is( bind(boundFunc, not_self)("foo"), "not self foo", "boundFunc successfully rebound!" );
16
- t.is( bind(boundFunc, undefined, "foo")(), "self foo", "boundFunc partial no self change" );
17
- t.is( bind(boundFunc, not_self, "foo")(), "not self foo", "boundFunc partial self change" );
18
-
19
- // test method
20
- not_self = {"toString": function () { return "not self"; } };
21
- self = {"toString": function () { return "self"; } };
22
- func = function (arg) { return this.toString() + " " + arg; };
23
- var boundMethod = method(self, func);
24
- not_self.boundMethod = boundMethod;
25
-
26
- t.is( boundMethod("foo"), "self foo", "boundMethod bound to self properly" );
27
- t.is( not_self.boundMethod("foo"), "self foo", "boundMethod bound to self on another obj" );
28
- t.is( method(not_self, boundMethod)("foo"), "not self foo", "boundMethod successfully rebound!" );
29
- t.is( method(undefined, boundMethod, "foo")(), "self foo", "boundMethod partial no self change" );
30
- t.is( method(not_self, boundMethod, "foo")(), "not self foo", "boundMethod partial self change" );
31
-
32
- // test bindLate
33
- self = {"toString": function () { return "self"; } };
34
- boundFunc = bindLate("toString", self);
35
- t.is( boundFunc(), "self", "bindLate binds properly" );
36
- self.toString = function () { return "not self"; };
37
- t.is( boundFunc(), "not self", "bindLate late function lookup" );
38
- func = function (arg) { return this.toString() + " " + arg; };
39
- boundFunc = bindLate(func, self);
40
- t.is( boundFunc("foo"), "not self foo", "bindLate fallback to standard bind" );
41
-
42
- // test bindMethods
43
-
44
- var O = function (value) {
45
- bindMethods(this);
46
- this.value = value;
47
- };
48
- O.prototype.func = function () {
49
- return this.value;
50
- };
51
-
52
- var o = new O("boring");
53
- var p = {};
54
- p.func = o.func;
55
- var func = o.func;
56
- t.is( o.func(), "boring", "bindMethods doesn't break shit" );
57
- t.is( p.func(), "boring", "bindMethods works on other objects" );
58
- t.is( func(), "boring", "bindMethods works on functions" );
59
-
60
- var p = clone(o);
61
- t.ok( p instanceof O, "cloned correct inheritance" );
62
- var q = clone(p);
63
- t.ok( q instanceof O, "clone-cloned correct inheritance" );
64
- q.foo = "bar";
65
- t.is( p.foo, undefined, "clone-clone is copy-on-write" );
66
- p.bar = "foo";
67
- t.is( o.bar, undefined, "clone is copy-on-write" );
68
- t.is( q.bar, "foo", "clone-clone has proper delegation" );
69
- // unbind
70
- p.func = bind(p.func, null);
71
- t.is( p.func(), "boring", "clone function calls correct" );
72
- q.value = "awesome";
73
- t.is( q.func(), "awesome", "clone really does work" );
74
-
75
- // test boring boolean funcs
76
- t.is( isNull(null), true, "isNull matches null" );
77
- t.is( isNull(undefined), false, "isNull doesn't match undefined" );
78
- t.is( isNull({}), false, "isNull doesn't match objects" );
79
-
80
- t.is( isCallable(isCallable), true, "isCallable returns true on itself" );
81
- t.is( isCallable(1), false, "isCallable returns false on numbers" );
82
-
83
- t.is( isUndefined(null), false, "null is not undefined" );
84
- t.is( isUndefined(""), false, "empty string is not undefined" );
85
- t.is( isUndefined(undefined), true, "undefined is undefined" );
86
- t.is( isUndefined({}.foo), true, "missing property is undefined" );
87
-
88
- t.is( isUndefinedOrNull(null), true, "null is undefined or null" );
89
- t.is( isUndefinedOrNull(""), false, "empty string is not undefined or null" );
90
- t.is( isUndefinedOrNull(undefined), true, "undefined is undefined or null" );
91
- t.is( isUndefinedOrNull({}.foo), true, "missing property is undefined or null" );
92
-
93
- t.is( isEmpty(null), true, "isEmpty null" );
94
- t.is( isEmpty([], [], ""), true, "isEmpty true" );
95
- t.is( isEmpty([], [1], ""), true, "isEmpty true" );
96
- t.is( isEmpty([1], [1], "1"), false, "isEmpty false" );
97
- t.is( isEmpty([1], [1], "1"), false, "isEmpty false" );
98
-
99
- t.is( isNotEmpty(null), false, "isNotEmpty null" );
100
- t.is( isNotEmpty([], [], ""), false, "isNotEmpty false" );
101
- t.is( isNotEmpty([], [1], ""), false, "isNotEmpty false" );
102
- t.is( isNotEmpty([1], [1], "1"), true, "isNotEmpty true" );
103
- t.is( isNotEmpty([1], [1], "1"), true, "isNotEmpty true" );
104
-
105
- t.is( isArrayLike(undefined), false, "isArrayLike(undefined)" );
106
- t.is( isArrayLike(null), false, "isArrayLike(null)" );
107
- t.is( isArrayLike([]), true, "isArrayLike([])" );
108
-
109
- // test extension of arrays
110
- var a = [];
111
- var b = [];
112
- var three = [1, 2, 3];
113
-
114
- extend(a, three, 1);
115
- t.ok( objEqual(a, [2, 3]), "extend to an empty array" );
116
- extend(a, three, 1)
117
- t.ok( objEqual(a, [2, 3, 2, 3]), "extend to a non-empty array" );
118
-
119
- extend(b, three);
120
- t.ok( objEqual(b, three), "extend of an empty array" );
121
-
122
- var c1 = extend(null, three);
123
- t.ok( objEqual(c1, three), "extend null" );
124
- var c2 = extend(undefined, three);
125
- t.ok( objEqual(c2, three), "extend undefined" );
126
-
127
-
128
- t.is( compare(1, 2), -1, "numbers compare lt" );
129
- t.is( compare(2, 1), 1, "numbers compare gt" );
130
- t.is( compare(1, 1), 0, "numbers compare eq" );
131
- t.is( compare([1], [1]), 0, "arrays compare eq" );
132
- t.is( compare([1], [1, 2]), -1, "arrays compare lt (length)" );
133
- t.is( compare([1, 2], [2, 1]), -1, "arrays compare lt (contents)" );
134
- t.is( compare([1, 2], [1]), 1, "arrays compare gt (length)" );
135
- t.is( compare([2, 1], [1, 1]), 1, "arrays compare gt (contents)" );
136
-
137
- // test partial application
138
- var a = [];
139
- var func = function (a, b) {
140
- if (arguments.length != 2) {
141
- return "bad args";
142
- } else {
143
- return this.value + a + b;
144
- }
145
- };
146
- var self = {"value": 1, "func": func};
147
- var self2 = {"value": 2};
148
- t.is( self.func(2, 3), 6, "setup for test is correct" );
149
- self.funcTwo = partial(self.func, 2);
150
- t.is( self.funcTwo(3), 6, "partial application works" );
151
- t.is( self.funcTwo(3), 6, "partial application works still" );
152
- t.is( bind(self.funcTwo, self2)(3), 7, "rebinding partial works" );
153
- self.funcTwo = bind(bind(self.funcTwo, self2), null);
154
- t.is( self.funcTwo(3), 6, "re-unbinding partial application works" );
155
-
156
-
157
- // nodeWalk test
158
- // ... looks a lot like a DOM tree on purpose
159
- var tree = {
160
- "id": "nodeWalkTestTree",
161
- "test:int": "1",
162
- "childNodes": [
163
- {
164
- "test:int": "2",
165
- "childNodes": [
166
- {"test:int": "5"},
167
- "ignored string",
168
- {"ignored": "object"},
169
- ["ignored", "list"],
170
- {
171
- "test:skipchildren": "1",
172
- "childNodes": [{"test:int": 6}]
173
- }
174
- ]
175
- },
176
- {"test:int": "3"},
177
- {"test:int": "4"}
178
- ]
179
- }
180
-
181
- var visitedNodes = [];
182
- nodeWalk(tree, function (node) {
183
- var attr = node["test:int"];
184
- if (attr) {
185
- visitedNodes.push(attr);
186
- }
187
- if (node["test:skipchildren"]) {
188
- return;
189
- }
190
- return node.childNodes;
191
- });
192
-
193
- t.ok( objEqual(visitedNodes, ["1", "2", "3", "4", "5"]), "nodeWalk looks like it works");
194
-
195
- // test map
196
- var minusOne = function (x) { return x - 1; };
197
- var res = map(minusOne, [1, 2, 3]);
198
- t.ok( objEqual(res, [0, 1, 2]), "map works" );
199
-
200
- var res2 = xmap(minusOne, 1, 2, 3);
201
- t.ok( objEqual(res2, res), "xmap works" );
202
-
203
- res = map(operator.add, [1, 2, 3], [2, 4, 6]);
204
- t.ok( objEqual(res, [3, 6, 9]), "map(fn, p, q) works" );
205
-
206
- res = map(operator.add, [1, 2, 3], [2, 4, 6, 8]);
207
- t.ok( objEqual(res, [3, 6, 9]), "map(fn, p, q) works (q long)" );
208
-
209
- res = map(operator.add, [1, 2, 3, 4], [2, 4, 6]);
210
- t.ok( objEqual(res, [3, 6, 9]), "map(fn, p, q) works (p long)" );
211
-
212
- res = map(null, [1, 2, 3], [2, 4, 6]);
213
- t.ok( objEqual(res, [[1, 2], [2, 4], [3, 6]]), "map(null, p, q) works" );
214
-
215
- res = zip([1, 2, 3], [2, 4, 6]);
216
- t.ok( objEqual(res, [[1, 2], [2, 4], [3, 6]]), "zip(p, q) works" );
217
-
218
- res = map(null, [1, 2, 3]);
219
- t.ok( objEqual(res, [1, 2, 3]), "map(null, lst) works" );
220
-
221
-
222
-
223
-
224
- t.is( isNotEmpty("foo"), true, "3 char string is not empty" );
225
- t.is( isNotEmpty(""), false, "0 char string is empty" );
226
- t.is( isNotEmpty([1, 2, 3]), true, "3 element list is not empty" );
227
- t.is( isNotEmpty([]), false, "0 element list is empty" );
228
-
229
- // test filter
230
- var greaterThanThis = function (x) { return x > this; };
231
- var greaterThanOne = function (x) { return x > 1; };
232
- var res = filter(greaterThanOne, [-1, 0, 1, 2, 3]);
233
- t.ok( objEqual(res, [2, 3]), "filter works" );
234
- var res = filter(greaterThanThis, [-1, 0, 1, 2, 3], 1);
235
- t.ok( objEqual(res, [2, 3]), "filter self works" );
236
- var res2 = xfilter(greaterThanOne, -1, 0, 1, 2, 3);
237
- t.ok( objEqual(res2, res), "xfilter works" );
238
-
239
- t.is(objMax(1, 2, 9, 12, 42, -16, 16), 42, "objMax works (with numbers)");
240
- t.is(objMin(1, 2, 9, 12, 42, -16, 16), -16, "objMin works (with numbers)");
241
-
242
- // test adapter registry
243
-
244
- var R = new AdapterRegistry();
245
- R.register("callable", isCallable, function () { return "callable"; });
246
- R.register("arrayLike", isArrayLike, function () { return "arrayLike"; });
247
- t.is( R.match(function () {}), "callable", "registry found callable" );
248
- t.is( R.match([]), "arrayLike", "registry found ArrayLike" );
249
- try {
250
- R.match(null);
251
- t.ok( false, "non-matching didn't raise!" );
252
- } catch (e) {
253
- t.is( e, NotFound, "non-matching raised correctly" );
254
- }
255
- R.register("undefinedOrNull", isUndefinedOrNull, function () { return "undefinedOrNull" });
256
- R.register("undefined", isUndefined, function () { return "undefined" });
257
- t.is( R.match(undefined), "undefinedOrNull", "priorities are as documented" );
258
- t.ok( R.unregister("undefinedOrNull"), "removed adapter" );
259
- t.is( R.match(undefined), "undefined", "adapter was removed" );
260
- R.register("undefinedOrNull", isUndefinedOrNull, function () { return "undefinedOrNull" }, true);
261
- t.is( R.match(undefined), "undefinedOrNull", "override works" );
262
-
263
- var a1 = {"a": 1, "b": 2, "c": 2};
264
- var a2 = {"a": 2, "b": 1, "c": 2};
265
- t.is( keyComparator("a")(a1, a2), -1, "keyComparator 1 lt" );
266
- t.is( keyComparator("c")(a1, a2), 0, "keyComparator 1 eq" );
267
- t.is( keyComparator("c", "b")(a1, a2), 1, "keyComparator 2 eq gt" );
268
- t.is( keyComparator("c", "a")(a1, a2), -1, "keyComparator 2 eq lt" );
269
- t.is( reverseKeyComparator("a")(a1, a2), 1, "reverseKeyComparator" );
270
- t.is( compare(concat([1], [2], [3]), [1, 2, 3]), 0, "concat" );
271
- t.is( repr("foo"), '"foo"', "string repr" );
272
- t.is( repr(1), '1', "number repr" );
273
- t.is( listMin([1, 3, 5, 3, -1]), -1, "listMin" );
274
- t.is( objMin(1, 3, 5, 3, -1), -1, "objMin" );
275
- t.is( listMax([1, 3, 5, 3, -1]), 5, "listMax" );
276
- t.is( objMax(1, 3, 5, 3, -1), 5, "objMax" );
277
-
278
- var v = keys(a1);
279
- v.sort();
280
- t.is( compare(v, ["a", "b", "c"]), 0, "keys" );
281
- v = items(a1);
282
- v.sort();
283
- t.is( compare(v, [["a", 1], ["b", 2], ["c", 2]]), 0, "items" );
284
-
285
- var StringMap = function() {};
286
- a = new StringMap();
287
- a.foo = "bar";
288
- b = new StringMap();
289
- b.foo = "bar";
290
- try {
291
- compare(a, b);
292
- t.ok( false, "bad comparison registered!?" );
293
- } catch (e) {
294
- t.ok( e instanceof TypeError, "bad comparison raised TypeError" );
295
- }
296
-
297
- t.is( repr(a), "[object Object]", "default repr for StringMap" );
298
- var isStringMap = function () {
299
- for (var i = 0; i < arguments.length; i++) {
300
- if (!(arguments[i] instanceof StringMap)) {
301
- return false;
302
- }
303
- }
304
- return true;
305
- };
306
-
307
- registerRepr("stringMap",
308
- isStringMap,
309
- function (obj) {
310
- return "StringMap(" + repr(items(obj)) + ")";
311
- }
312
- );
313
-
314
- t.is( repr(a), 'StringMap([["foo", "bar"]])', "repr worked" );
315
-
316
- // not public API
317
- MochiKit.Base.reprRegistry.unregister("stringMap");
318
-
319
- t.is( repr(a), "[object Object]", "default repr for StringMap" );
320
-
321
- registerComparator("stringMap",
322
- isStringMap,
323
- function (a, b) {
324
- // no sorted(...) in base
325
- a = items(a);
326
- b = items(b);
327
- a.sort(compare);
328
- b.sort(compare);
329
- return compare(a, b);
330
- }
331
- );
332
-
333
- t.is( compare(a, b), 0, "registerComparator" );
334
-
335
- update(a, {"foo": "bar"}, {"wibble": "baz"}, undefined, null, {"grr": 1});
336
- t.is( a.foo, "bar", "update worked (first obj)" );
337
- t.is( a.wibble, "baz", "update worked (second obj)" );
338
- t.is( a.grr, 1, "update worked (skipped undefined and null)" );
339
- t.is( compare(a, b), 1, "update worked (comparison)" );
340
-
341
-
342
- setdefault(a, {"foo": "unf"}, {"bar": "web taco"} );
343
- t.is( a.foo, "bar", "setdefault worked (skipped existing)" );
344
- t.is( a.bar, "web taco", "setdefault worked (set non-existing)" );
345
-
346
- a = null;
347
- a = setdefault(null, {"foo": "bar"});
348
- t.is( a.foo, "bar", "setdefault worked (self is null)" );
349
-
350
- a = null;
351
- a = setdefault(undefined, {"foo": "bar"});
352
- t.is( a.foo, "bar", "setdefault worked (self is undefined)" );
353
-
354
- a = null;
355
- a = update(null, {"foo": "bar"}, {"wibble": "baz"}, undefined, null, {"grr": 1});
356
- t.is( a.foo, "bar", "update worked (self is null, first obj)" );
357
- t.is( a.wibble, "baz", "update worked (self is null, second obj)" );
358
- t.is( a.grr, 1, "update worked (self is null, skipped undefined and null)" );
359
-
360
- a = null;
361
- a = update(undefined, {"foo": "bar"}, {"wibble": "baz"}, undefined, null, {"grr": 1});
362
- t.is( a.foo, "bar", "update worked (self is undefined, first obj)" );
363
- t.is( a.wibble, "baz", "update worked (self is undefined, second obj)" );
364
- t.is( a.grr, 1, "update worked (self is undefined, skipped undefined and null)" );
365
-
366
-
367
- var c = items(merge({"foo": "bar"}, {"wibble": "baz"}));
368
- c.sort(compare);
369
- t.is( compare(c, [["foo", "bar"], ["wibble", "baz"]]), 0, "merge worked" );
370
-
371
- // not public API
372
- MochiKit.Base.comparatorRegistry.unregister("stringMap");
373
-
374
- try {
375
- compare(a, b);
376
- t.ok( false, "bad comparison registered!?" );
377
- } catch (e) {
378
- t.ok( e instanceof TypeError, "bad comparison raised TypeError" );
379
- }
380
-
381
- var o = {"__repr__": function () { return "__repr__"; }};
382
- t.is( repr(o), "__repr__", "__repr__ protocol" );
383
- t.is( repr(MochiKit.Base), MochiKit.Base.__repr__(), "__repr__ protocol when repr is defined" );
384
- var o = {"NAME": "NAME"};
385
- t.is( repr(o), "NAME", "NAME protocol (obj)" );
386
- o = function () { return "TACO" };
387
- o.NAME = "NAME";
388
- t.is( repr(o), "NAME", "NAME protocol (func)" );
389
-
390
- t.is( repr(MochiKit.Base.nameFunctions), "MochiKit.Base.nameFunctions", "test nameFunctions" );
391
- // Done!
392
-
393
- t.is( urlEncode("1+2=2").toUpperCase(), "1%2B2%3D2", "urlEncode" );
394
- t.is( queryString(["a", "b"], [1, "two"]), "a=1&b=two", "queryString");
395
- t.is( queryString({"a": 1}), "a=1", "one item alternate form queryString" );
396
- var o = {"a": 1, "b": 2, "c": function() {}};
397
- var res = queryString(o).split("&");
398
- res.sort();
399
- t.is( res.join("&"), "a=1&b=2", "two item alternate form queryString, function skip" );
400
- var res = parseQueryString("1+1=2&b=3%3D2");
401
- t.is( res["1 1"], "2", "parseQueryString pathological name" );
402
- t.is( res.b, "3=2", "parseQueryString second name:value pair" );
403
- var res = parseQueryString("foo=one&foo=two", true);
404
- t.is( res["foo"].join(" "), "one two", "parseQueryString useArrays" );
405
- var res = parseQueryString("?foo=2&bar=1");
406
- t.is( res["foo"], "2", "parseQueryString strip leading question mark");
407
-
408
- var res = parseQueryString("x=1&y=2");
409
- t.is( typeof(res['&']), "undefined", "extra cruft in parseQueryString output");
410
-
411
- t.is( serializeJSON("foo\n\r\b\f\t\u000B\u001B"), "\"foo\\n\\r\\b\\f\\t\\u000B\\u001B\"", "string JSON" );
412
- t.is( serializeJSON(null), "null", "null JSON");
413
- try {
414
- serializeJSON(undefined);
415
- t.ok(false, "undefined should not be serializable");
416
- } catch (e) {
417
- t.ok(e instanceof TypeError, "undefined not serializable");
418
- }
419
- t.is( serializeJSON(1), "1", "1 JSON");
420
- t.is( serializeJSON(1.23), "1.23", "1.23 JSON");
421
- t.is( serializeJSON(serializeJSON), null, "function JSON (null, not string)" );
422
- t.is( serializeJSON([1, "2", 3.3]), "[1, \"2\", 3.3]", "array JSON" );
423
- var res = evalJSON(serializeJSON({"a":1, "b":2}));
424
- t.is( res.a, 1, "evalJSON on an object (1)" );
425
- t.is( res.b, 2, "evalJSON on an object (2)" );
426
- var res = {"a": 1, "b": 2, "json": function () { return this; }};
427
- var res = evalJSON(serializeJSON(res));
428
- t.is( res.a, 1, "evalJSON on an object that jsons self (1)" );
429
- t.is( res.b, 2, "evalJSON on an object that jsons self (2)" );
430
- var strJSON = {"a": 1, "b": 2, "json": function () { return "json"; }};
431
- t.is( serializeJSON(strJSON), "\"json\"", "json serialization calling" );
432
- t.is( serializeJSON([strJSON]), "[\"json\"]", "json serialization calling in a structure" );
433
- t.is( evalJSON('/* {"result": 1} */').result, 1, "json comment stripping" );
434
- t.is( evalJSON('/* {"*/ /*": 1} */')['*/ /*'], 1, "json comment stripping" );
435
- registerJSON("isDateLike",
436
- isDateLike,
437
- function (d) {
438
- return "this was a date";
439
- }
440
- );
441
- t.is( serializeJSON(new Date()), "\"this was a date\"", "json registry" );
442
- MochiKit.Base.jsonRegistry.unregister("isDateLike");
443
-
444
- var a = {"foo": {"bar": 12, "wibble": 13}};
445
- var b = {"foo": {"baz": 4, "bar": 16}, "bar": 4};
446
- updatetree(a, b);
447
- var expect = [["bar", 16], ["baz", 4], ["wibble", 13]];
448
- var got = items(a.foo);
449
- got.sort(compare);
450
- t.is( repr(got), repr(expect), "updatetree merge" );
451
- t.is( a.bar, 4, "updatetree insert" );
452
-
453
- var aa = {"foo": {"bar": 12, "wibble": 13}};
454
- var bb = {"foo": {"baz": 4, "bar": 16}, "bar": 4};
455
-
456
- cc = updatetree(null, aa, bb);
457
- got = items(cc.foo);
458
- got.sort(compare);
459
- t.is( repr(got), repr(expect), "updatetree merge (self is null)" );
460
- t.is( cc.bar, 4, "updatetree insert (self is null)" );
461
-
462
- cc = updatetree(undefined, aa, bb);
463
- got = items(cc.foo);
464
- got.sort(compare);
465
- t.is( repr(got), repr(expect), "updatetree merge (self is undefined)" );
466
- t.is( cc.bar, 4, "updatetree insert (self is undefined)" );
467
-
468
- var c = counter();
469
- t.is( c(), 1, "counter starts at 1" );
470
- t.is( c(), 2, "counter increases" );
471
- c = counter(2);
472
- t.is( c(), 2, "counter starts at 2" );
473
- t.is( c(), 3, "counter increases" );
474
-
475
- t.is( findValue([1, 2, 3], 4), -1, "findValue returns -1 on not found");
476
- t.is( findValue([1, 2, 3], 1), 0, "findValue returns correct index");
477
- t.is( findValue([1, 2, 3], 1, 1), -1, "findValue honors start");
478
- t.is( findValue([1, 2, 3], 2, 0, 1), -1, "findValue honors end");
479
- t.is( findIdentical([1, 2, 3], 4), -1, "findIdentical returns -1");
480
- t.is( findIdentical([1, 2, 3], 1), 0, "findIdentical returns correct index");
481
- t.is( findIdentical([1, 2, 3], 1, 1), -1, "findIdentical honors start");
482
- t.is( findIdentical([1, 2, 3], 2, 0, 1), -1, "findIdentical honors end");
483
-
484
- var flat = flattenArguments(1, "2", 3, [4, [5, [6, 7], 8, [], 9]]);
485
- var expect = [1, "2", 3, 4, 5, 6, 7, 8, 9];
486
- t.is( repr(flat), repr(expect), "flattenArguments" );
487
-
488
- var fn = function () {
489
- return [this, concat(arguments)];
490
- }
491
- t.is( methodcaller("toLowerCase")("FOO"), "foo", "methodcaller with a method name" );
492
- t.is( repr(methodcaller(fn, 2, 3)(1)), "[1, [2, 3]]", "methodcaller with a function" );
493
-
494
- var f1 = function (x) { return [1, x]; };
495
- var f2 = function (x) { return [2, x]; };
496
- var f3 = function (x) { return [3, x]; };
497
- t.is( repr(f1(f2(f3(4)))), "[1, [2, [3, 4]]]", "test the compose test" );
498
- t.is( repr(compose(f1,f2,f3)(4)), "[1, [2, [3, 4]]]", "three fn composition works" );
499
- t.is( repr(compose(compose(f1,f2),f3)(4)), "[1, [2, [3, 4]]]", "associative left" );
500
- t.is( repr(compose(f1,compose(f2,f3))(4)), "[1, [2, [3, 4]]]", "associative right" );
501
-
502
- try {
503
- compose(f1, "foo");
504
- t.ok( false, "wrong compose argument not raised!" );
505
- } catch (e) {
506
- t.is( e.name, 'TypeError', "wrong compose argument raised correctly" );
507
- }
508
-
509
- t.is(camelize('one'), 'one', 'one word');
510
- t.is(camelize('one-two'), 'oneTwo', 'two words');
511
- t.is(camelize('one-two-three'), 'oneTwoThree', 'three words');
512
- t.is(camelize('1-one'), '1One', 'letter and word');
513
- t.is(camelize('one-'), 'one', 'trailing hyphen');
514
- t.is(camelize('-one'), 'One', 'starting hyphen');
515
- t.is(camelize('o-two'), 'oTwo', 'one character and word');
516
-
517
- var flat = flattenArray([1, "2", 3, [4, [5, [6, 7], 8, [], 9]]]);
518
- var expect = [1, "2", 3, 4, 5, 6, 7, 8, 9];
519
- t.is( repr(flat), repr(expect), "flattenArray" );
520
-
521
- /* mean */
522
- try {
523
- mean();
524
- t.ok( false, "mean no arguments didn't raise!" );
525
- } catch (e) {
526
- t.is( e.name, 'TypeError', "no arguments raised correctly" );
527
- }
528
- t.is( mean(1), 1, 'single argument (arg list)');
529
- t.is( mean([1]), 1, 'single argument (array)');
530
- t.is( mean(1,2,3), 2, 'three arguments (arg list)');
531
- t.is( mean([1,2,3]), 2, 'three arguments (array)');
532
- t.is( average(1), 1, 'test the average alias');
533
-
534
- /* median */
535
- try {
536
- median();
537
- t.ok( false, "median no arguments didn't raise!" );
538
- } catch (e) {
539
- t.is( e.name, 'TypeError', "no arguments raised correctly" );
540
- }
541
- t.is( median(1), 1, 'single argument (arg list)');
542
- t.is( median([1]), 1, 'single argument (array)');
543
- t.is( median(3,1,2), 2, 'three arguments (arg list)');
544
- t.is( median([3,1,2]), 2, 'three arguments (array)');
545
- t.is( median(3,1,2,4), 2.5, 'four arguments (arg list)');
546
- t.is( median([3,1,2,4]), 2.5, 'four arguments (array)');
547
-
548
- /* #185 */
549
- t.is( serializeJSON(parseQueryString("")), "{}", "parseQueryString('')" );
550
- t.is( serializeJSON(parseQueryString("", true)), "{}", "parseQueryString('', true)" );
551
-
552
- /* #109 */
553
- t.is( queryString({ids: [1,2,3]}), "ids=1&ids=2&ids=3", "queryString array value" );
554
- t.is( queryString({ids: "123"}), "ids=123", "queryString string value" );
555
-
556
- /* test values */
557
- var o = {a: 1, b: 2, c: 4, d: -1};
558
- var got = values(o);
559
- got.sort();
560
- t.is( repr(got), repr([-1, 1, 2, 4]), "values()" );
561
-
562
- t.is( queryString([["foo", "bar"], ["baz", "wibble"]]), "foo=baz&bar=wibble" );
563
- o = parseQueryString("foo=1=1=1&bar=2&baz&wibble=");
564
- t.is( o.foo, "1=1=1", "parseQueryString multiple = first" );
565
- t.is( o.bar, "2", "parseQueryString multiple = second" );
566
- t.is( o.baz, "", "parseQueryString multiple = third" );
567
- t.is( o.wibble, "", "parseQueryString multiple = fourth" );
568
-
569
- /* queryString with null values */
570
- t.is( queryString(["a", "b"], [1, null]), "a=1", "queryString with null value" );
571
- t.is( queryString({"a": 1, "b": null}), "a=1", "queryString with null value" );
572
-
573
- var reprFunc = function (a, b) {
574
- return;
575
- }
576
- t.is( repr(reprFunc), "function (a, b) {...}", "repr of function" );
577
- };