From 1823141b47355c025f2e7fbba51edd17787f7eea Mon Sep 17 00:00:00 2001 From: "Jeffrey S. Morgan" Date: Mon, 26 Sep 2011 08:49:19 -0400 Subject: [PATCH] first passing cuke --- .gitignore | 1 + bin/testgen | 3 +- cucumber.yml | 3 +- features/support/hooks.rb | 6 ++++ features/testgen_project.feature | 8 +++-- lib/testgen.rb | 5 +--- lib/testgen/cli.rb | 11 +++++++ lib/testgen/generators/project.rb | 21 ++++++++++++++ .../generators/project/project_generator.rb | 29 ------------------- 9 files changed, 49 insertions(+), 38 deletions(-) create mode 100644 features/support/hooks.rb create mode 100644 lib/testgen/cli.rb create mode 100644 lib/testgen/generators/project.rb delete mode 100644 lib/testgen/generators/project/project_generator.rb diff --git a/.gitignore b/.gitignore index 4040c6c..2d9c662 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ .bundle Gemfile.lock pkg/* +tmp diff --git a/bin/testgen b/bin/testgen index 81f615b..e7da850 100755 --- a/bin/testgen +++ b/bin/testgen @@ -1,3 +1,4 @@ #!/usr/bin/env ruby -print "nothing" \ No newline at end of file +require 'testgen/cli' +TestGen::CLI.start diff --git a/cucumber.yml b/cucumber.yml index 9926f38..2544ccf 100644 --- a/cucumber.yml +++ b/cucumber.yml @@ -1 +1,2 @@ -default: --no-source \ No newline at end of file +default: --no-source --color --format pretty +autotest: --no-source --color --format pretty diff --git a/features/support/hooks.rb b/features/support/hooks.rb new file mode 100644 index 0000000..d36fe8c --- /dev/null +++ b/features/support/hooks.rb @@ -0,0 +1,6 @@ +require 'fileutils' + +After do + dir = File.join(File.dirname(__FILE__), '../../', 'tmp/aruba/sample') + FileUtils.rm_rf dir +end \ No newline at end of file diff --git a/features/testgen_project.feature b/features/testgen_project.feature index 8daeaa9..b722f59 100644 --- a/features/testgen_project.feature +++ b/features/testgen_project.feature @@ -1,5 +1,7 @@ Feature: Generating a project with TestGen - Scenario: Generating the directory structure - When I run `testgen sample` - Then the output should contain "generating sample directory" + Scenario: Generating the top level project directory + When I run `testgen project sample` + Then a directory named "sample" should exist + + diff --git a/lib/testgen.rb b/lib/testgen.rb index d71b767..e8d75c8 100644 --- a/lib/testgen.rb +++ b/lib/testgen.rb @@ -1,5 +1,2 @@ require "testgen/version" - -module TestGen - # Your code goes here... -end +require 'testgen/cli' diff --git a/lib/testgen/cli.rb b/lib/testgen/cli.rb new file mode 100644 index 0000000..c360d56 --- /dev/null +++ b/lib/testgen/cli.rb @@ -0,0 +1,11 @@ +require 'thor' +require 'testgen/generators/project' + +module TestGen + class CLI < Thor + desc "project ", "Create a new test project" + def project(name) + TestGen::Generators::Project.start([name]) + end + end +end \ No newline at end of file diff --git a/lib/testgen/generators/project.rb b/lib/testgen/generators/project.rb new file mode 100644 index 0000000..7842d02 --- /dev/null +++ b/lib/testgen/generators/project.rb @@ -0,0 +1,21 @@ +require 'thor/group' + +module TestGen + module Generators + class Project < Thor::Group + include Thor::Actions + + argument :name, :type => :string, :desc => 'The name of the project' + desc "Generates a project structure for testing with Cucumber" + + def self.source_root + File.dirname(__FILE__) + end + + def create_top_directory + empty_directory(name) + end + + end + end +end \ No newline at end of file diff --git a/lib/testgen/generators/project/project_generator.rb b/lib/testgen/generators/project/project_generator.rb deleted file mode 100644 index ff37fc9..0000000 --- a/lib/testgen/generators/project/project_generator.rb +++ /dev/null @@ -1,29 +0,0 @@ -module TestGen - class ProjectGenerator < Thor::Group - include Thor::Actions - - argument :name - - def self.source_root - File.dirname(__FILE__) - end - - def gemfile - copy_file 'Gemfile' - end - - def rakefile - copy_file 'Rakefile' - end - - def features - empty_directory 'features' - - inside 'features' do - empty_directory 'support' - empty_directory 'step_definitions' - end - end - - end -end \ No newline at end of file