<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>spec/datasets/searched_pages_dataset.rb</filename>
    </added>
    <added>
      <filename>spec/models/search_page_spec.rb</filename>
    </added>
    <added>
      <filename>spec/spec.opts</filename>
    </added>
    <added>
      <filename>spec/spec_helper.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,15 +1,102 @@
+# I think this is the one that should be moved to the extension Rakefile template
+
+# In rails 1.2, plugins aren't available in the path until they're loaded.
+# Check to see if the rspec plugin is installed first and require
+# it if it is.  If not, use the gem version.
+
+# Determine where the RSpec plugin is by loading the boot
+unless defined? RADIANT_ROOT
+  ENV[&quot;RAILS_ENV&quot;] = &quot;test&quot;
+  case
+  when ENV[&quot;RADIANT_ENV_FILE&quot;]
+    require File.dirname(ENV[&quot;RADIANT_ENV_FILE&quot;]) + &quot;/boot&quot;
+  when File.dirname(__FILE__) =~ %r{vendor/radiant/vendor/extensions}
+    require &quot;#{File.expand_path(File.dirname(__FILE__) + &quot;/../../../../../&quot;)}/config/boot&quot;
+  else
+    require &quot;#{File.expand_path(File.dirname(__FILE__) + &quot;/../../../&quot;)}/config/boot&quot;
+  end
+end
+
 require 'rake'
-require 'rake/testtask'
 require 'rake/rdoctask'
+require 'rake/testtask'
 
-desc 'Default: run unit tests.'
-task :default =&gt; :test
+rspec_base = File.expand_path(RADIANT_ROOT + '/vendor/plugins/rspec/lib')
+$LOAD_PATH.unshift(rspec_base) if File.exist?(rspec_base)
+require 'spec/rake/spectask'
+# require 'spec/translator'
 
-desc 'Test the search extension.'
-Rake::TestTask.new(:test) do |t|
-  t.libs &lt;&lt; 'lib'
-  t.pattern = 'test/**/*_test.rb'
-  t.verbose = true
+# Cleanup the RADIANT_ROOT constant so specs will load the environment
+Object.send(:remove_const, :RADIANT_ROOT)
+
+extension_root = File.expand_path(File.dirname(__FILE__))
+
+task :default =&gt; :spec
+task :stats =&gt; &quot;spec:statsetup&quot;
+
+desc &quot;Run all specs in spec directory&quot;
+Spec::Rake::SpecTask.new(:spec) do |t|
+  t.spec_opts = ['--options', &quot;\&quot;#{extension_root}/spec/spec.opts\&quot;&quot;]
+  t.spec_files = FileList['spec/**/*_spec.rb']
+end
+
+namespace :spec do
+  desc &quot;Run all specs in spec directory with RCov&quot;
+  Spec::Rake::SpecTask.new(:rcov) do |t|
+    t.spec_opts = ['--options', &quot;\&quot;#{extension_root}/spec/spec.opts\&quot;&quot;]
+    t.spec_files = FileList['spec/**/*_spec.rb']
+    t.rcov = true
+    t.rcov_opts = ['--exclude', 'spec', '--rails']
+  end
+  
+  desc &quot;Print Specdoc for all specs&quot;
+  Spec::Rake::SpecTask.new(:doc) do |t|
+    t.spec_opts = [&quot;--format&quot;, &quot;specdoc&quot;, &quot;--dry-run&quot;]
+    t.spec_files = FileList['spec/**/*_spec.rb']
+  end
+
+  [:models, :controllers, :views, :helpers].each do |sub|
+    desc &quot;Run the specs under spec/#{sub}&quot;
+    Spec::Rake::SpecTask.new(sub) do |t|
+      t.spec_opts = ['--options', &quot;\&quot;#{extension_root}/spec/spec.opts\&quot;&quot;]
+      t.spec_files = FileList[&quot;spec/#{sub}/**/*_spec.rb&quot;]
+    end
+  end
+  
+  # Hopefully no one has written their extensions in pre-0.9 style
+  # desc &quot;Translate specs from pre-0.9 to 0.9 style&quot;
+  # task :translate do
+  #   translator = ::Spec::Translator.new
+  #   dir = RAILS_ROOT + '/spec'
+  #   translator.translate(dir, dir)
+  # end
+
+  # Setup specs for stats
+  task :statsetup do
+    require 'code_statistics'
+    ::STATS_DIRECTORIES &lt;&lt; %w(Model\ specs spec/models)
+    ::STATS_DIRECTORIES &lt;&lt; %w(View\ specs spec/views)
+    ::STATS_DIRECTORIES &lt;&lt; %w(Controller\ specs spec/controllers)
+    ::STATS_DIRECTORIES &lt;&lt; %w(Helper\ specs spec/views)
+    ::CodeStatistics::TEST_TYPES &lt;&lt; &quot;Model specs&quot;
+    ::CodeStatistics::TEST_TYPES &lt;&lt; &quot;View specs&quot;
+    ::CodeStatistics::TEST_TYPES &lt;&lt; &quot;Controller specs&quot;
+    ::CodeStatistics::TEST_TYPES &lt;&lt; &quot;Helper specs&quot;
+    ::STATS_DIRECTORIES.delete_if {|a| a[0] =~ /test/}
+  end
+
+  namespace :db do
+    namespace :fixtures do
+      desc &quot;Load fixtures (from spec/fixtures) into the current environment's database.  Load specific fixtures using FIXTURES=x,y&quot;
+      task :load =&gt; :environment do
+        require 'active_record/fixtures'
+        ActiveRecord::Base.establish_connection(RAILS_ENV.to_sym)
+        (ENV['FIXTURES'] ? ENV['FIXTURES'].split(/,/) : Dir.glob(File.join(RAILS_ROOT, 'spec', 'fixtures', '*.{yml,csv}'))).each do |fixture_file|
+          Fixtures.create_fixtures('spec/fixtures', File.basename(fixture_file, '.*'))
+        end
+      end
+    end
+  end
 end
 
 desc 'Generate documentation for the search extension.'
@@ -21,5 +108,13 @@ Rake::RDocTask.new(:rdoc) do |rdoc|
   rdoc.rdoc_files.include('lib/**/*.rb')
 end
 
+# For extensions that are in transition
+desc 'Test the search extension.'
+Rake::TestTask.new(:test) do |t|
+  t.libs &lt;&lt; 'lib'
+  t.pattern = 'test/**/*_test.rb'
+  t.verbose = true
+end
+
 # Load any custom rakefiles for extension
 Dir[File.dirname(__FILE__) + '/tasks/*.rake'].sort.each { |f| require f }
\ No newline at end of file</diff>
      <filename>Rakefile</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>70bf8a7f5792cf0dc3c138abd2db2d909ba15ef3</id>
    </parent>
  </parents>
  <author>
    <name>Jim Gay</name>
    <email>jim@saturnflyer.com</email>
  </author>
  <url>http://github.com/radiant/radiant-search-extension/commit/2c16926f86344d2175b0fe1d5bb2814969b2d33b</url>
  <id>2c16926f86344d2175b0fe1d5bb2814969b2d33b</id>
  <committed-date>2009-02-05T20:08:43-08:00</committed-date>
  <authored-date>2009-02-05T20:08:43-08:00</authored-date>
  <message>spec</message>
  <tree>b726650e427ea6b7d01d3282d9251cf6cf5b4b9b</tree>
  <committer>
    <name>Jim Gay</name>
    <email>jim@saturnflyer.com</email>
  </committer>
</commit>
