avh4-rbiphonetest 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +24 -0
- data/Manifest.txt +51 -0
- data/PostInstall.txt +21 -0
- data/README.rdoc +90 -0
- data/Rakefile +24 -0
- data/app_generators/rbiphonetest/USAGE +5 -0
- data/app_generators/rbiphonetest/rbiphonetest_generator.rb +79 -0
- data/app_generators/rbiphonetest/templates/Rakefile +55 -0
- data/app_generators/rbiphonetest/templates/dot_autotest +18 -0
- data/bin/iphoneruby +10 -0
- data/bin/rbiphonetest +18 -0
- data/lib/rbiphonetest.rb +6 -0
- data/lib/rbiphonetest/version.rb +9 -0
- data/rbiphonetest_generators/install_rspec/USAGE +5 -0
- data/rbiphonetest_generators/install_rspec/install_rspec_generator.rb +52 -0
- data/rbiphonetest_generators/install_rspec/templates/spec/spec_helper.rb +7 -0
- data/rbiphonetest_generators/install_rspec/templates/tasks/rspec.rake +9 -0
- data/rbiphonetest_generators/install_test_unit/USAGE +5 -0
- data/rbiphonetest_generators/install_test_unit/install_test_unit_generator.rb +53 -0
- data/rbiphonetest_generators/install_test_unit/templates/tasks/test_unit.rake +11 -0
- data/rbiphonetest_generators/install_test_unit/templates/test/test_helper.rb +8 -0
- data/rbiphonetest_generators/model/USAGE +5 -0
- data/rbiphonetest_generators/model/model_generator.rb +85 -0
- data/rbiphonetest_generators/model/templates/model.h +15 -0
- data/rbiphonetest_generators/model/templates/model.m +22 -0
- data/rbiphonetest_generators/model_rspec/model_rspec_generator.rb +51 -0
- data/rbiphonetest_generators/model_rspec/templates/spec.rb +9 -0
- data/rbiphonetest_generators/model_test_unit/model_test_unit_generator.rb +51 -0
- data/rbiphonetest_generators/model_test_unit/templates/test.rb +7 -0
- data/rbiphonetest_generators/story/USAGE +5 -0
- data/rbiphonetest_generators/story/story_generator.rb +55 -0
- data/rbiphonetest_generators/story/templates/steps.rb +8 -0
- data/rbiphonetest_generators/story/templates/story +13 -0
- data/rbiphonetest_generators/story/templates/story.rb +5 -0
- data/rbiphonetest_generators/story/templates/story_helper.rb +15 -0
- data/script/console +10 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/script/txt2html +82 -0
- data/setup.rb +1585 -0
- data/test/test_generator_helper.rb +29 -0
- data/test/test_helper.rb +2 -0
- data/test/test_install_rspec_generator.rb +46 -0
- data/test/test_install_test_unit_generator.rb +46 -0
- data/test/test_model_generator.rb +70 -0
- data/test/test_rbiphonetest.rb +11 -0
- data/test/test_rbiphonetest_generator.rb +56 -0
- data/test/test_story_generator.rb +49 -0
- metadata +150 -0
@@ -0,0 +1,53 @@
|
|
1
|
+
class InstallTestUnitGenerator < RubiGen::Base
|
2
|
+
|
3
|
+
default_options :author => nil
|
4
|
+
|
5
|
+
attr_reader :name, :module_name
|
6
|
+
|
7
|
+
def initialize(runtime_args, runtime_options = {})
|
8
|
+
super
|
9
|
+
usage if args.empty?
|
10
|
+
@name = args.shift
|
11
|
+
@module_name = File.basename(destination_root).gsub("-", "_").camelize
|
12
|
+
extract_options
|
13
|
+
end
|
14
|
+
|
15
|
+
def manifest
|
16
|
+
record do |m|
|
17
|
+
# Ensure appropriate folder(s) exists
|
18
|
+
m.directory 'test'
|
19
|
+
m.directory 'tasks'
|
20
|
+
|
21
|
+
m.template_copy_each ["test/test_helper.rb"]
|
22
|
+
m.file_copy_each ["tasks/test_unit.rake"]
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
protected
|
28
|
+
def banner
|
29
|
+
<<-EOS
|
30
|
+
Creates a ...
|
31
|
+
|
32
|
+
USAGE: #{$0} #{spec.name} name
|
33
|
+
EOS
|
34
|
+
end
|
35
|
+
|
36
|
+
def add_options!(opts)
|
37
|
+
# opts.separator ''
|
38
|
+
# opts.separator 'Options:'
|
39
|
+
# For each option below, place the default
|
40
|
+
# at the top of the file next to "default_options"
|
41
|
+
# opts.on("-a", "--author=\"Your Name\"", String,
|
42
|
+
# "Some comment about this option",
|
43
|
+
# "Default: none") { |options[:author]| }
|
44
|
+
# opts.on("-v", "--version", "Show the #{File.basename($0)} version number and quit.")
|
45
|
+
end
|
46
|
+
|
47
|
+
def extract_options
|
48
|
+
# for each option, extract it into a local variable (and create an "attr_reader :author" at the top)
|
49
|
+
# Templates can access these value via the attr_reader-generated methods, but not the
|
50
|
+
# raw instance variable value.
|
51
|
+
# @author = options[:author]
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,85 @@
|
|
1
|
+
class ModelGenerator < RubiGen::Base
|
2
|
+
|
3
|
+
default_options :author => nil
|
4
|
+
|
5
|
+
attr_reader :name, :class_name
|
6
|
+
attr_reader :installed_frameworks
|
7
|
+
|
8
|
+
def initialize(runtime_args, runtime_options = {})
|
9
|
+
super
|
10
|
+
usage if args.empty?
|
11
|
+
@name = args.shift.underscore
|
12
|
+
@class_name = @name.camelcase
|
13
|
+
extract_options
|
14
|
+
extract_test_frameworks
|
15
|
+
end
|
16
|
+
|
17
|
+
def manifest
|
18
|
+
record do |m|
|
19
|
+
# Ensure appropriate folder(s) exists
|
20
|
+
m.directory 'Classes'
|
21
|
+
|
22
|
+
# Create stubs
|
23
|
+
m.template "model.h", "Classes/#{class_name}.h"
|
24
|
+
m.template "model.m", "Classes/#{class_name}.m"
|
25
|
+
|
26
|
+
# It is possible for 2+ test frameworks to be installed.
|
27
|
+
# Current behaviour is to generate test stubs for all of them
|
28
|
+
# and let the developer delete files they don't want
|
29
|
+
if installed_frameworks.include? "test_unit"
|
30
|
+
m.dependency "model_test_unit", [name], :destination => destination_root, :collision => :force
|
31
|
+
end
|
32
|
+
if installed_frameworks.include? "rspec"
|
33
|
+
m.dependency "model_rspec", [name], :destination => destination_root, :collision => :force
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
protected
|
39
|
+
def banner
|
40
|
+
<<-EOS
|
41
|
+
Creates an NSObject model (header and implementation files)
|
42
|
+
plus a Ruby test file (either test/unit or rspec).
|
43
|
+
|
44
|
+
USAGE: #{$0} #{spec.name} name
|
45
|
+
EOS
|
46
|
+
end
|
47
|
+
|
48
|
+
def add_options!(opts)
|
49
|
+
# opts.separator ''
|
50
|
+
# opts.separator 'Options:'
|
51
|
+
# For each option below, place the default
|
52
|
+
# at the top of the file next to "default_options"
|
53
|
+
# opts.on("-a", "--author=\"Your Name\"", String,
|
54
|
+
# "Some comment about this option",
|
55
|
+
# "Default: none") { |options[:author]| }
|
56
|
+
# opts.on("-v", "--version", "Show the #{File.basename($0)} version number and quit.")
|
57
|
+
end
|
58
|
+
|
59
|
+
def extract_options
|
60
|
+
# for each option, extract it into a local variable (and create an "attr_reader :author" at the top)
|
61
|
+
# Templates can access these value via the attr_reader-generated methods, but not the
|
62
|
+
# raw instance variable value.
|
63
|
+
# @author = options[:author]
|
64
|
+
end
|
65
|
+
|
66
|
+
# Attempts to determine which test framework is being used
|
67
|
+
# Else prompts user
|
68
|
+
def extract_test_frameworks
|
69
|
+
@installed_frameworks = []
|
70
|
+
@installed_frameworks << "test_unit" if Dir[File.join(destination_root, "test")].length > 0
|
71
|
+
@installed_frameworks << "rspec" if Dir[File.join(destination_root, "spec")].length > 0
|
72
|
+
|
73
|
+
if @installed_frameworks.length == 0
|
74
|
+
# no test-related files created
|
75
|
+
puts <<-EOS
|
76
|
+
WARNING: you do not have a test-framework installed.
|
77
|
+
Run either:
|
78
|
+
script/generate install_test_unit
|
79
|
+
script/generate install_rspec
|
80
|
+
|
81
|
+
and then rerun this generator.
|
82
|
+
EOS
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
//
|
2
|
+
// <%= class_name %>.h
|
3
|
+
// <%= class_name %>
|
4
|
+
//
|
5
|
+
// Created by FIXME on <%= Date.today %>.
|
6
|
+
// Copyright <%= Date.today.year %> FIXME. All rights reserved.
|
7
|
+
//
|
8
|
+
|
9
|
+
#import <Foundation/Foundation.h>
|
10
|
+
|
11
|
+
@interface <%= class_name %> : NSObject {
|
12
|
+
|
13
|
+
}
|
14
|
+
|
15
|
+
@end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
//
|
2
|
+
// <%= class_name %>.h
|
3
|
+
// <%= class_name %>
|
4
|
+
//
|
5
|
+
// Created by FIXME on <%= Date.today %>.
|
6
|
+
// Copyright <%= Date.today.year %> FIXME. All rights reserved.
|
7
|
+
//
|
8
|
+
|
9
|
+
#import "<%= class_name %>.h"
|
10
|
+
|
11
|
+
|
12
|
+
@implementation <%= class_name %>
|
13
|
+
|
14
|
+
@end
|
15
|
+
|
16
|
+
// This initialization function gets called when we import the Ruby module.
|
17
|
+
// It doesn't need to do anything because the RubyCocoa bridge will do
|
18
|
+
// all the initialization work.
|
19
|
+
// The rbiphonetest test framework automatically generates bundles for
|
20
|
+
// each objective-c class containing the following line. These
|
21
|
+
// can be used by your tests.
|
22
|
+
void Init_<%= class_name %>() { }
|
@@ -0,0 +1,51 @@
|
|
1
|
+
class ModelRspecGenerator < RubiGen::Base
|
2
|
+
|
3
|
+
default_options :author => nil
|
4
|
+
|
5
|
+
attr_reader :name, :class_name
|
6
|
+
|
7
|
+
def initialize(runtime_args, runtime_options = {})
|
8
|
+
super
|
9
|
+
usage if args.empty?
|
10
|
+
@name = args.shift.underscore
|
11
|
+
@class_name = @name.camelcase
|
12
|
+
extract_options
|
13
|
+
end
|
14
|
+
|
15
|
+
def manifest
|
16
|
+
record do |m|
|
17
|
+
# Ensure appropriate folder(s) exists
|
18
|
+
m.directory 'spec'
|
19
|
+
|
20
|
+
m.template "spec.rb", "spec/#{name}_spec.rb"
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
protected
|
25
|
+
def banner
|
26
|
+
<<-EOS
|
27
|
+
Creates an RSpec-based spec file for a model.
|
28
|
+
NOTE: this generator is typically called via the 'model' generator.
|
29
|
+
|
30
|
+
USAGE: #{$0} #{spec.name} name
|
31
|
+
EOS
|
32
|
+
end
|
33
|
+
|
34
|
+
def add_options!(opts)
|
35
|
+
# opts.separator ''
|
36
|
+
# opts.separator 'Options:'
|
37
|
+
# For each option below, place the default
|
38
|
+
# at the top of the file next to "default_options"
|
39
|
+
# opts.on("-a", "--author=\"Your Name\"", String,
|
40
|
+
# "Some comment about this option",
|
41
|
+
# "Default: none") { |options[:author]| }
|
42
|
+
# opts.on("-v", "--version", "Show the #{File.basename($0)} version number and quit.")
|
43
|
+
end
|
44
|
+
|
45
|
+
def extract_options
|
46
|
+
# for each option, extract it into a local variable (and create an "attr_reader :author" at the top)
|
47
|
+
# Templates can access these value via the attr_reader-generated methods, but not the
|
48
|
+
# raw instance variable value.
|
49
|
+
# @author = options[:author]
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
class ModelTestUnitGenerator < RubiGen::Base
|
2
|
+
|
3
|
+
default_options :author => nil
|
4
|
+
|
5
|
+
attr_reader :name, :class_name
|
6
|
+
|
7
|
+
def initialize(runtime_args, runtime_options = {})
|
8
|
+
super
|
9
|
+
usage if args.empty?
|
10
|
+
@name = args.shift.underscore
|
11
|
+
@class_name = @name.camelcase
|
12
|
+
extract_options
|
13
|
+
end
|
14
|
+
|
15
|
+
def manifest
|
16
|
+
record do |m|
|
17
|
+
# Ensure appropriate folder(s) exists
|
18
|
+
m.directory 'test'
|
19
|
+
|
20
|
+
m.template "test.rb", "test/test_#{name}.rb"
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
protected
|
25
|
+
def banner
|
26
|
+
<<-EOS
|
27
|
+
Creates an Test/Unit-based test file for a model.
|
28
|
+
NOTE: this generator is typically called via the 'model' generator.
|
29
|
+
|
30
|
+
USAGE: #{$0} #{spec.name} name
|
31
|
+
EOS
|
32
|
+
end
|
33
|
+
|
34
|
+
def add_options!(opts)
|
35
|
+
# opts.separator ''
|
36
|
+
# opts.separator 'Options:'
|
37
|
+
# For each option below, place the default
|
38
|
+
# at the top of the file next to "default_options"
|
39
|
+
# opts.on("-a", "--author=\"Your Name\"", String,
|
40
|
+
# "Some comment about this option",
|
41
|
+
# "Default: none") { |options[:author]| }
|
42
|
+
# opts.on("-v", "--version", "Show the #{File.basename($0)} version number and quit.")
|
43
|
+
end
|
44
|
+
|
45
|
+
def extract_options
|
46
|
+
# for each option, extract it into a local variable (and create an "attr_reader :author" at the top)
|
47
|
+
# Templates can access these value via the attr_reader-generated methods, but not the
|
48
|
+
# raw instance variable value.
|
49
|
+
# @author = options[:author]
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
class StoryGenerator < RubiGen::Base
|
2
|
+
|
3
|
+
default_options :author => nil
|
4
|
+
|
5
|
+
attr_reader :name, :class_name
|
6
|
+
|
7
|
+
def initialize(runtime_args, runtime_options = {})
|
8
|
+
super
|
9
|
+
usage if args.empty?
|
10
|
+
@name = args.shift
|
11
|
+
@class_name = @name.camelcase
|
12
|
+
extract_options
|
13
|
+
end
|
14
|
+
|
15
|
+
def manifest
|
16
|
+
record do |m|
|
17
|
+
# Ensure appropriate folder(s) exists
|
18
|
+
m.directory 'stories'
|
19
|
+
m.directory 'stories/steps'
|
20
|
+
|
21
|
+
# Create stubs
|
22
|
+
m.file "story_helper.rb", "stories/story_helper.rb"
|
23
|
+
m.template "story", "stories/#{name}_story"
|
24
|
+
m.template "story.rb", "stories/#{name}_story.rb"
|
25
|
+
m.template "steps.rb", "stories/steps/#{name}_steps.rb"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
protected
|
30
|
+
def banner
|
31
|
+
<<-EOS
|
32
|
+
Creates a ...
|
33
|
+
|
34
|
+
USAGE: #{$0} #{spec.name} name
|
35
|
+
EOS
|
36
|
+
end
|
37
|
+
|
38
|
+
def add_options!(opts)
|
39
|
+
# opts.separator ''
|
40
|
+
# opts.separator 'Options:'
|
41
|
+
# For each option below, place the default
|
42
|
+
# at the top of the file next to "default_options"
|
43
|
+
# opts.on("-a", "--author=\"Your Name\"", String,
|
44
|
+
# "Some comment about this option",
|
45
|
+
# "Default: none") { |options[:author]| }
|
46
|
+
# opts.on("-v", "--version", "Show the #{File.basename($0)} version number and quit.")
|
47
|
+
end
|
48
|
+
|
49
|
+
def extract_options
|
50
|
+
# for each option, extract it into a local variable (and create an "attr_reader :author" at the top)
|
51
|
+
# Templates can access these value via the attr_reader-generated methods, but not the
|
52
|
+
# raw instance variable value.
|
53
|
+
# @author = options[:author]
|
54
|
+
end
|
55
|
+
end
|