Sha256: 38b36bef874f5a2848c1646745537a1eca34e5a9218be6fb3e74242879be7519

Contents?: true

Size: 1.63 KB

Versions: 21

Compression:

Stored size: 1.63 KB

Contents

require File.join(File.dirname(__FILE__),'generator_spec_helper')

describe "Generator" do
  appname = 'mynewapp'
  source = 'mysource'
  path = File.expand_path(File.join(File.dirname(__FILE__)))
  
  before(:each) do
    FileUtils.mkdir_p '/tmp'
  end
  
  describe "AppGenerator" do
    it "should complain if no name is specified" do
      lambda {
        Rhosync::AppGenerator.new('/tmp',{})
      }.should raise_error(Templater::TooFewArgumentsError)
    end
    
    before(:each) do
      @generator = Rhosync::AppGenerator.new('/tmp',{},appname)
    end
    
    it "should create new application files" do
      SecureRandom.should_receive(:hex).with(64).any_number_of_times
      [ 
        'config.ru',
        "application.rb",
        'settings/settings.yml',
        'settings/license.key',
        'Rakefile',
        'spec/spec_helper.rb'
      ].each do |template|
        @generator.should create("/tmp/#{appname}/#{template}")
      end
    end
  end
  
  describe "SourceGenerator" do
    it "should complain if no name is specified" do
      lambda {
        Rhosync::SourceGenerator.new('/tmp',{})
      }.should raise_error(Templater::TooFewArgumentsError)
    end
    
    before(:each) do
      FileUtils.rm_rf "/tmp/#{appname}"
      @app_generator = Rhosync::AppGenerator.new('/tmp',{},appname)
      @app_generator.invoke!
      @generator = Rhosync::SourceGenerator.new("/tmp/#{appname}",{},source)
    end
    
    it "should create new source adapter and spec" do
      @generator.should create("/tmp/#{appname}/sources/#{source}.rb")
      @generator.should create("/tmp/#{appname}/spec/sources/#{source}_spec.rb")
    end
  end
  
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
rhosync-2.1.18.beta2 spec/generator/generator_spec.rb
rhosync-2.1.18.beta1 spec/generator/generator_spec.rb
rhosync-2.1.17 spec/generator/generator_spec.rb
rhosync-2.1.17.beta7 spec/generator/generator_spec.rb
rhosync-2.1.17.beta6 spec/generator/generator_spec.rb
rhosync-2.1.17.beta5 spec/generator/generator_spec.rb
rhosync-2.1.17.beta4 spec/generator/generator_spec.rb
rhosync-2.1.17.beta3 spec/generator/generator_spec.rb
rhosync-2.1.17.beta2 spec/generator/generator_spec.rb
rhosync-2.1.17.beta1 spec/generator/generator_spec.rb
rhosync-2.1.16 spec/generator/generator_spec.rb
rhosync-2.1.15 spec/generator/generator_spec.rb
rhosync-2.1.14 spec/generator/generator_spec.rb
rhosync-2.1.13 spec/generator/generator_spec.rb
rhosync-2.1.12 spec/generator/generator_spec.rb
rhosync-2.1.11 spec/generator/generator_spec.rb
rhosync-2.1.10 spec/generator/generator_spec.rb
rhosync-2.1.7 spec/generator/generator_spec.rb
rhosync-2.1.6 spec/generator/generator_spec.rb
rhosync-2.1.3 spec/generator/generator_spec.rb