arrow 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. data/ChangeLog +1590 -0
  2. data/LICENSE +28 -0
  3. data/README +75 -0
  4. data/Rakefile +366 -0
  5. data/Rakefile.local +63 -0
  6. data/data/arrow/applets/TEMPLATE.rb.tpl +53 -0
  7. data/data/arrow/applets/args.rb +50 -0
  8. data/data/arrow/applets/config.rb +55 -0
  9. data/data/arrow/applets/error.rb +63 -0
  10. data/data/arrow/applets/files.rb +46 -0
  11. data/data/arrow/applets/inspect.rb +46 -0
  12. data/data/arrow/applets/nosuchapplet.rb +31 -0
  13. data/data/arrow/applets/status.rb +92 -0
  14. data/data/arrow/applets/test.rb +133 -0
  15. data/data/arrow/applets/tutorial/counter.rb +96 -0
  16. data/data/arrow/applets/tutorial/dingus.rb +67 -0
  17. data/data/arrow/applets/tutorial/hello.rb +34 -0
  18. data/data/arrow/applets/tutorial/hello2.rb +73 -0
  19. data/data/arrow/applets/tutorial/imgtext.rb +90 -0
  20. data/data/arrow/applets/tutorial/imgtext2.rb +286 -0
  21. data/data/arrow/applets/tutorial/index.rb +36 -0
  22. data/data/arrow/applets/tutorial/logo.rb +98 -0
  23. data/data/arrow/applets/tutorial/memcache.rb +61 -0
  24. data/data/arrow/applets/tutorial/missing.rb +37 -0
  25. data/data/arrow/applets/tutorial/protected.rb +100 -0
  26. data/data/arrow/applets/tutorial/redirector.rb +52 -0
  27. data/data/arrow/applets/tutorial/rndimages.rb +159 -0
  28. data/data/arrow/applets/tutorial/sharenotes.rb +83 -0
  29. data/data/arrow/applets/tutorial/subclassed-hello.rb +32 -0
  30. data/data/arrow/applets/tutorial/superhello.rb +72 -0
  31. data/data/arrow/applets/tutorial/timeclock.rb +78 -0
  32. data/data/arrow/applets/view-applet.rb +123 -0
  33. data/data/arrow/applets/view-template.rb +85 -0
  34. data/data/arrow/applets/wiki.rb +274 -0
  35. data/data/arrow/templates/TEMPLATE.tmpl.tpl +36 -0
  36. data/data/arrow/templates/applet-status.tmpl +153 -0
  37. data/data/arrow/templates/args-display.tmpl +120 -0
  38. data/data/arrow/templates/config/display-table.tmpl +36 -0
  39. data/data/arrow/templates/config/display.tmpl +36 -0
  40. data/data/arrow/templates/counter-deleted.tmpl +33 -0
  41. data/data/arrow/templates/counter.tmpl +59 -0
  42. data/data/arrow/templates/dingus.tmpl +55 -0
  43. data/data/arrow/templates/enumtable.tmpl +8 -0
  44. data/data/arrow/templates/error-display.tmpl +92 -0
  45. data/data/arrow/templates/filemap.tmpl +89 -0
  46. data/data/arrow/templates/hello-world-src.tmpl +34 -0
  47. data/data/arrow/templates/hello-world.tmpl +60 -0
  48. data/data/arrow/templates/imgtext/fontlist.tmpl +46 -0
  49. data/data/arrow/templates/imgtext/form.tmpl +70 -0
  50. data/data/arrow/templates/imgtext/reload-error.tmpl +40 -0
  51. data/data/arrow/templates/imgtext/reload.tmpl +55 -0
  52. data/data/arrow/templates/inspect/display.tmpl +80 -0
  53. data/data/arrow/templates/loginform.tmpl +64 -0
  54. data/data/arrow/templates/logout.tmpl +32 -0
  55. data/data/arrow/templates/memcache/display.tmpl +41 -0
  56. data/data/arrow/templates/navbar.incl +27 -0
  57. data/data/arrow/templates/nosuchapplet.tmpl +32 -0
  58. data/data/arrow/templates/printsource.tmpl +35 -0
  59. data/data/arrow/templates/protected.tmpl +36 -0
  60. data/data/arrow/templates/rndimages.tmpl +38 -0
  61. data/data/arrow/templates/service-response.tmpl +13 -0
  62. data/data/arrow/templates/sharenotes/display.tmpl +38 -0
  63. data/data/arrow/templates/status.tmpl +120 -0
  64. data/data/arrow/templates/templateviewer.tmpl +43 -0
  65. data/data/arrow/templates/test/harness.tmpl +57 -0
  66. data/data/arrow/templates/test/list.tmpl +48 -0
  67. data/data/arrow/templates/test/problem.tmpl +42 -0
  68. data/data/arrow/templates/tutorial/index.tmpl +37 -0
  69. data/data/arrow/templates/tutorial/missingapplet.tmpl +29 -0
  70. data/data/arrow/templates/view-applet-nosuch.tmpl +32 -0
  71. data/data/arrow/templates/view-applet.tmpl +40 -0
  72. data/data/arrow/templates/view-template.tmpl +83 -0
  73. data/data/arrow/templates/wiki/formerror.tmpl +47 -0
  74. data/data/arrow/templates/wiki/markup_help.incl +6 -0
  75. data/data/arrow/templates/wiki/new.tmpl +56 -0
  76. data/data/arrow/templates/wiki/new_system.tmpl +122 -0
  77. data/data/arrow/templates/wiki/sectionlist.tmpl +43 -0
  78. data/data/arrow/templates/wiki/show.tmpl +34 -0
  79. data/docs/manual/layouts/default.page +43 -0
  80. data/docs/manual/lib/api-filter.rb +81 -0
  81. data/docs/manual/lib/editorial-filter.rb +64 -0
  82. data/docs/manual/lib/examples-filter.rb +244 -0
  83. data/docs/manual/lib/links-filter.rb +117 -0
  84. data/lib/apache/fakerequest.rb +448 -0
  85. data/lib/apache/logger.rb +33 -0
  86. data/lib/arrow.rb +51 -0
  87. data/lib/arrow/acceptparam.rb +207 -0
  88. data/lib/arrow/applet.rb +725 -0
  89. data/lib/arrow/appletmixins.rb +218 -0
  90. data/lib/arrow/appletregistry.rb +590 -0
  91. data/lib/arrow/applettestcase.rb +503 -0
  92. data/lib/arrow/broker.rb +255 -0
  93. data/lib/arrow/cache.rb +176 -0
  94. data/lib/arrow/config-loaders/yaml.rb +75 -0
  95. data/lib/arrow/config.rb +615 -0
  96. data/lib/arrow/constants.rb +24 -0
  97. data/lib/arrow/cookie.rb +359 -0
  98. data/lib/arrow/cookieset.rb +108 -0
  99. data/lib/arrow/dispatcher.rb +368 -0
  100. data/lib/arrow/dispatcherloader.rb +50 -0
  101. data/lib/arrow/exceptions.rb +61 -0
  102. data/lib/arrow/fallbackhandler.rb +48 -0
  103. data/lib/arrow/formvalidator.rb +631 -0
  104. data/lib/arrow/htmltokenizer.rb +343 -0
  105. data/lib/arrow/logger.rb +488 -0
  106. data/lib/arrow/logger/apacheoutputter.rb +69 -0
  107. data/lib/arrow/logger/arrayoutputter.rb +63 -0
  108. data/lib/arrow/logger/coloroutputter.rb +111 -0
  109. data/lib/arrow/logger/fileoutputter.rb +96 -0
  110. data/lib/arrow/logger/htmloutputter.rb +54 -0
  111. data/lib/arrow/logger/outputter.rb +123 -0
  112. data/lib/arrow/mixins.rb +425 -0
  113. data/lib/arrow/monkeypatches.rb +94 -0
  114. data/lib/arrow/object.rb +117 -0
  115. data/lib/arrow/path.rb +196 -0
  116. data/lib/arrow/service.rb +447 -0
  117. data/lib/arrow/session.rb +289 -0
  118. data/lib/arrow/session/dbstore.rb +100 -0
  119. data/lib/arrow/session/filelock.rb +160 -0
  120. data/lib/arrow/session/filestore.rb +132 -0
  121. data/lib/arrow/session/id.rb +98 -0
  122. data/lib/arrow/session/lock.rb +253 -0
  123. data/lib/arrow/session/md5id.rb +42 -0
  124. data/lib/arrow/session/nulllock.rb +42 -0
  125. data/lib/arrow/session/posixlock.rb +166 -0
  126. data/lib/arrow/session/sha1id.rb +54 -0
  127. data/lib/arrow/session/store.rb +366 -0
  128. data/lib/arrow/session/usertrackid.rb +52 -0
  129. data/lib/arrow/spechelpers.rb +73 -0
  130. data/lib/arrow/template.rb +713 -0
  131. data/lib/arrow/template/attr.rb +31 -0
  132. data/lib/arrow/template/call.rb +31 -0
  133. data/lib/arrow/template/comment.rb +33 -0
  134. data/lib/arrow/template/container.rb +118 -0
  135. data/lib/arrow/template/else.rb +41 -0
  136. data/lib/arrow/template/elsif.rb +44 -0
  137. data/lib/arrow/template/escape.rb +53 -0
  138. data/lib/arrow/template/export.rb +87 -0
  139. data/lib/arrow/template/for.rb +145 -0
  140. data/lib/arrow/template/if.rb +78 -0
  141. data/lib/arrow/template/import.rb +119 -0
  142. data/lib/arrow/template/include.rb +206 -0
  143. data/lib/arrow/template/iterator.rb +208 -0
  144. data/lib/arrow/template/nodes.rb +734 -0
  145. data/lib/arrow/template/parser.rb +571 -0
  146. data/lib/arrow/template/prettyprint.rb +53 -0
  147. data/lib/arrow/template/render.rb +191 -0
  148. data/lib/arrow/template/selectlist.rb +94 -0
  149. data/lib/arrow/template/set.rb +87 -0
  150. data/lib/arrow/template/timedelta.rb +81 -0
  151. data/lib/arrow/template/unless.rb +78 -0
  152. data/lib/arrow/template/urlencode.rb +51 -0
  153. data/lib/arrow/template/yield.rb +139 -0
  154. data/lib/arrow/templatefactory.rb +125 -0
  155. data/lib/arrow/testcase.rb +567 -0
  156. data/lib/arrow/transaction.rb +608 -0
  157. data/rake/191_compat.rb +26 -0
  158. data/rake/dependencies.rb +76 -0
  159. data/rake/documentation.rb +114 -0
  160. data/rake/helpers.rb +502 -0
  161. data/rake/hg.rb +282 -0
  162. data/rake/manual.rb +787 -0
  163. data/rake/packaging.rb +129 -0
  164. data/rake/publishing.rb +278 -0
  165. data/rake/style.rb +62 -0
  166. data/rake/svn.rb +668 -0
  167. data/rake/testing.rb +187 -0
  168. data/rake/verifytask.rb +64 -0
  169. data/spec/arrow/acceptparam_spec.rb +157 -0
  170. data/spec/arrow/applet_spec.rb +575 -0
  171. data/spec/arrow/appletmixins_spec.rb +409 -0
  172. data/spec/arrow/appletregistry_spec.rb +294 -0
  173. data/spec/arrow/broker_spec.rb +153 -0
  174. data/spec/arrow/config_spec.rb +224 -0
  175. data/spec/arrow/cookieset_spec.rb +164 -0
  176. data/spec/arrow/dispatcher_spec.rb +137 -0
  177. data/spec/arrow/dispatcherloader_spec.rb +65 -0
  178. data/spec/arrow/formvalidator_spec.rb +781 -0
  179. data/spec/arrow/logger_spec.rb +346 -0
  180. data/spec/arrow/mixins_spec.rb +120 -0
  181. data/spec/arrow/service_spec.rb +645 -0
  182. data/spec/arrow/session_spec.rb +121 -0
  183. data/spec/arrow/template/iterator_spec.rb +222 -0
  184. data/spec/arrow/templatefactory_spec.rb +185 -0
  185. data/spec/arrow/transaction_spec.rb +319 -0
  186. data/spec/arrow_spec.rb +37 -0
  187. data/spec/lib/appletmatchers.rb +281 -0
  188. data/spec/lib/constants.rb +77 -0
  189. data/spec/lib/helpers.rb +41 -0
  190. data/spec/lib/matchers.rb +44 -0
  191. data/tests/cookie.tests.rb +310 -0
  192. data/tests/path.tests.rb +157 -0
  193. data/tests/session.tests.rb +111 -0
  194. data/tests/session_id.tests.rb +82 -0
  195. data/tests/session_lock.tests.rb +191 -0
  196. data/tests/session_store.tests.rb +53 -0
  197. data/tests/template.tests.rb +1360 -0
  198. metadata +339 -0
@@ -0,0 +1,38 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
3
+
4
+ <!--
5
+
6
+ LiveJournal: Recently-posted image feed
7
+
8
+ -->
9
+
10
+ <head>
11
+ <title>LiveJournal: Recently-posted image feed</title>
12
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
13
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
14
+ <link rel="stylesheet" type="text/css" href="/css/arrow.css" />
15
+ </head>
16
+ <body>
17
+
18
+ <h1>LiveJournal: Recently-posted image feed</h1>
19
+
20
+ <div id="random-images">
21
+ <?for image in images ?>
22
+ <a href="[?call image.href ?]"><img
23
+ src="[?call image.src ?]" alt="[?call image.href ?]" /></a><br />
24
+ <small><?call image.href ?></small><br/>
25
+ <?end for ?>
26
+ </div>
27
+
28
+ <?include navbar.incl?>
29
+
30
+ </body>
31
+ </html>
32
+
33
+
34
+ <!--
35
+ Local Variables:
36
+ mode: nxml
37
+ -->
38
+
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+ <head>
6
+ <title><?call txn.uri ?></title>
7
+ </head>
8
+ <body>
9
+
10
+ <?attr body ?>
11
+
12
+ </body>
13
+ </html>
@@ -0,0 +1,38 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
4
+
5
+ <!--
6
+
7
+ Shared Notes
8
+
9
+ -->
10
+
11
+ <head>
12
+ <title>Shared Notes</title>
13
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
14
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
15
+ <link rel="stylesheet" type="text/css" href="/css/arrow.css" />
16
+ </head>
17
+ <body>
18
+
19
+ <?if error ?>
20
+ <div id="error">
21
+ <h1>Error</h1>
22
+ <?attr body ?>
23
+ </div>
24
+ <?else ?>
25
+ <?attr body ?>
26
+ <?end?>
27
+
28
+ <?include navbar.incl?>
29
+
30
+ </body>
31
+ </html>
32
+
33
+
34
+ <!--
35
+ Local Variables:
36
+ mode: nxml
37
+ -->
38
+
@@ -0,0 +1,120 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
3
+
4
+ <!--
5
+
6
+ Arrow Demo App: Applet List Page
7
+
8
+ -->
9
+
10
+ <head>
11
+ <title>Arrow Demo: Applet Status Page</title>
12
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
13
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
14
+ <link rel="stylesheet" type="text/css" href="/css/arrow.css" />
15
+
16
+ <script type="text/javascript">
17
+ /* <![CDATA[ */
18
+ function statApplet( uri ) {
19
+ window.location = '[?call transaction.app_root ?]/status/applet/' + uri;
20
+ return true;
21
+ }
22
+ /* ]]> */
23
+ </script>
24
+ </head>
25
+ <body>
26
+
27
+ <h1>Arrow Demo Application: Applet List</h1>
28
+
29
+ <p>This is a collection of demonstration applications for the Arrow Web
30
+ Application Framework. They're mostly just little applets from the tutorial
31
+ and some other introspection stuff that can be used as the basis for your
32
+ own applets.</p>
33
+
34
+ <h2>Applets</h2>
35
+ <table id="applets">
36
+ <caption><?call registry.length ?> Loaded Applets</caption>
37
+ <thead>
38
+ <tr>
39
+ <th>URI</th>
40
+ <th>Name</th>
41
+ <th>Version</th>
42
+ <th>Class</th>
43
+ <th>&nbsp;</th>
44
+ </tr>
45
+ </thead>
46
+ <tbody>
47
+ <?for uri,applet in registry.sort_by {|uri,a| uri} ?>
48
+ <tr class="[?if iterator.even? ?]even-row[?else?]odd-row[?end if?]">
49
+ <td class="applet-uri">
50
+ <a title="[?call applet.signature.description ?]"
51
+ href="[?call transaction.app_root ?]/[?attr uri ?]"><?attr uri ?></a>
52
+ </td>
53
+ <td class="applet-name"><?call applet.signature.name ?></td>
54
+ <td class="applet-version"><?call applet.signature.version ?></td>
55
+ <td class="applet-source"><?escape applet.class.normalized_name ?></td>
56
+ <td class="applet-run">
57
+ <button class="image-button"
58
+ onclick="statApplet('[?attr uri ?]')">
59
+ <img src="/images/icons/stockholm/light/info.gif" height="16" width="16"
60
+ alt="Inspect" />
61
+ </button>
62
+ </td>
63
+ </tr>
64
+ <?end for?>
65
+ </tbody>
66
+ </table>
67
+
68
+ <h2>Server Info</h2>
69
+ <table id="server">
70
+ <tbody>
71
+ <tr class="odd-row">
72
+ <th><?if transaction.request.server.virtual? ?>Virtualhost<?else?>Host<?end?></th>
73
+ <td><?call transaction.request.server.hostname ?></td>
74
+ </tr>
75
+
76
+ <tr class="even-row">
77
+ <th class="row-title">PID</th>
78
+ <td><?attr pid ?></td>
79
+ </tr>
80
+
81
+ <tr class="odd-row">
82
+ <th class="row-title">Parent PID</th>
83
+ <td><?attr ppid ?></td>
84
+ </tr>
85
+
86
+ <tr class="even-row">
87
+ <th class="row-title">Log Level</th>
88
+ <td><?call transaction.request.server.loglevel ?></td>
89
+ </tr>
90
+
91
+ <tr class="odd-row">
92
+ <th class="row-title">UID</th>
93
+ <td><?call transaction.request.server.uid ?></td>
94
+ </tr>
95
+ </tbody>
96
+ </table>
97
+
98
+ <?if transaction.server.hostname.match(/dev\.rubycrafters/i) ?>
99
+ <div id="source-links">
100
+ <p>The individual applet status pages now link to both the template and
101
+ the applet viewers. Clicking the 'Inspect' button for the applet in
102
+ question will take you there.</p>
103
+
104
+ <p>You can also find more information about Arrow, including downloadable
105
+ snapshots at the <a
106
+ href="http://www.RubyCrafters.com/projects/Arrow/">Arrow project
107
+ page</a>.</p>
108
+ </div>
109
+ <?end if?>
110
+
111
+ <?include navbar.incl?>
112
+
113
+ </body>
114
+ </html>
115
+
116
+
117
+ <!--
118
+ Local Variables:
119
+ mode: xml
120
+ -->
@@ -0,0 +1,43 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
3
+
4
+ <!--
5
+
6
+ Template Viewer applet
7
+
8
+ -->
9
+
10
+ <head>
11
+ <title>Template Viewer applet</title>
12
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
13
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
14
+ <link rel="stylesheet" type="text/css" href="/css/arrow.css" />
15
+ </head>
16
+ <body>
17
+
18
+ <h1>Template Viewer applet</h1>
19
+
20
+ <p>This is an introspection applet designed to display Arrow
21
+ templates. It's used mostly from the <a href="[?call
22
+ txn.app_root?]/status">status</a> applet, but you can also plug in a
23
+ template name to view without it being loaded by an applet:</p>
24
+
25
+ <form action="[?call txn.action?]/display" method="get">
26
+ <fieldset>
27
+ <label for="template-name-field">Template Name:</label>
28
+ <input id="template-name-field" type="text" name="template" value=""/>
29
+ </fieldset>
30
+ <fieldset><input type="submit" name="View" value="View"/></fieldset>
31
+ </form>
32
+
33
+ <?include navbar.incl?>
34
+
35
+ </body>
36
+ </html>
37
+
38
+
39
+ <!--
40
+ Local Variables:
41
+ mode: xml
42
+ -->
43
+
@@ -0,0 +1,57 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
3
+
4
+ <!--
5
+
6
+ Arrow Tester Applet: Test Harness template
7
+
8
+ -->
9
+
10
+ <head>
11
+ <title>Arrow Applet Tester: Test Harness for <?call app.name?></title>
12
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
13
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
14
+ <link rel="stylesheet" type="text/css" href="/css/arrow.css" />
15
+ </head>
16
+ <body>
17
+
18
+ <h1>Test Harness for <?call app.name?></h1>
19
+
20
+ <form action="[?call txn.action?]">
21
+
22
+ <table id="test-harness">
23
+
24
+ <thead>
25
+ <tr>
26
+ <th>Test Name</th>
27
+ <th>Result</th>
28
+ <th><button id="run-all">Run All</button></th>
29
+ </tr>
30
+ </thead>
31
+
32
+ <tbody>
33
+ <?for test in tests.sort_by {|t| [t.name]} ?>
34
+ <tr>
35
+ <td><?call test.name ?></td>
36
+ <?if results[test.name] ?>
37
+ <td></td>
38
+ <?end if?>
39
+ </tr>
40
+ <?end for?>
41
+ </tbody>
42
+
43
+ </table>
44
+
45
+ </form>
46
+
47
+ <?include navbar.incl?>
48
+
49
+ </body>
50
+ </html>
51
+
52
+
53
+ <!--
54
+ Local Variables:
55
+ mode: nxml
56
+ -->
57
+
@@ -0,0 +1,48 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
3
+
4
+ <!--
5
+
6
+ Arrow Unit Tester: List Viewer
7
+ $Id$
8
+
9
+ -->
10
+
11
+ <head>
12
+ <title>Arrow Unit Tester: List Viewer</title>
13
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
14
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
15
+ <link rel="stylesheet" type="text/css" href="/css/arrow.css" />
16
+ </head>
17
+ <body>
18
+
19
+ <h1>Arrow Unit Tester: List Viewer</h1>
20
+
21
+ <p>I know about the following applications:</p>
22
+
23
+ <table id="test-matrix">
24
+ <thead>
25
+ <tr>
26
+ <th>Applet</th>
27
+ </tr>
28
+ </thead>
29
+ <tbody>
30
+ <?for app in apps ?>
31
+ <tr class="test-matrix-app">
32
+ <td><?call app.name ?></td>
33
+ </tr>
34
+ <?end for?>
35
+ </tbody>
36
+ </table>
37
+
38
+ <?include navbar.incl?>
39
+
40
+ </body>
41
+ </html>
42
+
43
+
44
+ <!--
45
+ Local Variables:
46
+ mode: nxml
47
+ -->
48
+
@@ -0,0 +1,42 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
3
+
4
+ <!--
5
+
6
+ Arrow Applet Tester: Problem in Setup
7
+
8
+ -->
9
+
10
+ <head>
11
+ <title>Arrow Applet Tester: Problem in Setup</title>
12
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
13
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
14
+ <link rel="stylesheet" type="text/css" href="/css/arrow.css" />
15
+ </head>
16
+ <body>
17
+
18
+ <h1>Arrow Applet Tester: Problem in Setup</h1>
19
+
20
+ <p>There was an error in setup for the tester itself:</p>
21
+
22
+ <?if err.is_a?( Exception ) ?>
23
+ <h2><?escape err.message ?></h2>
24
+ <pre><?escape err.backtrace.join("\n") ?></pre>
25
+
26
+ <?else?>
27
+ <h2><?call err[0] ?></h2>
28
+ <p><?escape err[1] ?></p>
29
+
30
+ <?end if ?>
31
+
32
+ <?include navbar.incl?>
33
+
34
+ </body>
35
+ </html>
36
+
37
+
38
+ <!--
39
+ Local Variables:
40
+ mode: xml
41
+ -->
42
+
@@ -0,0 +1,37 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
3
+
4
+ <!--
5
+
6
+ Arrow Tutorial
7
+
8
+ -->
9
+
10
+ <head>
11
+ <title>Arrow Tutorial</title>
12
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
13
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
14
+ <link rel="stylesheet" type="text/css" href="/css/arrow.css" />
15
+ </head>
16
+ <body>
17
+
18
+ <h1>Arrow Tutorial</h1>
19
+
20
+ <p>This will eventually be an interactive Arrow tutorial. It isn't much of
21
+ anything at the moment, I'm afraid.</p>
22
+
23
+ <h2>Tutorial Applets</h2>
24
+
25
+ <ul>
26
+ <li>The 'hello' applet: <a href="[?call txn.app_root ?]/hello">/hello</a></li>
27
+ </ul>
28
+
29
+ </body>
30
+ </html>
31
+
32
+
33
+ <!--
34
+ Local Variables:
35
+ mode: nxml
36
+ -->
37
+