celerity 0.0.2 → 0.0.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.
Files changed (127) hide show
  1. data/History.txt +15 -1
  2. data/Manifest.txt +174 -0
  3. data/README.txt +19 -10
  4. data/config/hoe.rb +68 -0
  5. data/config/requirements.rb +15 -0
  6. data/lib/celerity.rb +14 -11
  7. data/lib/celerity/collections.rb +37 -8
  8. data/lib/celerity/container.rb +100 -3
  9. data/lib/celerity/disabled_element.rb +4 -2
  10. data/lib/celerity/element.rb +21 -8
  11. data/lib/celerity/element_collections.rb +4 -7
  12. data/lib/celerity/element_locator.rb +1 -0
  13. data/lib/celerity/elements/button.rb +6 -2
  14. data/lib/celerity/elements/file_field.rb +1 -1
  15. data/lib/celerity/elements/form.rb +1 -2
  16. data/lib/celerity/elements/frame.rb +0 -3
  17. data/lib/celerity/elements/image.rb +1 -4
  18. data/lib/celerity/elements/label.rb +1 -0
  19. data/lib/celerity/elements/link.rb +2 -0
  20. data/lib/celerity/elements/option.rb +1 -0
  21. data/lib/celerity/elements/radio_check.rb +3 -5
  22. data/lib/celerity/elements/select_list.rb +3 -10
  23. data/lib/celerity/elements/table.rb +8 -22
  24. data/lib/celerity/elements/table_body.rb +5 -11
  25. data/lib/celerity/elements/table_cell.rb +1 -0
  26. data/lib/celerity/elements/table_footer.rb +30 -0
  27. data/lib/celerity/elements/table_header.rb +30 -0
  28. data/lib/celerity/elements/table_row.rb +5 -3
  29. data/lib/celerity/elements/text_field.rb +18 -13
  30. data/lib/celerity/exception.rb +8 -8
  31. data/lib/celerity/extra/method_generator.rb +5 -2
  32. data/lib/celerity/htmlunit/htmlunit-2.2-SNAPSHOT.jar +0 -0
  33. data/lib/celerity/ie.rb +195 -141
  34. data/lib/celerity/non_control_elements.rb +30 -4
  35. data/lib/celerity/version.rb +1 -1
  36. data/lib/celerity/watir_compatibility.rb +62 -0
  37. data/setup.rb +0 -2
  38. data/spec/area_spec.rb +4 -1
  39. data/spec/areas_spec.rb +1 -1
  40. data/spec/button_spec.rb +35 -17
  41. data/spec/buttons_spec.rb +1 -1
  42. data/spec/checkbox_spec.rb +6 -4
  43. data/spec/checkboxes_spec.rb +1 -1
  44. data/spec/div_spec.rb +20 -19
  45. data/spec/divs_spec.rb +2 -2
  46. data/spec/element_spec.rb +13 -2
  47. data/spec/filefield_spec.rb +6 -3
  48. data/spec/filefields_spec.rb +1 -1
  49. data/spec/form_spec.rb +4 -1
  50. data/spec/forms_spec.rb +1 -1
  51. data/spec/frame_spec.rb +6 -2
  52. data/spec/hidden_spec.rb +8 -4
  53. data/spec/hiddens_spec.rb +1 -1
  54. data/spec/hn_spec.rb +86 -0
  55. data/spec/hns_spec.rb +41 -0
  56. data/spec/html/bug_duplicate_attributes.html +14 -0
  57. data/spec/html/bug_javascript_001.html +11 -0
  58. data/spec/html/forms_with_input_elements.html +11 -11
  59. data/spec/html/images.html +18 -15
  60. data/spec/html/latin1_text.html +16 -0
  61. data/spec/html/non_control_elements.html +28 -4
  62. data/spec/html/tables.html +3 -3
  63. data/spec/html/utf8_text.html +15 -0
  64. data/spec/htmlunit_spec.rb +27 -0
  65. data/spec/ie_spec.rb +47 -12
  66. data/spec/image_spec.rb +4 -7
  67. data/spec/images_spec.rb +3 -2
  68. data/spec/label_spec.rb +4 -3
  69. data/spec/labels_spec.rb +1 -1
  70. data/spec/li_spec.rb +11 -8
  71. data/spec/link_spec.rb +5 -1
  72. data/spec/links_spec.rb +2 -1
  73. data/spec/lis_spec.rb +3 -2
  74. data/spec/map_spec.rb +4 -1
  75. data/spec/maps_spec.rb +1 -1
  76. data/spec/meta_spec.rb +6 -0
  77. data/spec/ol_spec.rb +73 -0
  78. data/spec/ols_spec.rb +41 -0
  79. data/spec/option_spec.rb +129 -0
  80. data/spec/p_spec.rb +4 -1
  81. data/spec/pre_spec.rb +4 -1
  82. data/spec/pres_spec.rb +1 -1
  83. data/spec/ps_spec.rb +2 -1
  84. data/spec/radio_spec.rb +7 -19
  85. data/spec/radios_spec.rb +1 -1
  86. data/spec/select_list_spec.rb +19 -57
  87. data/spec/select_lists_spec.rb +3 -2
  88. data/spec/span_spec.rb +8 -5
  89. data/spec/spans_spec.rb +2 -1
  90. data/spec/spec_helper.rb +8 -43
  91. data/spec/table_bodies_spec.rb +17 -4
  92. data/spec/table_body_spec.rb +47 -16
  93. data/spec/table_cell_spec.rb +5 -3
  94. data/spec/table_cells_spec.rb +1 -1
  95. data/spec/table_footer_spec.rb +94 -0
  96. data/spec/table_footers_spec.rb +53 -0
  97. data/spec/table_header_spec.rb +94 -0
  98. data/spec/table_headers_spec.rb +53 -0
  99. data/spec/table_row_spec.rb +25 -4
  100. data/spec/table_rows_spec.rb +1 -1
  101. data/spec/table_spec.rb +22 -2
  102. data/spec/tables_spec.rb +2 -1
  103. data/spec/text_field_spec.rb +52 -20
  104. data/spec/text_fields_spec.rb +1 -1
  105. data/spec/ul_spec.rb +73 -0
  106. data/spec/uls_spec.rb +41 -0
  107. data/spec/watir_compatability_spec.rb +253 -0
  108. data/support/celerity_viewer/rubycocoa/CelerityViewer.icns +0 -0
  109. data/support/celerity_viewer/rubycocoa/English.lproj/Main.nib/classes.nib +37 -0
  110. data/support/celerity_viewer/rubycocoa/English.lproj/Main.nib/info.nib +19 -0
  111. data/support/celerity_viewer/rubycocoa/English.lproj/Main.nib/keyedobjects.nib +0 -0
  112. data/support/celerity_viewer/rubycocoa/Info.plist.erb +28 -0
  113. data/support/celerity_viewer/rubycocoa/MainController.rb +23 -0
  114. data/support/celerity_viewer/rubycocoa/README +94 -0
  115. data/support/celerity_viewer/rubycocoa/Rakefile +100 -0
  116. data/support/celerity_viewer/rubycocoa/distributed_viewer.rb +86 -0
  117. data/support/celerity_viewer/rubycocoa/main.m +7 -0
  118. data/support/celerity_viewer/rubycocoa/main.rb +27 -0
  119. data/support/spec_server.rb +64 -0
  120. data/tasks/benchmark.rake +1 -0
  121. data/tasks/rdoc.rake +4 -0
  122. data/tasks/rspec.rake +10 -3
  123. data/tasks/simple_ci.rake +94 -0
  124. data/tasks/specserver.rake +21 -0
  125. metadata +160 -114
  126. data/spec/table_bodies.rb +0 -40
  127. data/tasks/testserver.rake +0 -32
@@ -0,0 +1,23 @@
1
+ require 'osx/cocoa'
2
+ require "distributed_viewer"
3
+ include OSX
4
+ require_framework 'WebKit'
5
+
6
+ class MainController < NSObject
7
+ ib_outlets :web_view, :text_field
8
+
9
+ def awakeFromNib
10
+ @web_view.preferences.setShouldPrintBackgrounds(true)
11
+ NSUserDefaults.standardUserDefaults.setObject_forKey('YES', 'WebKitDeveloperExtras')
12
+ DRb.start_service("druby://127.0.0.1:1337", DistributedViewer.new(@web_view, @text_field))
13
+ end
14
+
15
+ def load_url(sender)
16
+ str = sender.stringValue
17
+ url = NSURL.URLWithString(str.to_ruby =~ /^https?/ ? str : "http://#{str}" )
18
+ @web_view.mainFrame.loadRequest(OSX::NSURLRequest.requestWithURL(url))
19
+ end
20
+
21
+ end
22
+
23
+
@@ -0,0 +1,94 @@
1
+ require 'osx/cocoa' # dummy
2
+ require 'rubygems'
3
+ require 'rake'
4
+ require 'rake/clean'
5
+ require 'rake/testtask'
6
+ require 'erb'
7
+ require 'pathname'
8
+
9
+ # Application own Settings
10
+ APPNAME = "Celerity_viewer"
11
+ TARGET = "#{APPNAME}.app"
12
+ VERSION = "rev#{`svn info`[/Revision: (\d+)/, 1]}"
13
+ RESOURCES = ['*.rb', '*.lproj', 'Credits.*', '*.icns']
14
+ PKGINC = [TARGET, 'README', 'html', 'client']
15
+ LOCALENIB = [] #['Japanese.lproj/Main.nib']
16
+ PUBLISH = 'yourname@yourhost:path'
17
+
18
+ BUNDLEID = "rubyapp.#{APPNAME}"
19
+
20
+ CLEAN.include ['**/.*.sw?', '*.dmg', TARGET, 'image', 'a.out']
21
+
22
+ # Tasks
23
+ task :default => [:test]
24
+
25
+ desc 'Create Application Budle and Run it.'
26
+ task :test => [TARGET] do
27
+ sh %{open '#{TARGET}'}
28
+ end
29
+
30
+ desc 'Create .dmg file for Publish'
31
+ task :package => [:clean, 'pkg', TARGET] do
32
+ name = "#{APPNAME}.#{VERSION}"
33
+ sh %{
34
+ mkdir image
35
+ cp -r #{PKGINC.join(' ')} image
36
+ ln -s html/index.html image/index.html
37
+ }
38
+ puts 'Creating Image...'
39
+ sh %{
40
+ hdiutil create -volname #{name} -srcfolder image #{name}.dmg
41
+ rm -rf image
42
+ mv #{name}.dmg pkg
43
+ }
44
+ end
45
+
46
+ desc 'Publish .dmg file to specific server.'
47
+ task :publish => [:package] do
48
+ sh %{
49
+ svn log > CHANGES
50
+ }
51
+ _, host, path = */^([^\s]+):(.+)$/.match(PUBLISH)
52
+ path = Pathname.new path
53
+ puts "Publish: Host: %s, Path: %s" % [host, path]
54
+ sh %{
55
+ scp pkg/IIrcv.#{VERSION}.dmg #{PUBLISH}/pkg
56
+ scp CHANGES #{PUBLISH}/pkg
57
+ scp -r html/* #{PUBLISH}
58
+ }
59
+ end
60
+
61
+ desc 'Make Localized nib from English.lproj and Lang.lproj/nib.strings'
62
+ rule(/.nib$/ => [proc {|tn| File.dirname(tn) + '/nib.strings' }]) do |t|
63
+ p t.name
64
+ lproj = File.dirname(t.name)
65
+ target = File.basename(t.name)
66
+ sh %{
67
+ rm -rf #{t.name}
68
+ nibtool -d #{lproj}/nib.strings -w #{t.name} English.lproj/#{target}
69
+ }
70
+ end
71
+
72
+ # File tasks
73
+ desc 'Make executable Application Bundle'
74
+ file TARGET => [:clean, APPNAME] + LOCALENIB do
75
+ sh %{
76
+ mkdir -p "#{APPNAME}.app/Contents/MacOS"
77
+ mkdir "#{APPNAME}.app/Contents/Resources"
78
+ cp -rp #{RESOURCES.join(' ')} "#{APPNAME}.app/Contents/Resources"
79
+ cp '#{APPNAME}' "#{APPNAME}.app/Contents/MacOS"
80
+ echo -n "APPL????" > "#{APPNAME}.app/Contents/PkgInfo"
81
+ echo -n #{VERSION} > "#{APPNAME}.app/Contents/Resources/VERSION"
82
+ }
83
+ File.open("#{APPNAME}.app/Contents/Info.plist", "w") do |f|
84
+ f.puts ERB.new(File.read("Info.plist.erb")).result
85
+ end
86
+ end
87
+
88
+ file APPNAME => ['main.m'] do
89
+ # Universal Binary
90
+ sh %{gcc -arch ppc -arch i386 -Wall -lobjc -framework RubyCocoa main.m -o '#{APPNAME}'}
91
+ end
92
+
93
+ directory 'pkg'
94
+
@@ -0,0 +1,100 @@
1
+ require 'osx/cocoa' # dummy
2
+ require 'rubygems'
3
+ require 'rake'
4
+ require 'rake/clean'
5
+ require 'rake/testtask'
6
+ require 'erb'
7
+ require 'pathname'
8
+
9
+ # Application own Settings
10
+ APPNAME = "CelerityViewer"
11
+ TARGET = "#{APPNAME}.app"
12
+ v = "rev#{`svn info`[/Revision: (\d+)/, 1]}"
13
+ APP_VERSION = (v == 'rev' ? "rev#{`git-svn info`[/Revision: (\d+)/, 1]}" : v)
14
+ RESOURCES = ['*.rb', '*.lproj', 'Credits.*', '*.icns']
15
+ PKGINC = [TARGET, 'README', 'html', 'client']
16
+ LOCALENIB = [] #['Japanese.lproj/Main.nib']
17
+ COPYRIGHT = "Copyright © 2008 FinnTech AS"
18
+ #PUBLISH = 'yourname@yourhost:path'
19
+ BUNDLEID = "no.finntech.#{APPNAME.downcase}"
20
+
21
+
22
+ CLEAN.include ['**/.*.sw?', '*.dmg', TARGET, 'image', 'a.out']
23
+
24
+ # Tasks
25
+ task :default => [:test]
26
+
27
+ desc 'Create Application Budle and Run it.'
28
+ task :test => [TARGET] do
29
+ sh %{open '#{TARGET}'}
30
+ end
31
+
32
+ desc 'Create .dmg file for Publish'
33
+ task :package => [:clean, 'pkg', TARGET] do
34
+ name = "#{APPNAME}.#{APP_VERSION}"
35
+ sh %{
36
+ mkdir image
37
+ cp -r #{PKGINC.join(' ')} image
38
+ ln -s html/index.html image/index.html
39
+ }
40
+ puts 'Creating Image...'
41
+ sh %{
42
+ hdiutil create -volname #{name} -srcfolder image #{name}.dmg
43
+ rm -rf image
44
+ mv #{name}.dmg pkg
45
+ }
46
+ end
47
+
48
+ desc 'Publish .dmg file to specific server.'
49
+ task :publish => [:package] do
50
+ sh %{
51
+ svn log > CHANGES
52
+ }
53
+ _, host, path = */^([^\s]+):(.+)$/.match(PUBLISH)
54
+ path = Pathname.new path
55
+ puts "Publish: Host: %s, Path: %s" % [host, path]
56
+ sh %{
57
+ scp pkg/IIrcv.#{APP_VERSION}.dmg #{PUBLISH}/pkg
58
+ scp CHANGES #{PUBLISH}/pkg
59
+ scp -r html/* #{PUBLISH}
60
+ }
61
+ end
62
+
63
+ desc 'Make Localized nib from English.lproj and Lang.lproj/nib.strings'
64
+ rule(/.nib$/ => [proc {|tn| File.dirname(tn) + '/nib.strings' }]) do |t|
65
+ p t.name
66
+ lproj = File.dirname(t.name)
67
+ target = File.basename(t.name)
68
+ sh %{
69
+ rm -rf #{t.name}
70
+ nibtool -d #{lproj}/nib.strings -w #{t.name} English.lproj/#{target}
71
+ }
72
+ end
73
+
74
+ # File tasks
75
+ desc 'Make executable Application Bundle'
76
+ file TARGET => [:clean, APPNAME] + LOCALENIB do
77
+ sh %{
78
+ mkdir -p "#{APPNAME}.app/Contents/MacOS"
79
+ mkdir "#{APPNAME}.app/Contents/Resources"
80
+ cp -rp #{RESOURCES.join(' ')} "#{APPNAME}.app/Contents/Resources"
81
+ cp '#{APPNAME}' "#{APPNAME}.app/Contents/MacOS"
82
+ echo -n "APPL????" > "#{APPNAME}.app/Contents/PkgInfo"
83
+ echo #{APP_VERSION} > "#{APPNAME}.app/Contents/Resources/VERSION"
84
+ }
85
+ File.open("#{APPNAME}.app/Contents/Info.plist", "w") do |f|
86
+ f.puts ERB.new(File.read("Info.plist.erb")).result
87
+ end
88
+ end
89
+
90
+ file APPNAME => ['main.m'] do
91
+ # Universal Binary
92
+ sh %{gcc -arch ppc -arch i386 -Wall -lobjc -framework RubyCocoa main.m -o '#{APPNAME}'}
93
+ end
94
+
95
+ desc 'Install the application bundle in /Applications'
96
+ task :install => [TARGET] do
97
+ sh "cp -R #{APPNAME}.app /Applications", :verbose => true
98
+ end
99
+ directory 'pkg'
100
+
@@ -0,0 +1,86 @@
1
+ require "drb"
2
+ require "drb/acl"
3
+ require "uri"
4
+
5
+ DRb.install_acl(ACL.new(%w{deny all allow 127.0.0.1}))
6
+
7
+ class DistributedViewer
8
+ attr_reader :web_view
9
+
10
+ def initialize(web_view, url_field)
11
+ @web_view = web_view
12
+ @url_field = url_field
13
+ end
14
+
15
+ def render_html(html, url = nil)
16
+ begin
17
+ if url
18
+ uri = URI.parse(url)
19
+ base_url = "#{uri.scheme}://#{uri.host}"
20
+ @url_field.setStringValue(url)
21
+ url = NSURL.URLWithString(base_url)
22
+ end
23
+ @web_view.mainFrame.loadHTMLString_baseURL(html, url)
24
+ rescue => e
25
+ log(e)
26
+ end
27
+ end
28
+
29
+ def print(path = nil)
30
+ if path
31
+ # TODO: fix printing
32
+
33
+ # =========
34
+ # = Alt I =
35
+ # =========
36
+ # rect = @web_view.mainFrame.frameView.documentView.bounds
37
+ # view = @web_view.mainFrame.frameView.documentView
38
+ # print_operation = NSPrintOperation.PDFOperationWithView_insideRect_toPath_printInfo(view,
39
+ # rect,
40
+ # path,
41
+ # NSPrintInfo.sharedPrintInfo)
42
+ # print_operation.runOperation
43
+
44
+ # ======================================================================
45
+ # = Alt II : http://www.cocoadev.com/index.pl?GettingViewContentAsImage =
46
+ # ======================================================================
47
+ print_info = NSPrintInfo.sharedPrintInfo
48
+ print_info.setJobDisposition(NSPrintSaveJob)
49
+ print_info.dictionary.setObject_forKey(path, NSPrintSavePath)
50
+ print_info.dictionary.setObject_forKey(1, NSPrintFirstPage)
51
+ print_info.dictionary.setObject_forKey(1, NSPrintLastPage)
52
+ print_info.dictionary.setObject_forKey("Letter", NSPrintPaperName)
53
+ print_info.setBottomMargin(0.0)
54
+ print_info.setTopMargin(0.0)
55
+ print_info.setLeftMargin(0.0)
56
+ print_info.setRightMargin(0.0)
57
+
58
+ operation = NSPrintOperation.printOperationWithView_printInfo(@web_view.mainFrame.frameView.documentView, print_info)
59
+ operation.setShowPanels(false)
60
+ operation.runOperation
61
+
62
+ # ===============================================================
63
+ # = Alt III : /Developer/Examples/RubyCocoa/Scripts/darkroom.rb =
64
+ # ===============================================================
65
+ # viewport = @web_view.mainFrame.frameView.documentView
66
+ # log(1)
67
+ # # viewport.window.orderFront(nil)
68
+ # viewport.window.display
69
+ # log(2)
70
+ # # viewport.window.setContentSize(viewport.bounds)
71
+ # viewport.setFrame(viewport.bounds)
72
+ # log(3)
73
+ # viewport.lockFocus
74
+ # log(4)
75
+ # bitmap = NSBitmapImageRep.alloc.initWithFocusedViewRect(viewport.bounds)
76
+ # viewport.unLockFocus
77
+ # log(5)
78
+ # log(bitmap)
79
+ # bitmap.representationUsingType_properties(NSPNGFileType, nil).writeToFile_atomically(path, true)
80
+ # log(6)
81
+ else
82
+ @web_view.print(nil)
83
+ end
84
+ end
85
+
86
+ end
@@ -0,0 +1,7 @@
1
+ #import <RubyCocoa/RBRuntime.h>
2
+
3
+ int main(int argc, const char* argv[])
4
+ {
5
+ return RBApplicationMain("main.rb", argc, argv);
6
+ }
7
+
@@ -0,0 +1,27 @@
1
+
2
+ begin
3
+ require 'rubygems'
4
+ rescue LoadError
5
+ end
6
+ require 'osx/cocoa'
7
+ require 'pathname'
8
+
9
+ def log(*args)
10
+ args.each do |m|
11
+ OSX.NSLog m.inspect
12
+ end
13
+ end
14
+
15
+ def _(key)
16
+ NSLocalizedString(key, '').to_s
17
+ end
18
+
19
+ path = Pathname.new OSX::NSBundle.mainBundle.resourcePath.fileSystemRepresentation
20
+ Pathname.glob(path + '*.rb') do |file|
21
+ next if file.to_s == __FILE__
22
+ require(file)
23
+ end
24
+ OSX::NSApplication.sharedApplication
25
+ OSX.NSApplicationMain(0, nil)
26
+
27
+
@@ -0,0 +1,64 @@
1
+ require 'webrick'
2
+ require 'webrick/https'
3
+
4
+ module Celerity
5
+
6
+ class PostHandler < WEBrick::HTTPServlet::AbstractServlet
7
+ def do_POST(req, resp)
8
+ resp['content-type'] = 'text/html'
9
+ resp.body << "You posted the following content:\n"
10
+ resp.body << req.body
11
+ end
12
+ end
13
+
14
+ class PlainTextHandler < WEBrick::HTTPServlet::AbstractServlet
15
+ def do_GET(req, resp)
16
+ resp['content-type'] = 'text/plain'
17
+ resp.body << "This is text/plain"
18
+ end
19
+ end
20
+
21
+ class SpecServer
22
+ attr_reader :host, :thread, :log_file
23
+
24
+ def initialize(opts = {})
25
+ @ssl = opts[:ssl] || false
26
+ @doc_root = opts[:doc_root] || File.join(File.dirname(__FILE__),"..", "spec", "html")
27
+ @log_file = opts[:log_file] || File.join(File.dirname(__FILE__), "..", "log", "webrick_log.txt")
28
+ @port = opts[:port] || 2000
29
+ end
30
+
31
+ def run
32
+ unless File.exist?(@log_file)
33
+ FileUtils.mkdir_p(File.dirname(@log_file))
34
+ FileUtils.touch(@log_file)
35
+ end
36
+
37
+ server_options = {
38
+ :Port => @port,
39
+ :DocumentRoot => @doc_root,
40
+ :Logger => WEBrick::Log.new(@log_file, WEBrick::BasicLog::WARN),
41
+ :AccessLog => [],
42
+ }
43
+
44
+ if @ssl
45
+ # java complains about this certifcate, need to create our own (when running under MRI)
46
+ server_options.merge!(
47
+ :SSLEnable => true,
48
+ :SSLVerifyClient => ::OpenSSL::SSL::VERIFY_NONE,
49
+ :SSLCertName => [["CN", "Celerity"]]
50
+ )
51
+ @host = "https://localhost:#{@port}"
52
+ else
53
+ @host = "http://localhost:#{@port}"
54
+ end
55
+
56
+ server = WEBrick::HTTPServer.new(server_options)
57
+ server.mount("/", WEBrick::HTTPServlet::FileHandler, @doc_root, {:FancyIndexing=>true})
58
+ server.mount("/post_to_me", PostHandler)
59
+ server.mount("/plain_text", PlainTextHandler)
60
+
61
+ @thread = Thread.new { server.start }
62
+ end
63
+ end
64
+ end
@@ -1,3 +1,4 @@
1
+ desc "Run benchmark scripts"
1
2
  task :benchmark do
2
3
  Dir[File.dirname(__FILE__) + "/../benchmark/*.rb"].each { |f| load f }
3
4
  end
@@ -0,0 +1,4 @@
1
+ desc 'Generate RDoc'
2
+ task :rdoc do
3
+ puts `rdoc --inline-source --line-numbers --title 'Celerity Documentation' --opname index.html --main README.txt lib History.txt License.txt README.txt`
4
+ end
@@ -4,6 +4,7 @@ rescue LoadError
4
4
  require 'rubygems'
5
5
  require 'spec'
6
6
  end
7
+
7
8
  begin
8
9
  require 'spec/rake/spectask'
9
10
  rescue LoadError
@@ -14,10 +15,16 @@ EOS
14
15
  exit(0)
15
16
  end
16
17
 
17
- desc "Run the specs under spec/models"
18
+ desc "Run the specs under spec/"
18
19
  Spec::Rake::SpecTask.new do |t|
19
20
  t.spec_opts = ['--options', "spec/spec.opts"]
20
21
  t.spec_files = FileList['spec/**/*_spec.rb']
21
- # t.rcov = true
22
- # t.rcov_opts = ['--exclude', 'spec,fcntl,path_helper']
22
+
23
+ begin
24
+ require 'rcov'
25
+ t.rcov = true
26
+ t.rcov_opts = ['--exclude', 'spec,fcntl,path_helper', '--no-rcovrt']
27
+ rescue LoadError
28
+ end
29
+
23
30
  end