test/unit/generator_test.rb in sprout-1.1.3.pre vs test/unit/generator_test.rb in sprout-1.1.4.pre
- old
+ new
@@ -56,10 +56,33 @@
assert_matches /public class SomeProject/, content
assert_matches /public function SomeProject/, content
end
end
+ should "not clobber existing files" do
+ dir = File.join(@fixture, 'some_project', 'src')
+ FileUtils.mkdir_p dir
+ File.open File.join(dir, 'SomeProject.as'), 'w+' do |f|
+ f.write "Hello World"
+ end
+ @generator.input = 'some_project'
+ @generator.execute
+ assert_matches /Hello World/, File.read(File.join(dir, 'SomeProject.as'))
+ end
+
+ should "clobber existing files if --force" do
+ dir = File.join(@fixture, 'some_project', 'src')
+ FileUtils.mkdir_p dir
+ File.open File.join(dir, 'SomeProject.as'), 'w+' do |f|
+ f.write "Hello World"
+ end
+ @generator.input = 'some_project'
+ @generator.force = true
+ @generator.execute
+ assert_matches /public function SomeProject/, File.read(File.join(dir, 'SomeProject.as'))
+ end
+
should "call another generator" do
@generator.external = true
@generator.execute
assert_file File.join(@fixture, 'some_project', 'SomeOtherOtherFile') do |content|
assert_matches /We are agents of the free?/, content
@@ -76,10 +99,11 @@
end
should "respect updates from subclasses" do
@generator = configure_generator SubclassedGenerator.new
@generator.input = 'some_project'
+ @generator.force = true
@generator.execute
assert_file File.join(@fixture, 'some_project', 'SomeFile') do |content|
assert_matches /Living Jest enough for the City and SomeProject/, content
end
end
@@ -101,10 +125,10 @@
assert !File.exists?(File.join(@fixture, 'some_project')), "Shouldn't leave half-generated files around"
end
should "notify user of all files created" do
@generator.input = 'some_project'
- @string_io.expects(:puts).with('Skipped existing: .')
+ @string_io.expects(:puts).with('Skipped directory: .')
@string_io.expects(:puts).with('Created directory: ./some_project')
@string_io.expects(:puts).with('Created file: ./some_project/SomeFile')
@string_io.expects(:puts).with('Created file: ./some_project/SomeOtherFile')
@string_io.expects(:puts).with('Created directory: ./some_project/src')
@string_io.expects(:puts).with('Created file: ./some_project/src/SomeProject.as')