xpcomcore-rubygem 0.6.2 → 0.6.3

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -7,7 +7,7 @@ begin
7
7
 
8
8
  Jeweler::Tasks.new do |gem|
9
9
  gem.name = "xpcomcore-rubygem"
10
- gem.executables = %w[xpcomcore]
10
+ gem.executables = %w[xpcomcore xpcomcore-gem]
11
11
  gem.summary = %Q{Gem to allow for using XPCOMCore via RubyGems}
12
12
  gem.description = %Q{Gem to allow for using XPCOMCore via RubyGems}
13
13
  gem.email = "gabriel.gironda@gmail.com"
@@ -31,6 +31,7 @@ begin
31
31
  gem.add_dependency "cmdparse"
32
32
  gem.add_dependency "plist"
33
33
  gem.add_dependency "iniparse"
34
+ gem.add_dependency "json"
34
35
  gem.add_dependency "uuidtools", ">=2.0.0"
35
36
  gem.add_dependency "jeweler", "=1.2.1"
36
37
  gem.add_development_dependency "colored"
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.2
1
+ 0.6.3
data/bin/xpcomcore-gem ADDED
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env ruby
2
+ require "rubygems"
3
+ require "json"
4
+ require 'pathname'
5
+ # TODO - add support for fetching a specific version.
6
+ # This isn't an 'xpcomcore' command because we don't
7
+ # want the baggage associated and want this to return
8
+ # as fast as possible.
9
+ # TODO - clean this sucker up.
10
+ app_name = ARGV[0]
11
+ exit 1 unless app_name
12
+
13
+ lib_path = "xpcomcore/lib"
14
+ gems = Gem.source_index.find_name(app_name)
15
+ if gems
16
+ spec = gems.last
17
+ expected_libs = Pathname(spec.full_gem_path) + lib_path
18
+ exit 1 unless expected_libs.exist? && expected_libs.directory?
19
+ print({'libDir' => expected_libs.expand_path.to_s}.to_json)
20
+ exit 0
21
+ else
22
+ exit 1
23
+ end
@@ -5,15 +5,14 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{xpcomcore-rubygem}
8
- s.version = "0.6.2"
8
+ s.version = "0.6.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["ggironda"]
12
- s.date = %q{2009-10-16}
13
- s.default_executable = %q{xpcomcore}
12
+ s.date = %q{2009-10-21}
14
13
  s.description = %q{Gem to allow for using XPCOMCore via RubyGems}
15
14
  s.email = %q{gabriel.gironda@gmail.com}
16
- s.executables = ["xpcomcore"]
15
+ s.executables = ["xpcomcore", "xpcomcore-gem"]
17
16
  s.extra_rdoc_files = [
18
17
  "LICENSE",
19
18
  "README.markdown"
@@ -27,6 +26,7 @@ Gem::Specification.new do |s|
27
26
  "Rakefile",
28
27
  "VERSION",
29
28
  "bin/xpcomcore",
29
+ "bin/xpcomcore-gem",
30
30
  "ext/stub_runners/darwin/StubApp.app/Contents/Info.plist",
31
31
  "ext/stub_runners/darwin/StubApp.app/Contents/MacOS/stub_runner",
32
32
  "ext/stub_runners/darwin/StubApp.app/Contents/PkgInfo",
@@ -73,12 +73,14 @@ Gem::Specification.new do |s|
73
73
  "xpcomcore/doc/symbols/selfconcepterror.html",
74
74
  "xpcomcore/doc/symbols/src/lib_file.js.html",
75
75
  "xpcomcore/doc/symbols/src/lib_kernel.js.html",
76
+ "xpcomcore/doc/symbols/src/lib_stdlib_rubygems.js.html",
76
77
  "xpcomcore/doc/symbols/src/lib_sys.js.html",
77
78
  "xpcomcore/doc/symbols/src/lib_xpc_builtins.js.html",
78
79
  "xpcomcore/doc/symbols/sys.html",
79
80
  "xpcomcore/doc/symbols/xpcbuiltins.html",
80
81
  "xpcomcore/lib/file.js",
81
82
  "xpcomcore/lib/kernel.js",
83
+ "xpcomcore/lib/stdlib/rubygems.js",
82
84
  "xpcomcore/lib/sys.js",
83
85
  "xpcomcore/lib/xpc_builtins.js",
84
86
  "xpcomcore/test/file_test.js",
@@ -88,7 +90,9 @@ Gem::Specification.new do |s|
88
90
  "xpcomcore/test/fixtures/mad_world.js",
89
91
  "xpcomcore/test/fixtures/syntax_error.js",
90
92
  "xpcomcore/test/kernel_test.js",
93
+ "xpcomcore/test/stdlib/rubygems_test.js",
91
94
  "xpcomcore/test/sys_test.js",
95
+ "xpcomcore/test/test_helper.js",
92
96
  "xpcomcore/test/xpc_builtins_test.js"
93
97
  ]
94
98
  s.homepage = %q{http://github.com/gabrielg/xpcomcore-rubygem}
@@ -121,6 +125,7 @@ Gem::Specification.new do |s|
121
125
  s.add_runtime_dependency(%q<cmdparse>, [">= 0"])
122
126
  s.add_runtime_dependency(%q<plist>, [">= 0"])
123
127
  s.add_runtime_dependency(%q<iniparse>, [">= 0"])
128
+ s.add_runtime_dependency(%q<json>, [">= 0"])
124
129
  s.add_runtime_dependency(%q<uuidtools>, [">= 2.0.0"])
125
130
  s.add_runtime_dependency(%q<jeweler>, ["= 1.2.1"])
126
131
  s.add_development_dependency(%q<colored>, [">= 0"])
@@ -129,6 +134,7 @@ Gem::Specification.new do |s|
129
134
  s.add_dependency(%q<cmdparse>, [">= 0"])
130
135
  s.add_dependency(%q<plist>, [">= 0"])
131
136
  s.add_dependency(%q<iniparse>, [">= 0"])
137
+ s.add_dependency(%q<json>, [">= 0"])
132
138
  s.add_dependency(%q<uuidtools>, [">= 2.0.0"])
133
139
  s.add_dependency(%q<jeweler>, ["= 1.2.1"])
134
140
  s.add_dependency(%q<colored>, [">= 0"])
@@ -138,6 +144,7 @@ Gem::Specification.new do |s|
138
144
  s.add_dependency(%q<cmdparse>, [">= 0"])
139
145
  s.add_dependency(%q<plist>, [">= 0"])
140
146
  s.add_dependency(%q<iniparse>, [">= 0"])
147
+ s.add_dependency(%q<json>, [">= 0"])
141
148
  s.add_dependency(%q<uuidtools>, [">= 2.0.0"])
142
149
  s.add_dependency(%q<jeweler>, ["= 1.2.1"])
143
150
  s.add_dependency(%q<colored>, [">= 0"])
data/xpcomcore/Rakefile CHANGED
@@ -7,9 +7,15 @@ require 'english'
7
7
 
8
8
  here = (Pathname(__FILE__).parent.expand_path)
9
9
 
10
- task :test do
10
+ task :set_bootstrapper_env do
11
11
  ENV['XPCOMCORE'] = (Pathname(__FILE__).parent.expand_path + "bootstrapper.js").to_s
12
- exec(ENV['XULTEST'] || "xultest", "--", "-testDir", (Pathname(__FILE__).parent + "test/").expand_path.to_s)
12
+ end
13
+
14
+ gem 'xultestrunner'
15
+ require 'xultestrunner/tasks/test_task'
16
+ XULTestRunner::TestTask.new(:test => :set_bootstrapper_env) do |tt|
17
+ tt.test_lib = "test"
18
+ tt.test_dir = "test"
13
19
  end
14
20
 
15
21
  task :default => :test
@@ -3,5 +3,5 @@ gecko:
3
3
  min_version: 1.9.0
4
4
  version:
5
5
  major: 0
6
+ patch: 3
6
7
  minor: 5
7
- patch: 2
@@ -1,5 +1,5 @@
1
1
  Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
2
- var XPCOMCoreVersion = '0.5.2'; // DO NOT REMOVE THIS COMMENT OR MOVE THIS LINE. THIS LINE IS AUTO-GENERATED FROM A RAKE TASK. @XPCOMCORE_VERSION@
2
+ var XPCOMCoreVersion = '0.5.3'; // DO NOT REMOVE THIS COMMENT OR MOVE THIS LINE. THIS LINE IS AUTO-GENERATED FROM A RAKE TASK. @XPCOMCORE_VERSION@
3
3
  const $Cc = Components.classes;
4
4
  const $Ci = Components.interfaces;
5
5
 
@@ -222,6 +222,19 @@ console.
222
222
 
223
223
 
224
224
 
225
+ </dl>
226
+ </div>
227
+ <hr />
228
+
229
+ <div>
230
+ <h2><a href="symbols/src/lib_file.js.html">file.js</a></h2>
231
+
232
+ This file defines the implementation of our File object.
233
+ <dl>
234
+
235
+
236
+
237
+
225
238
  </dl>
226
239
  </div>
227
240
  <hr />
@@ -253,9 +266,8 @@ This file defines the implementation of our XPCBuiltins namespace.
253
266
  <hr />
254
267
 
255
268
  <div>
256
- <h2><a href="symbols/src/lib_file.js.html">file.js</a></h2>
269
+ <h2><a href="symbols/src/lib_stdlib_rubygems.js.html">lib/stdlib/rubygems.js</a></h2>
257
270
 
258
- This file defines the implementation of our File object.
259
271
  <dl>
260
272
 
261
273
 
@@ -269,7 +281,7 @@ This file defines the implementation of our File object.
269
281
  </div>
270
282
  <div class="fineprint" style="clear:both">
271
283
 
272
- Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blankt">JsDoc Toolkit</a> 2.3.2 on Tue Oct 13 2009 19:57:08 GMT-0500 (CDT)
284
+ Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blankt">JsDoc Toolkit</a> 2.3.2 on Wed Oct 21 2009 09:55:02 GMT-0500 (CDT)
273
285
  </div>
274
286
  </body>
275
287
  </html>
@@ -269,7 +269,7 @@ build the rest of XPCOMCore on top of.
269
269
  </div>
270
270
  <div class="fineprint" style="clear:both">
271
271
 
272
- Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blankt">JsDoc Toolkit</a> 2.3.2 on Tue Oct 13 2009 19:57:08 GMT-0500 (CDT)
272
+ Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blankt">JsDoc Toolkit</a> 2.3.2 on Wed Oct 21 2009 09:55:02 GMT-0500 (CDT)
273
273
  </div>
274
274
  </body>
275
275
  </html>
@@ -237,6 +237,33 @@ ul.inheritsList
237
237
 
238
238
  <!-- ============================== methods summary ======================== -->
239
239
 
240
+
241
+
242
+ <table class="summaryTable" cellspacing="0" summary="A summary of the methods documented in the class _global_.">
243
+ <caption>Method Summary</caption>
244
+ <thead>
245
+ <tr>
246
+ <th scope="col">Method Attributes</th>
247
+ <th scope="col">Method Name and Description</th>
248
+ </tr>
249
+ </thead>
250
+ <tbody>
251
+
252
+ <tr>
253
+ <td class="attributes">&nbsp;</td>
254
+ <td class="nameDescription">
255
+ <div class="fixedFont"><b><a href="../symbols/_global_.html#gem">gem</a></b>(gemName)
256
+ </div>
257
+ <div class="description"></div>
258
+ </td>
259
+ </tr>
260
+
261
+ </tbody>
262
+ </table>
263
+
264
+
265
+
266
+
240
267
  <!-- ============================== events summary ======================== -->
241
268
 
242
269
 
@@ -248,6 +275,50 @@ ul.inheritsList
248
275
 
249
276
  <!-- ============================== method details ========================= -->
250
277
 
278
+ <div class="sectionTitle">
279
+ Method Detail
280
+ </div>
281
+
282
+ <a name="gem"> </a>
283
+ <div class="fixedFont">
284
+
285
+
286
+ <b>gem</b>(gemName)
287
+
288
+ </div>
289
+ <div class="description">
290
+
291
+
292
+ <br />
293
+ <i>Defined in: </i> <a href="../symbols/src/lib_stdlib_rubygems.js.html">rubygems.js</a>.
294
+
295
+
296
+ </div>
297
+
298
+
299
+
300
+
301
+ <dl class="detailList">
302
+ <dt class="heading">Parameters:</dt>
303
+
304
+ <dt>
305
+ <b>gemName</b>
306
+
307
+ </dt>
308
+ <dd></dd>
309
+
310
+ </dl>
311
+
312
+
313
+
314
+
315
+
316
+
317
+
318
+
319
+
320
+
321
+
251
322
 
252
323
  <!-- ============================== event details ========================= -->
253
324
 
@@ -259,7 +330,7 @@ ul.inheritsList
259
330
  <!-- ============================== footer ================================= -->
260
331
  <div class="fineprint" style="clear:both">
261
332
 
262
- Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Tue Oct 13 2009 19:57:08 GMT-0500 (CDT)
333
+ Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Wed Oct 21 2009 09:55:02 GMT-0500 (CDT)
263
334
  </div>
264
335
  </body>
265
336
  </html>
@@ -259,7 +259,7 @@ ul.inheritsList
259
259
  <!-- ============================== footer ================================= -->
260
260
  <div class="fineprint" style="clear:both">
261
261
 
262
- Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Tue Oct 13 2009 19:57:08 GMT-0500 (CDT)
262
+ Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Wed Oct 21 2009 09:55:02 GMT-0500 (CDT)
263
263
  </div>
264
264
  </body>
265
265
  </html>
@@ -446,7 +446,7 @@ from the specified file
446
446
  <!-- ============================== footer ================================= -->
447
447
  <div class="fineprint" style="clear:both">
448
448
 
449
- Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Tue Oct 13 2009 19:57:08 GMT-0500 (CDT)
449
+ Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Wed Oct 21 2009 09:55:02 GMT-0500 (CDT)
450
450
  </div>
451
451
  </body>
452
452
  </html>
@@ -329,7 +329,7 @@ ul.inheritsList
329
329
  <!-- ============================== footer ================================= -->
330
330
  <div class="fineprint" style="clear:both">
331
331
 
332
- Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Tue Oct 13 2009 19:57:08 GMT-0500 (CDT)
332
+ Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Wed Oct 21 2009 09:55:02 GMT-0500 (CDT)
333
333
  </div>
334
334
  </body>
335
335
  </html>
@@ -1136,7 +1136,7 @@ in <a href="../symbols/kernel.html#$LOAD_PATH">Kernel#$LOAD_PATH</a>.</dd>
1136
1136
  <!-- ============================== footer ================================= -->
1137
1137
  <div class="fineprint" style="clear:both">
1138
1138
 
1139
- Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Tue Oct 13 2009 19:57:08 GMT-0500 (CDT)
1139
+ Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Wed Oct 21 2009 09:55:02 GMT-0500 (CDT)
1140
1140
  </div>
1141
1141
  </body>
1142
1142
  </html>
@@ -329,7 +329,7 @@ ul.inheritsList
329
329
  <!-- ============================== footer ================================= -->
330
330
  <div class="fineprint" style="clear:both">
331
331
 
332
- Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Tue Oct 13 2009 19:57:08 GMT-0500 (CDT)
332
+ Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Wed Oct 21 2009 09:55:02 GMT-0500 (CDT)
333
333
  </div>
334
334
  </body>
335
335
  </html>
@@ -329,7 +329,7 @@ ul.inheritsList
329
329
  <!-- ============================== footer ================================= -->
330
330
  <div class="fineprint" style="clear:both">
331
331
 
332
- Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Tue Oct 13 2009 19:57:08 GMT-0500 (CDT)
332
+ Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Wed Oct 21 2009 09:55:02 GMT-0500 (CDT)
333
333
  </div>
334
334
  </body>
335
335
  </html>
@@ -0,0 +1,42 @@
1
+ <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"> <style>
2
+ .KEYW {color: #933;}
3
+ .COMM {color: #bbb; font-style: italic;}
4
+ .NUMB {color: #393;}
5
+ .STRN {color: #393;}
6
+ .REGX {color: #339;}
7
+ .line {border-right: 1px dotted #666; color: #666; font-style: normal;}
8
+ </style></head><body><pre><span class='line'> 1</span> <span class="COMM">// UNDOCUMENTED DONT USE THIS UNTIL IT'S TESTED.</span><span class="WHIT">
9
+ <span class='line'> 2</span>
10
+ <span class='line'> 3</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">Gem</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
11
+ <span class='line'> 4</span> </span><span class="WHIT"> </span><span class="NAME">command</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"xpcomcore-gem"</span><span class="PUNC">,</span><span class="WHIT">
12
+ <span class='line'> 5</span> </span><span class="WHIT"> </span><span class="NAME">get</span><span class="WHIT"> </span><span class="NAME">isSupported</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
13
+ <span class='line'> 6</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">arguments.callee.__memoizedResult__</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
14
+ <span class='line'> 7</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">gemCommandResult</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Sys.run</span><span class="PUNC">(</span><span class="STRN">"which"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.command</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
15
+ <span class='line'> 8</span> </span><span class="WHIT"> </span><span class="NAME">arguments.callee.__memoizedResult__</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">gemCommandResult.exitStatus</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
16
+ <span class='line'> 9</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
17
+ <span class='line'> 10</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">arguments.callee.__memoizedResult__</span><span class="PUNC">;</span><span class="WHIT">
18
+ <span class='line'> 11</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
19
+ <span class='line'> 12</span> </span><span class="WHIT">
20
+ <span class='line'> 13</span> </span><span class="NAME">gem</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">gemName</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
21
+ <span class='line'> 14</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">cmdReturn</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Sys.run</span><span class="PUNC">(</span><span class="NAME">this.command</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">gemName</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
22
+ <span class='line'> 15</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">cmdReturn.exitStatus</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
23
+ <span class='line'> 16</span> </span><span class="WHIT"> </span><span class="COMM">// TODO - throw appropriate exception here.</span><span class="WHIT">
24
+ <span class='line'> 17</span> </span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="PUNC">(</span><span class="STRN">"Gem "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">gemName</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">" wasn't found."</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
25
+ <span class='line'> 18</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
26
+ <span class='line'> 19</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">gemDetails</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">JSON.parse</span><span class="PUNC">(</span><span class="NAME">cmdReturn.output</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
27
+ <span class='line'> 20</span> </span><span class="WHIT"> </span><span class="NAME">$LOAD_PATH.push</span><span class="PUNC">(</span><span class="NAME">gemDetails.libDir</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
28
+ <span class='line'> 21</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
29
+ <span class='line'> 22</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
30
+ <span class='line'> 23</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
31
+ <span class='line'> 24</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
32
+ <span class='line'> 25</span>
33
+ <span class='line'> 26</span> </span><span class="NAME">Gem.LoadError</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">message</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
34
+ <span class='line'> 27</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">err</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="NAME">message</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
35
+ <span class='line'> 28</span> </span><span class="WHIT"> </span><span class="NAME">err.name</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"Gem.LoadError"</span><span class="PUNC">;</span><span class="WHIT">
36
+ <span class='line'> 29</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">err</span><span class="PUNC">;</span><span class="WHIT">
37
+ <span class='line'> 30</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
38
+ <span class='line'> 31</span>
39
+ <span class='line'> 32</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">gem</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">gemName</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
40
+ <span class='line'> 33</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">Gem.gem</span><span class="PUNC">(</span><span class="NAME">gemName</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
41
+ <span class='line'> 34</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
42
+ <span class='line'> 35</span> </span></pre></body></html>
@@ -46,15 +46,21 @@
46
46
  <span class='line'> 39</span> </span><span class="WHIT">
47
47
  <span class='line'> 40</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">outputPipe</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">File.join</span><span class="PUNC">(</span><span class="NAME">tempDir</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">process.pid</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">".stdout.pipe"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
48
48
  <span class='line'> 41</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">outputPipeFile</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">XPCBuiltins.nsILocalFile</span><span class="PUNC">(</span><span class="NAME">outputPipe</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
49
- <span class='line'> 42</span> </span><span class="WHIT">
50
- <span class='line'> 43</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">output</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
51
- <span class='line'> 44</span> </span><span class="WHIT"> </span><span class="KEYW">while</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">outputPipeFile.exists</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
52
- <span class='line'> 45</span> </span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
53
- <span class='line'> 46</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
54
- <span class='line'> 47</span> </span><span class="WHIT">
55
- <span class='line'> 48</span> </span><span class="NAME">output</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">File.read</span><span class="PUNC">(</span><span class="NAME">outputPipe</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
49
+ <span class='line'> 42</span>
50
+ <span class='line'> 43</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">thread</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$Cc</span><span class="PUNC">[</span><span class="STRN">"@mozilla.org/thread-manager;1"</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">getService</span><span class="PUNC">(</span><span class="NAME">$Ci.nsIThreadManager</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">currentThread</span><span class="PUNC">;</span><span class="WHIT">
51
+ <span class='line'> 44</span> </span><span class="WHIT">
52
+ <span class='line'> 45</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">output</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
53
+ <span class='line'> 46</span> </span><span class="WHIT"> </span><span class="KEYW">while</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">outputPipeFile.exists</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
54
+ <span class='line'> 47</span> </span><span class="WHIT"> </span><span class="NAME">thread.processNextEvent</span><span class="PUNC">(</span><span class="KEYW">false</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
55
+ <span class='line'> 48</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
56
56
  <span class='line'> 49</span> </span><span class="WHIT">
57
- <span class='line'> 50</span> </span><span class="KEYW">return</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">exitStatus</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">process.exitValue</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">output</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">output</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
58
- <span class='line'> 51</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
59
- <span class='line'> 52</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
60
- <span class='line'> 53</span> </span></pre></body></html>
57
+ <span class='line'> 50</span> </span><span class="NAME">output</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">File.read</span><span class="PUNC">(</span><span class="NAME">outputPipe</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
58
+ <span class='line'> 51</span> </span><span class="WHIT">
59
+ <span class='line'> 52</span> </span><span class="KEYW">while</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">process.exitValue</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
60
+ <span class='line'> 53</span> </span><span class="WHIT"> </span><span class="NAME">thread.processNextEvent</span><span class="PUNC">(</span><span class="KEYW">false</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
61
+ <span class='line'> 54</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
62
+ <span class='line'> 55</span>
63
+ <span class='line'> 56</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">exitStatus</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">process.exitValue</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">output</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">output</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
64
+ <span class='line'> 57</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
65
+ <span class='line'> 58</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
66
+ <span class='line'> 59</span> </span></pre></body></html>
@@ -389,7 +389,7 @@ invoke the command with.</dd>
389
389
  <!-- ============================== footer ================================= -->
390
390
  <div class="fineprint" style="clear:both">
391
391
 
392
- Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Tue Oct 13 2009 19:57:08 GMT-0500 (CDT)
392
+ Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Wed Oct 21 2009 09:55:02 GMT-0500 (CDT)
393
393
  </div>
394
394
  </body>
395
395
  </html>
@@ -309,7 +309,7 @@ ul.inheritsList
309
309
  <!-- ============================== footer ================================= -->
310
310
  <div class="fineprint" style="clear:both">
311
311
 
312
- Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Tue Oct 13 2009 19:57:08 GMT-0500 (CDT)
312
+ Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Wed Oct 21 2009 09:55:02 GMT-0500 (CDT)
313
313
  </div>
314
314
  </body>
315
315
  </html>
@@ -0,0 +1,34 @@
1
+ // UNDOCUMENTED DONT USE THIS UNTIL IT'S TESTED.
2
+
3
+ var Gem = {
4
+ command: "xpcomcore-gem",
5
+ get isSupported() {
6
+ if (arguments.callee.__memoizedResult__ === undefined) {
7
+ var gemCommandResult = Sys.run("which", this.command);
8
+ arguments.callee.__memoizedResult__ = (gemCommandResult.exitStatus === 0);
9
+ }
10
+ return arguments.callee.__memoizedResult__;
11
+ },
12
+
13
+ gem: function(gemName) {
14
+ var cmdReturn = Sys.run(this.command, gemName);
15
+ if (cmdReturn.exitStatus != 0) {
16
+ // TODO - throw appropriate exception here.
17
+ throw("Gem " + gemName + " wasn't found.");
18
+ } else {
19
+ var gemDetails = JSON.parse(cmdReturn.output);
20
+ $LOAD_PATH.push(gemDetails.libDir);
21
+ return true;
22
+ }
23
+ }
24
+ };
25
+
26
+ Gem.LoadError = function(message) {
27
+ var err = new Error(message);
28
+ err.name = "Gem.LoadError";
29
+ return err;
30
+ };
31
+
32
+ var gem = function(gemName) {
33
+ return Gem.gem(gemName);
34
+ };
data/xpcomcore/lib/sys.js CHANGED
@@ -39,14 +39,20 @@ var Sys = {
39
39
 
40
40
  var outputPipe = File.join(tempDir, process.pid + ".stdout.pipe");
41
41
  var outputPipeFile = new XPCBuiltins.nsILocalFile(outputPipe);
42
-
42
+
43
+ var thread = $Cc["@mozilla.org/thread-manager;1"].getService($Ci.nsIThreadManager).currentThread;
44
+
43
45
  var output = null;
44
46
  while (!outputPipeFile.exists()) {
45
- null;
47
+ thread.processNextEvent(false);
46
48
  };
47
49
 
48
50
  output = File.read(outputPipe);
49
-
51
+
52
+ while (process.exitValue < 0) {
53
+ thread.processNextEvent(false);
54
+ }
55
+
50
56
  return({exitStatus: process.exitValue, output: output});
51
57
  }
52
58
  };
@@ -1,27 +1,29 @@
1
- XULTestCase.create("File Test", function(setup, teardown, test) {
1
+ require("test_helper");
2
2
 
3
- test("File.join should properly put together strings", function() {
4
- this.assertEqual($CURRENT_FILE, File.join($CURRENT_DIRECTORY, "file_test.js"));
5
- });
6
-
7
- test("File.read without a maxBytes argument should read the entire contents of a file if it exists", function() {
8
- this.assertEqual("var love = true;", File.read(File.join($CURRENT_DIRECTORY, "fixtures", "love.js")));
9
- });
3
+ Riot.context("File", function(should) {
10
4
 
11
- test("File.read with a maxBytes argument should read the given number of bytes from a file", function() {
12
- this.assertEqual("var love", File.read(File.join($CURRENT_DIRECTORY, "fixtures", "love.js"), 8));
13
- });
14
-
15
- test("File.read with a maxBytes argument of 0 shouldn't throw an exception", function() {
16
- this.assertEqual("", File.read(File.join($CURRENT_DIRECTORY, "fixtures", "love.js"), 0));
17
- });
5
+ should("have File.join properly concatenate strings", function(){
6
+ return File.join($CURRENT_DIRECTORY, "file_test.js");
7
+ }).equals($CURRENT_FILE);
8
+
9
+ should("read the entire contents of a file with File.read without a maxBytes argument", function(){
10
+ return File.read(File.join($CURRENT_DIRECTORY, "fixtures", "love.js"));
11
+ }).equals("var love = true;");
18
12
 
19
- test("File.read with an empty file shouldn't throw an exception", function() {
20
- this.assertEqual("", File.read(File.join($CURRENT_DIRECTORY, "fixtures", "empty")));
21
- });
13
+ should("read the given numbers of bytes using File.read with a maxBytes argument", function(){
14
+ return File.read(File.join($CURRENT_DIRECTORY, "fixtures", "love.js"), 8);
15
+ }).equals("var love");
16
+
17
+ should("not throw an exception with a maxBytes argument of 0 to File.read", function(){
18
+ return File.read(File.join($CURRENT_DIRECTORY, "fixtures", "love.js"), 0);
19
+ }).equals("");
20
+
21
+ should("not throw an exception when reading an empty file", function(){
22
+ return File.read(File.join($CURRENT_DIRECTORY, "fixtures", "empty"));
23
+ }).equals("");
22
24
 
23
- test("File.read with a non-existent file should throw an exception", function() {
24
- this.assertRaise("File.NoSuchFileError", function(){ File.read("/tmp/ohmanihopethisfiledoesntexist"); });
25
- });
25
+ should("throw an exception with a non existent file given to File.read", function(){
26
+ File.read("/tmp/ohmanihopethisfiledoesntexist");
27
+ }).raises("File.NoSuchFileError");
26
28
 
27
29
  });
@@ -1,95 +1,87 @@
1
- XULTestCase.create("Kernel Test", function(setup, teardown, test) {
1
+ require("test_helper");
2
+
3
+ Riot.context("Kernel", function(should, setup) {
4
+
2
5
  setup(function() {
3
6
  $LOAD_PATH.push(File.join($CURRENT_DIRECTORY, "fixtures"));
4
7
  });
5
8
 
6
- test("Kernel() function should mix its properties into the passed in scope", function(){
9
+ should("mix its properties into the passed in scope when used as a function", function(){
7
10
  var newScope = {};
8
- this.assertNotEqual(0, Kernel.prototype.__count__);
9
- this.assertEqual(0, newScope.__count__);
10
11
  Kernel(newScope);
11
- this.assertEqual(Kernel.prototype.__count__, newScope.__count__);
12
- });
12
+ return newScope.__count__;
13
+ }).equals(Kernel.prototype.__count__);
13
14
 
14
-
15
- test("$CURRENT_FILE should be exposed as a getter that returns a value that is not a function", function(){
16
- this.assertNotEqual("function", typeof($CURRENT_FILE));
17
- });
18
-
19
- test("$CURRENT_FILE should end in kernel_test.js", function(){
20
- this.assertMatch(/kernel_test.js$/, $CURRENT_FILE);
21
- });
15
+ should("expose $CURRENT_FILE as a getter that returns a value that is a string", function(){
16
+ return $CURRENT_FILE;
17
+ }).isTypeOf("string");
22
18
 
19
+ should("have $CURRENT_FILE end in kernel_test.js", function(){
20
+ return $CURRENT_FILE;
21
+ }).matches(/kernel_test.js$/);
23
22
 
24
- test("$CURRENT_DIRECTORY should be exposed as a getter that returns a value that is not a function", function(){
25
- this.assertNotEqual("function", typeof($CURRENT_DIRECTORY));
26
- });
23
+ should("expose $CURRENT_DIRECTORY as a getter that returns a value that is a string", function(){
24
+ return $CURRENT_DIRECTORY;
25
+ }).isTypeOf("string");
27
26
 
28
- test("$CURRENT_DIRECTORY should end in test", function(){
29
- this.assertMatch(/test$/, $CURRENT_DIRECTORY);
30
- });
27
+ should("have $CURRENT_DIRECTORY end in test", function(){
28
+ return $CURRENT_DIRECTORY;
29
+ }).matches(/test$/);
31
30
 
32
-
33
- test("load should throw an exception when you give it a non-existent resource", function() {
34
- this.assertRaise("LoadError", function() {
35
- load("some-junk");
36
- });
37
- });
31
+ should("throw an exception when you give load a non-existent resource", function() {
32
+ load("some-junk");
33
+ }).raises("LoadError");
38
34
 
39
- test("load should return true when it can load a file successfully", function() {
40
- this.assertEqual(true, load("love.js"));
41
- });
35
+ should("return true when load can load a file successfully", function() {
36
+ return load("love.js");
37
+ }).equals(true);
42
38
 
43
- test("load should bubble up a syntax error if the loaded file is syntactically whack", function() {
44
- this.assertRaise("SyntaxError", function() { load("syntax_error.js") });
45
- });
39
+ should("bubble up a syntax error if the loaded file is syntactically whack", function() {
40
+ load("syntax_error.js");
41
+ }).raises("SyntaxError");
46
42
 
47
- test("load should allow loading a resource multiple times", function() {
43
+ should("allow loading a resource multiple times", function() {
48
44
  load("love.js");
49
- this.assertEqual(true, love);
50
-
51
45
  love = false;
52
46
  load("love.js");
53
- this.assertEqual(true, love);
54
- });
47
+ return love;
48
+ }).equals(true);
55
49
 
56
- test("load works when using absolute paths", function() {
50
+ should("allow loading using absolute paths", function() {
57
51
  love = false;
58
-
59
52
  var absolutePath = File.join($CURRENT_DIRECTORY, "fixtures", "love.js");
60
53
  // FIXME: this is unix-only and janky:
61
- this.assertMatch(/^\//, absolutePath);
54
+ if (!absolutePath.match(/^\//)) { throw("Expected an absolute path."); }
62
55
 
63
56
  load(absolutePath);
64
- this.assertEqual(true, love);
65
- });
57
+ return love;
58
+ }).equals(true);
66
59
 
60
+ should("have require return true the first time (just like load)", function() {
61
+ return require("love");
62
+ }).equals(true);
67
63
 
68
- test("require should load a file the first time (just like load)", function() {
69
- this.assertEqual(true, require("love"));
70
- });
71
-
72
- test("require should return false if the resource has already been loaded", function() {
64
+ should("have require return false if the resource has already been loaded", function() {
73
65
  require("mad_love");
74
- this.assertEqual(false, require("mad_love"));
75
- });
66
+ return require("mad_love");
67
+ }).equals(false);
76
68
 
77
- test("require should not load a resource that's already been loaded", function() {
69
+ should("not require a resource that's already been loaded", function() {
78
70
  require("mad_world");
79
- this.assertEqual(true, mad_world);
71
+ if (!mad_world) { throw("Expected mad_world to be true"); }
80
72
 
81
73
  mad_world = false;
82
74
  require("mad_world");
83
- this.assertEqual(false, mad_world);
84
- });
75
+ return mad_world;
76
+ }).equals(false);
85
77
 
86
- test("should expose a $ENV object that allows for getting environment variables", function() {
87
- this.assert($ENV.get('HOME'));
88
- });
78
+ should("expose a $ENV object that allows for getting environment variables", function() {
79
+ return $ENV.get('HOME');
80
+ }).isTypeOf('string');
89
81
 
90
- test("should expose a $ENV object that allows for setting environment variables", function() {
82
+ should("expose a $ENV object that allows for setting environment variables", function() {
91
83
  $ENV.set('XPCOMCORETEST', "testing");
92
- this.assertEqual($ENV.get('XPCOMCORETEST'), "testing");
93
- });
84
+ return $ENV.get('XPCOMCORETEST');
85
+ }).equals("testing");
94
86
 
95
87
  });
@@ -0,0 +1,17 @@
1
+ require("test_helper");
2
+ require("stdlib/rubygems");
3
+
4
+ if (Gem.isSupported) {
5
+
6
+ Riot.context("RubyGems", function(should) {
7
+
8
+ // should("have Sys.tempDir return a string path to the OS temporary directory", function(){
9
+ // var tempDir = XPCBuiltins.nsILocalFile(Sys.tempDir);
10
+ // return tempDir.exists();
11
+ // }).equals(true);
12
+
13
+ });
14
+
15
+ } else {
16
+ puts("Warning - Gem support isn't available on your system so the RubyGems support tests will be skipped.");
17
+ }
@@ -1,19 +1,18 @@
1
- XULTestCase.create("Sys Test", function(setup, teardown, test) {
1
+ require("test_helper");
2
2
 
3
- test("Sys.tempDir should return a string path to the OS temporary directory", function(){
4
- var tempDir = Sys.tempDir;
5
- this.assert(tempDir);
6
- this.assert(tempDir.length > 0);
7
- });
3
+ Riot.context("Sys", function(should) {
4
+
5
+ should("have Sys.tempDir return a string path to the OS temporary directory", function(){
6
+ var tempDir = XPCBuiltins.nsILocalFile(Sys.tempDir);
7
+ return tempDir.exists();
8
+ }).equals(true);
8
9
 
9
- test("Sys.run should execute the given command and return the exit status in an object", function(){
10
- var result = Sys.run("exit", "47");
11
- this.assertEqual(47, result.exitStatus);
12
- });
10
+ should("have Sys.run execute the given command and return the exit status in an object", function(){
11
+ return Sys.run("exit", "47").exitStatus;
12
+ }).equals(47);
13
13
 
14
- test("Sys.run should execute the given command and return the output in an object", function(){
15
- var result = Sys.run("echo", "foo bar baz");
16
- this.assertEqual("foo bar baz\n", result.output);
17
- });
14
+ should("have Sys.run execute the given command and return the output in an object", function(){
15
+ return Sys.run("echo", "foo bar baz").output;
16
+ }).equals("foo bar baz\n");
18
17
 
19
18
  });
@@ -0,0 +1,7 @@
1
+ require("stdlib/rubygems");
2
+ gem("riot-js");
3
+ require("riot");
4
+
5
+ XULTestRunner.atExit = function() {
6
+ Riot.run();
7
+ }
@@ -1,8 +1,10 @@
1
- XULTestCase.create("XPCBuiltins Test", function(setup, teardown, test) {
1
+ require("test_helper");
2
2
 
3
- test("constructor for nsILocalFile should return an nsILocalFile QI'd object", function() {
3
+ Riot.context("XPCBuiltins", function(should) {
4
+
5
+ should("have the constructor for nsILocalFile should return an nsILocalFile QI'd object", function() {
4
6
  var localFile = new XPCBuiltins.nsILocalFile("/");
5
- this.assertMatch(/nsILocalFile/, localFile.toString());
6
- });
7
+ return localFile.toString();
8
+ }).matches(/nsILocalFile/);
7
9
 
8
10
  });
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xpcomcore-rubygem
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.2
4
+ version: 0.6.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - ggironda
@@ -9,8 +9,8 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-10-16 00:00:00 -05:00
13
- default_executable: xpcomcore
12
+ date: 2009-10-21 00:00:00 -05:00
13
+ default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: sys-uname
@@ -52,6 +52,16 @@ dependencies:
52
52
  - !ruby/object:Gem::Version
53
53
  version: "0"
54
54
  version:
55
+ - !ruby/object:Gem::Dependency
56
+ name: json
57
+ type: :runtime
58
+ version_requirement:
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: "0"
64
+ version:
55
65
  - !ruby/object:Gem::Dependency
56
66
  name: uuidtools
57
67
  type: :runtime
@@ -86,6 +96,7 @@ description: Gem to allow for using XPCOMCore via RubyGems
86
96
  email: gabriel.gironda@gmail.com
87
97
  executables:
88
98
  - xpcomcore
99
+ - xpcomcore-gem
89
100
  extensions: []
90
101
 
91
102
  extra_rdoc_files:
@@ -100,6 +111,7 @@ files:
100
111
  - Rakefile
101
112
  - VERSION
102
113
  - bin/xpcomcore
114
+ - bin/xpcomcore-gem
103
115
  - ext/stub_runners/darwin/StubApp.app/Contents/Info.plist
104
116
  - ext/stub_runners/darwin/StubApp.app/Contents/MacOS/stub_runner
105
117
  - ext/stub_runners/darwin/StubApp.app/Contents/PkgInfo
@@ -146,12 +158,14 @@ files:
146
158
  - xpcomcore/doc/symbols/selfconcepterror.html
147
159
  - xpcomcore/doc/symbols/src/lib_file.js.html
148
160
  - xpcomcore/doc/symbols/src/lib_kernel.js.html
161
+ - xpcomcore/doc/symbols/src/lib_stdlib_rubygems.js.html
149
162
  - xpcomcore/doc/symbols/src/lib_sys.js.html
150
163
  - xpcomcore/doc/symbols/src/lib_xpc_builtins.js.html
151
164
  - xpcomcore/doc/symbols/sys.html
152
165
  - xpcomcore/doc/symbols/xpcbuiltins.html
153
166
  - xpcomcore/lib/file.js
154
167
  - xpcomcore/lib/kernel.js
168
+ - xpcomcore/lib/stdlib/rubygems.js
155
169
  - xpcomcore/lib/sys.js
156
170
  - xpcomcore/lib/xpc_builtins.js
157
171
  - xpcomcore/test/file_test.js
@@ -161,7 +175,9 @@ files:
161
175
  - xpcomcore/test/fixtures/mad_world.js
162
176
  - xpcomcore/test/fixtures/syntax_error.js
163
177
  - xpcomcore/test/kernel_test.js
178
+ - xpcomcore/test/stdlib/rubygems_test.js
164
179
  - xpcomcore/test/sys_test.js
180
+ - xpcomcore/test/test_helper.js
165
181
  - xpcomcore/test/xpc_builtins_test.js
166
182
  has_rdoc: true
167
183
  homepage: http://github.com/gabrielg/xpcomcore-rubygem