xpcomcore-rubygem 0.6.2 → 0.6.3

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.
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