smparkes-envjs 0.0.9 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (186) hide show
  1. data/bin/envjsrb +157 -73
  2. data/bin/jquery-1.3.2-test.js +11 -4
  3. data/lib/envjs/env.js +935 -11028
  4. data/lib/envjs/net/cgi.rb +94 -0
  5. data/lib/envjs/net/file.rb +4 -4
  6. data/lib/envjs/runtime.rb +80 -24
  7. data/test/call-load-test.js +0 -2
  8. data/test/firebug/errorIcon.png +0 -0
  9. data/test/firebug/firebug.css +209 -0
  10. data/test/firebug/firebug.html +23 -0
  11. data/test/firebug/firebug.js +672 -0
  12. data/test/firebug/firebugx.js +10 -0
  13. data/test/firebug/infoIcon.png +0 -0
  14. data/test/firebug/warningIcon.png +0 -0
  15. data/test/fixtures/html/events.html +171 -0
  16. data/test/fixtures/html/iframe1.html +46 -0
  17. data/test/fixtures/html/iframe1a.html +46 -0
  18. data/test/fixtures/html/iframe2.html +45 -0
  19. data/test/fixtures/html/iframe3.html +28 -0
  20. data/test/fixtures/html/iframeN.html +57 -0
  21. data/test/fixtures/html/malformed.html +181 -0
  22. data/test/fixtures/html/scope.html +81 -0
  23. data/test/fixtures/html/trivial.html +19 -0
  24. data/test/fixtures/html/with_js.html +26 -0
  25. data/test/fixtures/images/icon-blue.png +0 -0
  26. data/test/fixtures/js/external_script.js +1 -0
  27. data/test/fixtures/js/script.js +1 -0
  28. data/test/fixtures/js/script_error.js +2 -0
  29. data/test/html/malformed.html +1 -0
  30. data/test/index.html +21 -19
  31. data/test/{primaryTests.js → primary-tests.js} +1 -3
  32. data/test/{prototype.js → prototype-test.js} +0 -2
  33. data/test/qunit/qunit/qunit.css +0 -0
  34. data/test/qunit/qunit/qunit.js +2 -2
  35. data/test/{qunit/qunit/qunit.js.smp → specs/dist/env.spec.js} +539 -7
  36. data/test/specs/envjs.spec.css +46 -0
  37. data/test/specs/parser/html.js +31 -0
  38. data/test/specs/parser/spec.html +40 -0
  39. data/test/specs/parser/xml.js +31 -0
  40. data/test/specs/qunit.bdd.js +210 -0
  41. data/test/{qunit.smp/qunit → specs}/qunit.css +0 -0
  42. data/test/{qunit.smp/qunit → specs}/qunit.js +2 -2
  43. data/test/specs/template/spec-0.js +31 -0
  44. data/test/specs/template/spec-1.js +31 -0
  45. data/test/specs/template/spec.html +40 -0
  46. data/test/specs/window/css.js +23 -0
  47. data/test/specs/window/dialog.js +25 -0
  48. data/test/specs/window/document.js +23 -0
  49. data/test/specs/window/event.js +25 -0
  50. data/test/specs/window/history.js +34 -0
  51. data/test/specs/window/location.js +34 -0
  52. data/test/specs/window/navigator.js +71 -0
  53. data/test/specs/window/screen.js +42 -0
  54. data/test/specs/window/spec.html +48 -0
  55. data/test/specs/window/timer.js +26 -0
  56. data/test/specs/window/window.js +53 -0
  57. data/test/specs/xhr/spec.html +47 -0
  58. data/test/specs/xhr/xhr.js +31 -0
  59. data/test/test.js +10 -0
  60. data/test/unit/elementmembers.js +31 -0
  61. data/test/unit/nu.validator.js +34 -0
  62. data/test/unit/onload.js +1 -3
  63. data/test/unit/parser.js +106 -98
  64. data/test/unit/prototypecompat.js +2 -2
  65. data/test/vendor/jQuery/1.3.2/ChangeLog.txt +98 -0
  66. data/test/vendor/jQuery/1.3.2/GPL-LICENSE.txt +278 -0
  67. data/test/vendor/jQuery/1.3.2/MIT-LICENSE.txt +20 -0
  68. data/test/vendor/jQuery/1.3.2/Makefile +154 -0
  69. data/test/vendor/jQuery/1.3.2/README +67 -0
  70. data/test/vendor/jQuery/1.3.2/build/ant-contrib-0.6.jar +0 -0
  71. data/test/vendor/jQuery/1.3.2/build/build/min.js +11 -0
  72. data/test/vendor/jQuery/1.3.2/build/build/pack.js +19 -0
  73. data/test/vendor/jQuery/1.3.2/build/js/Packer.js +209 -0
  74. data/test/vendor/jQuery/1.3.2/build/js/ParseMaster.js +106 -0
  75. data/test/vendor/jQuery/1.3.2/build/js/Words.js +62 -0
  76. data/test/vendor/jQuery/1.3.2/build/js/base2.js +978 -0
  77. data/test/vendor/jQuery/1.3.2/build/js/jsmin.js +316 -0
  78. data/test/vendor/jQuery/1.3.2/build/js/json.js +117 -0
  79. data/test/vendor/jQuery/1.3.2/build/js/pack.js +316 -0
  80. data/test/vendor/jQuery/1.3.2/build/js/parse.js +105 -0
  81. data/test/vendor/jQuery/1.3.2/build/js/writeFile.js +19 -0
  82. data/test/vendor/jQuery/1.3.2/build/js/xml.js +25 -0
  83. data/test/vendor/jQuery/1.3.2/build/js.jar +0 -0
  84. data/test/vendor/jQuery/1.3.2/build/runtest/env.js +1 -0
  85. data/test/vendor/jQuery/1.3.2/build/runtest/test.js +106 -0
  86. data/test/vendor/jQuery/1.3.2/build/runtest/testrunner.js +197 -0
  87. data/test/vendor/jQuery/1.3.2/build/speed/benchmarker.css +65 -0
  88. data/test/vendor/jQuery/1.3.2/build/speed/benchmarker.js +181 -0
  89. data/test/vendor/jQuery/1.3.2/build/speed/index.html +72 -0
  90. data/test/vendor/jQuery/1.3.2/build/speed/jquery-basis.js +3549 -0
  91. data/test/vendor/jQuery/1.3.2/build/style.xsl +99 -0
  92. data/test/vendor/jQuery/1.3.2/build/yuicompressor-2.4.2.jar +0 -0
  93. data/test/vendor/jQuery/1.3.2/build.xml +123 -0
  94. data/test/vendor/jQuery/1.3.2/dist/jquery.js +4376 -0
  95. data/test/vendor/jQuery/1.3.2/reminder.txt +3 -0
  96. data/test/vendor/jQuery/1.3.2/src/ajax.js +541 -0
  97. data/test/vendor/jQuery/1.3.2/src/core.js +1255 -0
  98. data/test/vendor/jQuery/1.3.2/src/data.js +145 -0
  99. data/test/vendor/jQuery/1.3.2/src/dimensions.js +49 -0
  100. data/test/vendor/jQuery/1.3.2/src/event.js +684 -0
  101. data/test/vendor/jQuery/1.3.2/src/fx.js +407 -0
  102. data/test/vendor/jQuery/1.3.2/src/intro.js +13 -0
  103. data/test/vendor/jQuery/1.3.2/src/offset.js +155 -0
  104. data/test/vendor/jQuery/1.3.2/src/outro.js +1 -0
  105. data/test/vendor/jQuery/1.3.2/src/selector.js +1015 -0
  106. data/test/vendor/jQuery/1.3.2/src/support.js +112 -0
  107. data/test/vendor/jQuery/1.3.2/test/data/cow.jpg +0 -0
  108. data/test/vendor/jQuery/1.3.2/test/data/dashboard.xml +11 -0
  109. data/test/vendor/jQuery/1.3.2/test/data/echoQuery.php +1 -0
  110. data/test/vendor/jQuery/1.3.2/test/data/iframe.html +8 -0
  111. data/test/vendor/jQuery/1.3.2/test/data/json.php +9 -0
  112. data/test/vendor/jQuery/1.3.2/test/data/json_assigned_obj.js +1 -0
  113. data/test/vendor/jQuery/1.3.2/test/data/json_obj.js +1 -0
  114. data/test/vendor/jQuery/1.3.2/test/data/jsonp.php +10 -0
  115. data/test/vendor/jQuery/1.3.2/test/data/name.html +1 -0
  116. data/test/vendor/jQuery/1.3.2/test/data/name.php +29 -0
  117. data/test/vendor/jQuery/1.3.2/test/data/offset/absolute.html +39 -0
  118. data/test/vendor/jQuery/1.3.2/test/data/offset/body.html +24 -0
  119. data/test/vendor/jQuery/1.3.2/test/data/offset/fixed.html +33 -0
  120. data/test/vendor/jQuery/1.3.2/test/data/offset/relative.html +31 -0
  121. data/test/vendor/jQuery/1.3.2/test/data/offset/scroll.html +39 -0
  122. data/test/vendor/jQuery/1.3.2/test/data/offset/static.html +31 -0
  123. data/test/vendor/jQuery/1.3.2/test/data/offset/table.html +43 -0
  124. data/test/vendor/jQuery/1.3.2/test/data/params_html.php +12 -0
  125. data/test/vendor/jQuery/1.3.2/test/data/test.html +7 -0
  126. data/test/vendor/jQuery/1.3.2/test/data/test.js +3 -0
  127. data/test/vendor/jQuery/1.3.2/test/data/test.php +7 -0
  128. data/test/vendor/jQuery/1.3.2/test/data/test2.html +5 -0
  129. data/test/vendor/jQuery/1.3.2/test/data/test3.html +3 -0
  130. data/test/vendor/jQuery/1.3.2/test/data/testrunner.js +1 -0
  131. data/test/vendor/jQuery/1.3.2/test/data/text.php +12 -0
  132. data/test/vendor/jQuery/1.3.2/test/data/with_fries.xml +25 -0
  133. data/test/vendor/jQuery/1.3.2/test/index.html +229 -0
  134. data/test/vendor/jQuery/1.3.2/test/jqenv-1259090275493.html +247 -0
  135. data/test/vendor/jQuery/1.3.2/test/jqenv-1259091671501.html +247 -0
  136. data/test/vendor/jQuery/1.3.2/test/jqenv-1259175319655.html +247 -0
  137. data/test/vendor/jQuery/1.3.2/test/offset.html +28 -0
  138. data/test/vendor/jQuery/1.3.2/test/otherlibs/jquery/1.2.1/jquery.js +11 -0
  139. data/test/vendor/jQuery/1.3.2/test/otherlibs/jquery/1.2.3/jquery.js +11 -0
  140. data/test/vendor/jQuery/1.3.2/test/otherlibs/mootools/1.11/mootools.js +1577 -0
  141. data/test/vendor/jQuery/1.3.2/test/otherlibs/prototype/1.6.0.2/prototype.js +4221 -0
  142. data/test/vendor/jQuery/1.3.2/test/otherlibs/scriptaculous/1.7.0/builder.js +131 -0
  143. data/test/vendor/jQuery/1.3.2/test/otherlibs/scriptaculous/1.7.0/controls.js +835 -0
  144. data/test/vendor/jQuery/1.3.2/test/otherlibs/scriptaculous/1.7.0/dragdrop.js +944 -0
  145. data/test/vendor/jQuery/1.3.2/test/otherlibs/scriptaculous/1.7.0/effects.js +1090 -0
  146. data/test/vendor/jQuery/1.3.2/test/otherlibs/scriptaculous/1.7.0/scriptaculous.js +51 -0
  147. data/test/vendor/jQuery/1.3.2/test/otherlibs/scriptaculous/1.7.0/slider.js +278 -0
  148. data/test/vendor/jQuery/1.3.2/test/otherlibs/scriptaculous/1.7.0/unittest.js +564 -0
  149. data/test/vendor/jQuery/1.3.2/test/otherlibs/scriptaculous/1.8.1/builder.js +136 -0
  150. data/test/vendor/jQuery/1.3.2/test/otherlibs/scriptaculous/1.8.1/controls.js +965 -0
  151. data/test/vendor/jQuery/1.3.2/test/otherlibs/scriptaculous/1.8.1/dragdrop.js +974 -0
  152. data/test/vendor/jQuery/1.3.2/test/otherlibs/scriptaculous/1.8.1/effects.js +1122 -0
  153. data/test/vendor/jQuery/1.3.2/test/otherlibs/scriptaculous/1.8.1/scriptaculous.js +58 -0
  154. data/test/vendor/jQuery/1.3.2/test/otherlibs/scriptaculous/1.8.1/slider.js +275 -0
  155. data/test/vendor/jQuery/1.3.2/test/otherlibs/scriptaculous/1.8.1/sound.js +55 -0
  156. data/test/vendor/jQuery/1.3.2/test/otherlibs/scriptaculous/1.8.1/unittest.js +568 -0
  157. data/test/vendor/jQuery/1.3.2/test/polluted.php +64 -0
  158. data/test/vendor/jQuery/1.3.2/test/qunit/testrunner.js +780 -0
  159. data/test/vendor/jQuery/1.3.2/test/qunit/testsuite.css +120 -0
  160. data/test/vendor/jQuery/1.3.2/test/test.js +41 -0
  161. data/test/vendor/jQuery/1.3.2/test/unit/ajax.js +856 -0
  162. data/test/vendor/jQuery/1.3.2/test/unit/core.js +1872 -0
  163. data/test/vendor/jQuery/1.3.2/test/unit/data.js +160 -0
  164. data/test/vendor/jQuery/1.3.2/test/unit/dimensions.js +86 -0
  165. data/test/vendor/jQuery/1.3.2/test/unit/event.js +670 -0
  166. data/test/vendor/jQuery/1.3.2/test/unit/fx.js +451 -0
  167. data/test/vendor/jQuery/1.3.2/test/unit/offset.js +173 -0
  168. data/test/vendor/jQuery/1.3.2/test/unit/selector.js +395 -0
  169. data/test/vendor/jQuery/1.3.2/test/xhtml.php +5 -0
  170. data/test/vendor/jQuery/1.3.2/version.txt +1 -0
  171. metadata +158 -22
  172. data/lib/envjs/runtime.rb.smp +0 -133
  173. data/test/envjs-call-load-test.js +0 -5
  174. data/test/envjs-prototype.js +0 -5
  175. data/test/qunit/package.json +0 -21
  176. data/test/qunit/test/index.html +0 -17
  177. data/test/qunit/test/same.js +0 -1368
  178. data/test/qunit/test/test.js +0 -136
  179. data/test/qunit.smp/package.json +0 -21
  180. data/test/qunit.smp/test/index.html +0 -17
  181. data/test/qunit.smp/test/same.js +0 -1368
  182. data/test/qunit.smp/test/test.js +0 -136
  183. data/test/rhino-call-load-test.js +0 -5
  184. data/test/rhino-prototype.js +0 -5
  185. data/test/test-with-envs-jar.js +0 -8
  186. data/test/test-with-rhino-jar.js +0 -9
data/bin/envjsrb CHANGED
@@ -14,6 +14,111 @@ RUNTIME.extend Envjs::Runtime
14
14
 
15
15
  RUNTIME.load Envjs::ENVJS
16
16
 
17
+ EXIT_VERBS = [nil] + %w(exit quit)
18
+
19
+ prepped = false
20
+ ruby_readline = []
21
+ js_readline = []
22
+ local_binding = binding
23
+ mode = nil
24
+
25
+ (class<<self; self; end).send :define_method, :prep do
26
+
27
+ return if prepped
28
+ prepped = true
29
+
30
+ require "readline"
31
+ require "johnson/cli"
32
+
33
+ RUNTIME.evaluate(Johnson::CLI::JS)
34
+
35
+ def copy_history
36
+ new_history = []
37
+ until Readline::HISTORY.empty?
38
+ new_history.push(Readline::HISTORY.pop)
39
+ end
40
+ new_history
41
+ end
42
+
43
+ def paste_history(old_history)
44
+ until old_history.empty?
45
+ Readline::HISTORY << old_history.pop
46
+ end
47
+ end
48
+
49
+ def handle_exit(input)
50
+ return EXIT_VERBS.include?(input)
51
+ end
52
+
53
+ def rescued(&block)
54
+ yield
55
+ rescue Exception => e
56
+ exit if SystemExit === e
57
+
58
+ puts e.message
59
+ puts e.backtrace.reject { |l| l =~ /bin\/johnson/ }
60
+ end
61
+
62
+ def eval_in_js(expression,stream)
63
+ rescued do
64
+ v = RUNTIME.evaluate(expression, "(console)")
65
+ stream.result { "=> " + v.inspect }
66
+ end
67
+ end
68
+
69
+ def eval_in_ruby(expression, bind_to, stream)
70
+ rescued do
71
+ v = eval(expression, bind_to)
72
+ stream.result { "=> " + v.inspect }
73
+ end
74
+ end
75
+
76
+ (class<<self; self; end).send :define_method, :do_loop do |stream|
77
+ # def foo
78
+
79
+ catch "Breakout" do
80
+ loop do
81
+ mode = :js
82
+ input = stream.next("js> ")
83
+ input and input.chomp!
84
+ begin stream.exit(input); throw "Breakout" end if handle_exit(input)
85
+
86
+ if input =~ /^rb\s+(.+)$/
87
+ eval_in_ruby($1, local_binding, stream)
88
+ next
89
+ end
90
+
91
+ if input == "rb"
92
+ js_readline = copy_history
93
+ paste_history(ruby_readline)
94
+
95
+ loop do
96
+ mode = :rb
97
+ # input = Readline.readline("rb> ", true)
98
+ input = stream.next("rb> ")
99
+ begin stream.exit(input); throw "Breakout" end if handle_exit(input)
100
+
101
+ break if input == "js"
102
+
103
+ if input =~ /^js\s+(.+)$/
104
+ eval_in_js($1)
105
+ next
106
+ end
107
+
108
+ eval_in_ruby(input, local_binding, stream)
109
+ end
110
+
111
+ ruby_readline = copy_history
112
+ paste_history(js_readline)
113
+ next
114
+ end
115
+
116
+ eval_in_js(input, stream)
117
+ end
118
+ end
119
+ end
120
+ end
121
+
17
122
  if ARGV.length > 0
18
123
 
19
124
  begin
@@ -35,6 +140,7 @@ if ARGV.length > 0
35
140
  about_blank = false
36
141
  else
37
142
  RUNTIME.become_first_script_window
143
+ RUNTIME.top_level_load file
38
144
  RUNTIME.load file
39
145
  end
40
146
  end
@@ -49,52 +155,22 @@ if ARGV.length > 0
49
155
 
50
156
  else
51
157
 
52
- require "readline"
53
- require "johnson/cli"
54
-
55
- RUNTIME.evaluate(Johnson::CLI::JS)
56
-
57
- EXIT_VERBS = [nil] + %w(exit quit)
158
+ prep
58
159
 
59
- local_binding = binding
60
- ruby_readline = []
61
-
62
- def copy_history
63
- new_history = []
64
- until Readline::HISTORY.empty?
65
- new_history.push(Readline::HISTORY.pop)
66
- end
67
- new_history
68
- end
69
-
70
- def paste_history(old_history)
71
- until old_history.empty?
72
- Readline::HISTORY << old_history.pop
73
- end
74
- end
75
-
76
- def handle_exit(input)
77
- if EXIT_VERBS.include?(input)
78
- puts if input.nil?
79
- exit
80
- end
81
- end
82
-
83
- def rescued(&block)
84
- yield
85
- rescue Exception => e
86
- exit if SystemExit === e
87
-
88
- puts e.message
89
- puts e.backtrace.reject { |l| l =~ /bin\/johnson/ }
90
- end
91
-
92
- def eval_in_js(expression)
93
- rescued { puts "=> " + RUNTIME.evaluate(expression, "(console)").inspect }
94
- end
160
+ if !(files = Dir[".envjsrbrc",File.join(ENV["HOME"],".envjsrbrc")]).empty?
161
+ file = Class.new do
162
+ def initialize f
163
+ @file = open f
164
+ end
165
+ def next prompt
166
+ @file.gets
167
+ end
168
+ def result &block
169
+ end
170
+ def exit v; end
171
+ end.new files[0]
95
172
 
96
- def eval_in_ruby(expression, bind_to)
97
- rescued { puts "=> " + eval(expression, bind_to).inspect }
173
+ do_loop file
98
174
  end
99
175
 
100
176
  options = Johnson::CLI::Options.parse!(ARGV)
@@ -118,38 +194,46 @@ else
118
194
  exit
119
195
  end
120
196
 
121
- loop do
122
- input = Readline.readline("js> ", true)
123
- handle_exit(input)
124
-
125
- if input =~ /^rb\s+(.+)$/
126
- eval_in_ruby($1, local_binding)
127
- next
197
+ reader = Class.new do
198
+ def next prompt
199
+ Readline.readline(prompt, true)
128
200
  end
129
-
130
- if input == "rb"
131
- js_readline = copy_history
132
- paste_history(ruby_readline)
133
-
134
- loop do
135
- input = Readline.readline("rb> ", true)
136
- handle_exit(input)
201
+ def result
202
+ puts yield
203
+ end
204
+ def exit v; puts if v.nil?; end
205
+ end.new
137
206
 
138
- break if input == "js"
207
+ begin
208
+ open(File.join(ENV["HOME"],".envjsrb.js")) do |f|
209
+ js_readline = f.read.split("\n")
210
+ end
211
+ rescue; end
139
212
 
140
- if input =~ /^js\s+(.+)$/
141
- eval_in_js($1)
142
- next
143
- end
213
+ begin
214
+ open(File.join(ENV["HOME"],".envjsrb.ruby")) do |f|
215
+ ruby_readline = f.read.split("\n")
216
+ end
217
+ rescue; end
144
218
 
145
- eval_in_ruby(input, local_binding)
146
- end
147
-
148
- ruby_readline = copy_history
149
- paste_history(js_readline)
150
- next
151
- end
152
-
153
- eval_in_js(input)
219
+ case mode
220
+ when :js; paste_history js_readline
221
+ when :rb; paste_history ruby_readline
154
222
  end
223
+
224
+ do_loop reader
225
+
226
+ case mode
227
+ when :js; js_readline = copy_history
228
+ when :rb; ruby_readline = copy_history
229
+ end
230
+
231
+ open(File.join(ENV["HOME"],".envjsrb.js"),"w") do |f|
232
+ f.write js_readline[0..100].join("\n")+"\n"
233
+ end
234
+
235
+ open(File.join(ENV["HOME"],".envjsrb.ruby"),"w") do |f|
236
+ f.write ruby_readline[0..100].join("\n")+"\n"
237
+ end
238
+
155
239
  end
@@ -45,12 +45,12 @@ load("build/runtest/env.js");
45
45
  isStopped = true;
46
46
  unsafeStop.call(this);
47
47
  timeout = ( timeout && timeout > 0 ) ? timeout : 10000;
48
- /*if (timeout)
48
+ if (timeout)
49
49
  config_timeout = setTimeout(function() {
50
50
  QUnit.ok( false, "Test timed out" );
51
51
  start();
52
- }, timeout);*/
53
- $env.wait()
52
+ }, timeout);
53
+ /* $env.wait() */
54
54
  }
55
55
  };
56
56
  start = function(){
@@ -96,4 +96,11 @@ load("build/runtest/env.js");
96
96
 
97
97
  })(Envjs);
98
98
 
99
- Envjs.wait();
99
+ Envjs.wait();
100
+
101
+ // Local Variables:
102
+ // espresso-indent-level:4
103
+ // c-basic-offset:4
104
+ // tab-width:4
105
+ // mode:auto-revert
106
+ // End: