Sha256: e377eedf1d0332680888ee6e2b281d5ee8a9927af1c7d9e3476f4abd28e387e1

Contents?: true

Size: 1.42 KB

Versions: 65

Compression:

Stored size: 1.42 KB

Contents

require "spec_helper"

# define a custom subclass of the task to make sure classes are copied
class CustomTestTask < SC::Buildfile::Task
  attr_accessor :test_property
end

describe SC::Buildfile, 'dup' do

  it "should clone tasks so that the new tasks belong to the new buildfile" do
    a = SC::Buildfile.define do
      task :foo
    end

    b = a.dup

    a.lookup(:foo).application.should eql(a)
    b.lookup(:foo).application.should eql(b)
  end

  it "should clone tasks, including any custom subclasses" do
    a = SC::Buildfile.define do
      t = define_task CustomTestTask, :foo
      t.test_property = :bar
    end

    b = a.dup

    a.lookup(:foo).class.should eql(CustomTestTask)
    a.lookup(:foo).test_property.should eql(:bar)

    b.lookup(:foo).class.should eql(CustomTestTask)
    b.lookup(:foo).test_property.should eql(:bar)
  end

  it "should clone config" do
    a = SC::Buildfile.define do
      config :all, :foo => :foo
    end

    b = a.dup.define! do
      config :all, :foo => :bar
    end

    a.configs.all.all.foo.should eql(:foo)
    b.configs.all.all.foo.should eql(:bar)
  end

  it "should clone project_type" do
    a = SC::Buildfile.define
    a.project_type = :foo

    a.dup.project_type.should eql(:foo)
  end

  it "should NOT clone the project? status (must be set per-instance)" do
    a = SC::Buildfile.define
    a.project!
    a.project?.should be_true

    a.dup.project?.should be_false
  end


end

Version data entries

65 entries across 65 versions & 1 rubygems

Version Path
sproutcore-1.11.0 spec/lib/buildfile/dup_spec.rb
sproutcore-1.11.0.rc3 spec/lib/buildfile/dup_spec.rb
sproutcore-1.11.0.rc2 spec/lib/buildfile/dup_spec.rb
sproutcore-1.11.0.rc1 spec/lib/buildfile/dup_spec.rb
sproutcore-1.10.3.1 spec/lib/buildfile/dup_spec.rb
sproutcore-1.10.2 spec/lib/buildfile/dup_spec.rb
sproutcore-1.10.1 spec/lib/buildfile/dup_spec.rb
sproutcore-1.10.0 spec/lib/buildfile/dup_spec.rb
sproutcore-1.10.0.rc.3 spec/lib/buildfile/dup_spec.rb
sproutcore-1.10.0.rc.2 spec/lib/buildfile/dup_spec.rb
sproutcore-1.10.0.rc.1 spec/lib/buildfile/dup_spec.rb
sproutcore-1.9.2 spec/lib/buildfile/dup_spec.rb
sproutcore-1.9.1 spec/lib/buildfile/dup_spec.rb
sproutcore-1.9.0 spec/lib/buildfile/dup_spec.rb
sproutcore-1.8.2.1 spec/lib/buildfile/dup_spec.rb
sproutcore-1.8.1 spec/lib/buildfile/dup_spec.rb
sproutcore-1.8.0 spec/lib/buildfile/dup_spec.rb
sproutcore-1.7.1.beta-java spec/lib/buildfile/dup_spec.rb
sproutcore-1.7.1.beta spec/lib/buildfile/dup_spec.rb
sproutcore-1.6.0.1-java spec/lib/buildfile/dup_spec.rb