taza 0.9.1.2 → 0.9.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +1 -0
- data/.travis.yml +6 -51
- data/README.md +1 -0
- data/bin/taza +2 -15
- data/lib/taza.rb +7 -0
- data/lib/taza/generators/flow_generator.rb +17 -0
- data/lib/taza/generators/page_generator.rb +29 -0
- data/lib/taza/generators/partial_generator.rb +33 -0
- data/lib/taza/generators/project_generator.rb +30 -0
- data/lib/taza/generators/site_generator.rb +26 -0
- data/lib/taza/generators/taza_generators.rb +18 -0
- data/lib/taza/generators/templates/flow/flow.rb.tt +9 -0
- data/lib/taza/generators/templates/page/page.rb.tt +8 -0
- data/{generators/page/templates/functional_page_spec.rb.erb → lib/taza/generators/templates/page/page_spec.rb.tt} +2 -2
- data/lib/taza/generators/templates/partial/partial.rb.tt +8 -0
- data/lib/{app_generators/taza/templates/Gemfile.erb → taza/generators/templates/project/Gemfile.tt} +1 -1
- data/lib/taza/generators/templates/project/Rakefile.tt +13 -0
- data/lib/taza/generators/templates/project/config.yml.tt +3 -0
- data/lib/{app_generators/taza/templates → taza/generators/templates/project}/console.cmd.erb +0 -0
- data/lib/{app_generators/taza/templates → taza/generators/templates/project}/console.erb +0 -0
- data/lib/{app_generators/taza/templates/spec_helper.rb.erb → taza/generators/templates/project/spec_helper.rb.tt} +0 -0
- data/lib/taza/generators/templates/project/taza.tt +3 -0
- data/lib/taza/generators/templates/site/site.rb.tt +10 -0
- data/lib/taza/generators/templates/site/site.yml.tt +3 -0
- data/lib/taza/page.rb +7 -2
- data/lib/taza/site.rb +1 -1
- data/lib/taza/version.rb +1 -1
- data/spec/generators/flow_generator_spec.rb +26 -0
- data/spec/generators/page_generator_spec.rb +53 -0
- data/spec/generators/partial_generator_spec.rb +26 -0
- data/spec/generators/project_generator_spec.rb +76 -0
- data/spec/generators/site_generator_spec.rb +57 -0
- data/spec/{taza_bin_spec.rb → generators/taza_bin_spec.rb} +0 -0
- data/spec/spec_helper.rb +27 -2
- data/spec/{array_spec.rb → taza/array_spec.rb} +0 -0
- data/spec/{browser_spec.rb → taza/browser_spec.rb} +5 -3
- data/spec/{entity_spec.rb → taza/entity_spec.rb} +0 -0
- data/spec/{fixture_spec.rb → taza/fixture_spec.rb} +2 -1
- data/spec/{fixtures_spec.rb → taza/fixtures_spec.rb} +0 -0
- data/spec/{hash_spec.rb → taza/hash_spec.rb} +0 -0
- data/spec/{page_module_spec.rb → taza/page_module_spec.rb} +0 -0
- data/spec/{page_spec.rb → taza/page_spec.rb} +5 -1
- data/spec/{settings_spec.rb → taza/settings_spec.rb} +12 -12
- data/spec/{site_fixtures_spec.rb → taza/site_fixtures_spec.rb} +0 -0
- data/spec/{site_spec.rb → taza/site_spec.rb} +8 -11
- data/spec/{string_spec.rb → taza/string_spec.rb} +0 -0
- data/spec/{taza_tasks_spec.rb → taza/taza_tasks_spec.rb} +8 -9
- data/taza.gemspec +5 -6
- metadata +145 -110
- data/generators/flow/flow_generator.rb +0 -57
- data/generators/flow/templates/flow.rb.erb +0 -9
- data/generators/page/page_generator.rb +0 -58
- data/generators/page/templates/page.rb.erb +0 -8
- data/generators/partial/partial_generator.rb +0 -57
- data/generators/partial/templates/partial.rb.erb +0 -7
- data/generators/site/site_generator.rb +0 -57
- data/generators/site/templates/site.rb.erb +0 -10
- data/generators/site/templates/site.yml.erb +0 -3
- data/lib/app_generators/taza/taza_generator.rb +0 -76
- data/lib/app_generators/taza/templates/config.yml.erb +0 -3
- data/lib/app_generators/taza/templates/rakefile.rb.erb +0 -13
- data/spec/flow_generator_spec.rb +0 -47
- data/spec/page_generator_spec.rb +0 -56
- data/spec/partial_generator_spec.rb +0 -38
- data/spec/project_generator_spec.rb +0 -42
- data/spec/site_generator_spec.rb +0 -56
@@ -1,57 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'rubigen'
|
3
|
-
require 'active_support'
|
4
|
-
|
5
|
-
class FlowGenerator < RubiGen::Base
|
6
|
-
default_options :author => nil
|
7
|
-
attr_reader :site_name,:name
|
8
|
-
|
9
|
-
def initialize(runtime_args, runtime_options = {})
|
10
|
-
super
|
11
|
-
usage if args.size != 2
|
12
|
-
@name = args.shift
|
13
|
-
@site_name=args.shift
|
14
|
-
check_if_site_exists
|
15
|
-
extract_options
|
16
|
-
end
|
17
|
-
|
18
|
-
def check_if_site_exists
|
19
|
-
unless File.directory?(File.join(destination_root,'lib','sites',site_name.underscore))
|
20
|
-
$stderr.puts "******No such site #{site_name} exists.******"
|
21
|
-
usage
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
def manifest
|
26
|
-
record do |m|
|
27
|
-
m.template "flow.rb.erb", File.join('lib','sites', site_name.underscore, "flows", "#{name.underscore}.rb")
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
protected
|
32
|
-
def banner
|
33
|
-
<<-EOS
|
34
|
-
Creates a taza flow for a given taza site, site you are making a flow for must exist first.
|
35
|
-
|
36
|
-
USAGE: #{$0} #{spec.name} flow_name site_name
|
37
|
-
EOS
|
38
|
-
end
|
39
|
-
|
40
|
-
def add_options!(opts)
|
41
|
-
# opts.separator ''
|
42
|
-
# opts.separator 'Options:'
|
43
|
-
# For each option below, place the default
|
44
|
-
# at the top of the file next to "default_options"
|
45
|
-
# opts.on("-a", "--author=\"Your Name\"", String,
|
46
|
-
# "Some comment about this option",
|
47
|
-
# "Default: none") { |options[:author]| }
|
48
|
-
# opts.on("-v", "--version", "Show the #{File.basename($0)} version number and quit.")
|
49
|
-
end
|
50
|
-
|
51
|
-
def extract_options
|
52
|
-
# for each option, extract it into a local variable (and create an "attr_reader :author" at the top)
|
53
|
-
# Templates can access these value via the attr_reader-generated methods, but not the
|
54
|
-
# raw instance variable value.
|
55
|
-
# @author = options[:author]
|
56
|
-
end
|
57
|
-
end
|
@@ -1,58 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'rubigen'
|
3
|
-
require 'active_support'
|
4
|
-
|
5
|
-
class PageGenerator < RubiGen::Base
|
6
|
-
default_options :author => nil
|
7
|
-
attr_reader :site_name,:name
|
8
|
-
|
9
|
-
def initialize(runtime_args, runtime_options = {})
|
10
|
-
super
|
11
|
-
usage if args.size != 2
|
12
|
-
@name = args.shift
|
13
|
-
@site_name=args.shift
|
14
|
-
check_if_site_exists
|
15
|
-
extract_options
|
16
|
-
end
|
17
|
-
|
18
|
-
def check_if_site_exists
|
19
|
-
unless File.directory?(File.join(destination_root,'lib','sites',site_name.underscore))
|
20
|
-
$stderr.puts "******No such site #{site_name} exists.******"
|
21
|
-
usage
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
def manifest
|
26
|
-
record do |m|
|
27
|
-
m.template "page.rb.erb", File.join('lib','sites', site_name.underscore, "pages", "#{name.underscore}_page.rb")
|
28
|
-
m.template "functional_page_spec.rb.erb", File.join('spec','isolation',site_name.underscore,"#{name.underscore}_page_spec.rb")
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
protected
|
33
|
-
def banner
|
34
|
-
<<-EOS
|
35
|
-
Creates a taza page for a given taza site, site you are making a page for must exist first.
|
36
|
-
|
37
|
-
USAGE: #{$0} #{spec.name} page_name site_name
|
38
|
-
EOS
|
39
|
-
end
|
40
|
-
|
41
|
-
def add_options!(opts)
|
42
|
-
# opts.separator ''
|
43
|
-
# opts.separator 'Options:'
|
44
|
-
# For each option below, place the default
|
45
|
-
# at the top of the file next to "default_options"
|
46
|
-
# opts.on("-a", "--author=\"Your Name\"", String,
|
47
|
-
# "Some comment about this option",
|
48
|
-
# "Default: none") { |options[:author]| }
|
49
|
-
# opts.on("-v", "--version", "Show the #{File.basename($0)} version number and quit.")
|
50
|
-
end
|
51
|
-
|
52
|
-
def extract_options
|
53
|
-
# for each option, extract it into a local variable (and create an "attr_reader :author" at the top)
|
54
|
-
# Templates can access these value via the attr_reader-generated methods, but not the
|
55
|
-
# raw instance variable value.
|
56
|
-
# @author = options[:author]
|
57
|
-
end
|
58
|
-
end
|
@@ -1,57 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'rubigen'
|
3
|
-
require 'active_support'
|
4
|
-
|
5
|
-
class PartialGenerator < RubiGen::Base
|
6
|
-
default_options :author => nil
|
7
|
-
attr_reader :site_name,:name
|
8
|
-
|
9
|
-
def initialize(runtime_args, runtime_options = {})
|
10
|
-
super
|
11
|
-
usage if args.size != 2
|
12
|
-
@name = args.shift
|
13
|
-
@site_name=args.shift
|
14
|
-
check_if_site_exists
|
15
|
-
extract_options
|
16
|
-
end
|
17
|
-
|
18
|
-
def check_if_site_exists
|
19
|
-
unless File.directory?(File.join(destination_root,'lib','sites',site_name.underscore))
|
20
|
-
$stderr.puts "******No such site #{site_name} exists.******"
|
21
|
-
usage
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
def manifest
|
26
|
-
record do |m|
|
27
|
-
m.template "partial.rb.erb", File.join('lib','sites', site_name.underscore, "pages", "partials", "#{name.underscore}.rb")
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
protected
|
32
|
-
def banner
|
33
|
-
<<-EOS
|
34
|
-
Creates a taza partial for a given taza site, site you are making a partial for must exist first.
|
35
|
-
|
36
|
-
USAGE: #{$0} #{spec.name} partial_name site_name
|
37
|
-
EOS
|
38
|
-
end
|
39
|
-
|
40
|
-
def add_options!(opts)
|
41
|
-
# opts.separator ''
|
42
|
-
# opts.separator 'Options:'
|
43
|
-
# For each option below, place the default
|
44
|
-
# at the top of the file next to "default_options"
|
45
|
-
# opts.on("-a", "--author=\"Your Name\"", String,
|
46
|
-
# "Some comment about this option",
|
47
|
-
# "Default: none") { |options[:author]| }
|
48
|
-
# opts.on("-v", "--version", "Show the #{File.basename($0)} version number and quit.")
|
49
|
-
end
|
50
|
-
|
51
|
-
def extract_options
|
52
|
-
# for each option, extract it into a local variable (and create an "attr_reader :author" at the top)
|
53
|
-
# Templates can access these value via the attr_reader-generated methods, but not the
|
54
|
-
# raw instance variable value.
|
55
|
-
# @author = options[:author]
|
56
|
-
end
|
57
|
-
end
|
@@ -1,57 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'rubigen'
|
3
|
-
require 'active_support'
|
4
|
-
|
5
|
-
class SiteGenerator < RubiGen::Base
|
6
|
-
default_options :author => nil
|
7
|
-
attr_reader :name
|
8
|
-
|
9
|
-
def initialize(runtime_args, runtime_options = {})
|
10
|
-
super
|
11
|
-
usage if args.empty?
|
12
|
-
@name = args.shift
|
13
|
-
extract_options
|
14
|
-
end
|
15
|
-
|
16
|
-
def manifest
|
17
|
-
record do |m|
|
18
|
-
site_path = File.join('lib','sites')
|
19
|
-
m.template "site.rb.erb", File.join(site_path,"#{name.underscore}.rb")
|
20
|
-
m.directory File.join(site_path,"#{name.underscore}")
|
21
|
-
m.directory File.join(site_path,("#{name.underscore}"),"flows")
|
22
|
-
m.directory File.join(site_path,("#{name.underscore}"),"pages")
|
23
|
-
m.directory File.join(site_path,("#{name.underscore}"),"pages","partials")
|
24
|
-
m.directory File.join('spec','isolation',name.underscore)
|
25
|
-
m.directory File.join('spec','support',name.underscore)
|
26
|
-
m.template "site.yml.erb", File.join('config',"#{name.underscore}.yml")
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
protected
|
31
|
-
def banner
|
32
|
-
<<-EOS
|
33
|
-
Creates a taza site.
|
34
|
-
|
35
|
-
USAGE: #{$0} #{spec.name} name
|
36
|
-
EOS
|
37
|
-
end
|
38
|
-
|
39
|
-
def add_options!(opts)
|
40
|
-
# opts.separator ''
|
41
|
-
# opts.separator 'Options:'
|
42
|
-
# For each option below, place the default
|
43
|
-
# at the top of the file next to "default_options"
|
44
|
-
# opts.on("-a", "--author=\"Your Name\"", String,
|
45
|
-
# "Some comment about this option",
|
46
|
-
# "Default: none") { |options[:author]| }
|
47
|
-
# opts.on("-v", "--version", "Show the #{File.basename($0)} version number and quit.")
|
48
|
-
end
|
49
|
-
|
50
|
-
def extract_options
|
51
|
-
# for each option, extract it into a local variable (and create an "attr_reader :author" at the top)
|
52
|
-
# Templates can access these value via the attr_reader-generated methods, but not the
|
53
|
-
# raw instance variable value.
|
54
|
-
# @author = options[:author]
|
55
|
-
end
|
56
|
-
|
57
|
-
end
|
@@ -1,76 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'rubigen'
|
3
|
-
require 'taza'
|
4
|
-
class TazaGenerator < RubiGen::Base
|
5
|
-
DEFAULT_SHEBANG = File.join(Config::CONFIG['bindir'],
|
6
|
-
Config::CONFIG['ruby_install_name'])
|
7
|
-
|
8
|
-
default_options :author => nil
|
9
|
-
|
10
|
-
attr_reader :name
|
11
|
-
|
12
|
-
def initialize(runtime_args, runtime_options = {})
|
13
|
-
super
|
14
|
-
usage if args.empty?
|
15
|
-
@destination_root = File.expand_path(args.shift)
|
16
|
-
@name = base_name
|
17
|
-
extract_options
|
18
|
-
end
|
19
|
-
|
20
|
-
def manifest
|
21
|
-
record do |m|
|
22
|
-
create_directories(m)
|
23
|
-
m.template "rakefile.rb.erb", "Rakefile"
|
24
|
-
m.template "Gemfile.erb", "Gemfile"
|
25
|
-
m.template "config.yml.erb", File.join("config","config.yml")
|
26
|
-
m.template "spec_helper.rb.erb", File.join("spec","spec_helper.rb")
|
27
|
-
m.dependency "install_rubigen_scripts", [destination_root, 'taza'],
|
28
|
-
:shebang => options[:shebang], :collision => :force
|
29
|
-
m.template "console.erb", File.join("script","console"), {:chmod => 0755}
|
30
|
-
m.template "console.cmd.erb", File.join("script","console.cmd")
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
def create_directories(m)
|
35
|
-
BASEDIRS.each { |path| m.directory path }
|
36
|
-
m.directory File.join('lib','sites')
|
37
|
-
m.directory File.join('spec','isolation')
|
38
|
-
m.directory File.join('spec','integration')
|
39
|
-
m.directory File.join('spec','story')
|
40
|
-
m.directory 'script'
|
41
|
-
end
|
42
|
-
|
43
|
-
protected
|
44
|
-
def banner
|
45
|
-
<<-EOS
|
46
|
-
USAGE: #{spec.name} path/for/your/test/project [options]
|
47
|
-
EOS
|
48
|
-
end
|
49
|
-
|
50
|
-
def add_options!(opts)
|
51
|
-
opts.separator ''
|
52
|
-
opts.separator 'Options:'
|
53
|
-
# For each option below, place the default
|
54
|
-
# at the top of the file next to "default_options"
|
55
|
-
# opts.on("-a", "--author=\"Your Name\"", String,
|
56
|
-
# "Some comment about this option",
|
57
|
-
# "Default: none") { |options[:author]| }
|
58
|
-
opts.on("-v", "--version", "Show the #{File.basename($0)} version number and quit.")
|
59
|
-
end
|
60
|
-
|
61
|
-
def extract_options
|
62
|
-
# for each option, extract it into a local variable (and create an "attr_reader :author" at the top)
|
63
|
-
# Templates can access these value via the attr_reader-generated methods, but not the
|
64
|
-
# raw instance variable value.
|
65
|
-
# @author = options[:author]
|
66
|
-
end
|
67
|
-
|
68
|
-
# Installation skeleton. Intermediate directories are automatically
|
69
|
-
# created so don't sweat their absence here.
|
70
|
-
BASEDIRS = %w(
|
71
|
-
lib
|
72
|
-
config
|
73
|
-
script
|
74
|
-
spec
|
75
|
-
)
|
76
|
-
end
|
@@ -1,13 +0,0 @@
|
|
1
|
-
<%= "#Generated at #{Time.now}" %>
|
2
|
-
|
3
|
-
require 'rubygems'
|
4
|
-
require 'bundler/setup'
|
5
|
-
require 'taza/tasks'
|
6
|
-
|
7
|
-
Taza::Rake::Tasks.new do |t|
|
8
|
-
file_hole = FileUtils.mkdir_p "artifacts/#{Time.now.to_i}"
|
9
|
-
t.spec_opts = ["--require taza",
|
10
|
-
"--format html --out #{file_hole}/index.html",
|
11
|
-
"--format p" ,
|
12
|
-
"--format FailingExamplesFormatter --out #{file_hole}/failing_examples.txt"]
|
13
|
-
end
|
data/spec/flow_generator_spec.rb
DELETED
@@ -1,47 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
class Taza::Site
|
4
|
-
def flows
|
5
|
-
flows = []
|
6
|
-
Dir.glob(File.join(path,'flows','*.rb')).each do |file|
|
7
|
-
require file
|
8
|
-
|
9
|
-
flows << "#{self.class.parent.to_s}::#{File.basename(file,'.rb').camelize}".constantize
|
10
|
-
end
|
11
|
-
flows
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
describe "Flow Generation" do
|
16
|
-
include RubiGen::GeneratorTestHelper
|
17
|
-
include Helpers::Generator
|
18
|
-
include Helpers::Taza
|
19
|
-
|
20
|
-
before :all do
|
21
|
-
@site_name = "Foo"
|
22
|
-
@site_folder = File.join(PROJECT_FOLDER,'lib','sites',"gap")
|
23
|
-
@site_file = File.join(PROJECT_FOLDER,'lib','sites',"gap.rb")
|
24
|
-
@flow_name = "CheckOut"
|
25
|
-
end
|
26
|
-
|
27
|
-
before :each do
|
28
|
-
run_generator('taza', [APP_ROOT], generator_sources)
|
29
|
-
@site_class = generate_site(@site_name)
|
30
|
-
end
|
31
|
-
|
32
|
-
after :each do
|
33
|
-
bare_teardown
|
34
|
-
end
|
35
|
-
|
36
|
-
it "should give you usage if you do not give two arguments" do
|
37
|
-
FlowGenerator.any_instance.expects(:usage)
|
38
|
-
lambda { run_generator('flow', [@flow_name], generator_sources) }.should raise_error
|
39
|
-
end
|
40
|
-
|
41
|
-
it "should give you usage if you give a site that does not exist" do
|
42
|
-
FlowGenerator.any_instance.expects(:usage)
|
43
|
-
$stderr.expects(:puts).with(regexp_matches(/NoSuchSite/))
|
44
|
-
lambda { run_generator('flow', [@flow_name,"NoSuchSite"], generator_sources) }.should raise_error
|
45
|
-
end
|
46
|
-
|
47
|
-
end
|
data/spec/page_generator_spec.rb
DELETED
@@ -1,56 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require 'rubygems'
|
3
|
-
require 'fileutils'
|
4
|
-
require 'taza/page'
|
5
|
-
|
6
|
-
describe "Page Generation" do
|
7
|
-
include RubiGen::GeneratorTestHelper
|
8
|
-
include Helpers::Generator
|
9
|
-
include Helpers::Taza
|
10
|
-
|
11
|
-
before :all do
|
12
|
-
@page_name = "CheckOut"
|
13
|
-
end
|
14
|
-
|
15
|
-
before :each do
|
16
|
-
run_generator('taza', [APP_ROOT], generator_sources)
|
17
|
-
@site_class = generate_site('Gap')
|
18
|
-
end
|
19
|
-
|
20
|
-
after :each do
|
21
|
-
bare_teardown
|
22
|
-
end
|
23
|
-
|
24
|
-
it "should give you usage if you do not give two arguments" do
|
25
|
-
PageGenerator.any_instance.expects(:usage)
|
26
|
-
lambda { run_generator('page', [@page_name], generator_sources) }.should raise_error
|
27
|
-
end
|
28
|
-
|
29
|
-
it "should give you usage if you give a site that does not exist" do
|
30
|
-
PageGenerator.any_instance.expects(:usage)
|
31
|
-
$stderr.expects(:puts).with(regexp_matches(/NoSuchSite/))
|
32
|
-
lambda { run_generator('page', [@page_name,"NoSuchSite"], generator_sources) }.should raise_error
|
33
|
-
end
|
34
|
-
|
35
|
-
it "should generate a page spec that can be required" do
|
36
|
-
run_generator('page', [@page_name,@site_class.to_s], generator_sources)
|
37
|
-
page_functional_spec = File.join(PROJECT_FOLDER,'spec','isolation',@site_class.to_s.underscore,'check_out_page_spec.rb')
|
38
|
-
system("ruby -c #{page_functional_spec} > #{null_device}").should be_true
|
39
|
-
end
|
40
|
-
|
41
|
-
it "should be able to access the generated page from the site" do
|
42
|
-
run_generator('page', [@page_name,@site_class.to_s], generator_sources)
|
43
|
-
stub_settings
|
44
|
-
stub_browser
|
45
|
-
@site_class.new.check_out_page
|
46
|
-
end
|
47
|
-
|
48
|
-
it "should be able to access the generated page for its site" do
|
49
|
-
stub_browser
|
50
|
-
stub_settings
|
51
|
-
new_site_class = generate_site('Pag')
|
52
|
-
run_generator('page', [@page_name,@site_class.to_s], generator_sources)
|
53
|
-
run_generator('page', [@page_name,new_site_class.to_s], generator_sources)
|
54
|
-
new_site_class.new.check_out_page.class.should_not eql(@site_class.new.check_out_page.class)
|
55
|
-
end
|
56
|
-
end
|