avh4-rbiphonetest 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. data/History.txt +24 -0
  2. data/Manifest.txt +51 -0
  3. data/PostInstall.txt +21 -0
  4. data/README.rdoc +90 -0
  5. data/Rakefile +24 -0
  6. data/app_generators/rbiphonetest/USAGE +5 -0
  7. data/app_generators/rbiphonetest/rbiphonetest_generator.rb +79 -0
  8. data/app_generators/rbiphonetest/templates/Rakefile +55 -0
  9. data/app_generators/rbiphonetest/templates/dot_autotest +18 -0
  10. data/bin/iphoneruby +10 -0
  11. data/bin/rbiphonetest +18 -0
  12. data/lib/rbiphonetest.rb +6 -0
  13. data/lib/rbiphonetest/version.rb +9 -0
  14. data/rbiphonetest_generators/install_rspec/USAGE +5 -0
  15. data/rbiphonetest_generators/install_rspec/install_rspec_generator.rb +52 -0
  16. data/rbiphonetest_generators/install_rspec/templates/spec/spec_helper.rb +7 -0
  17. data/rbiphonetest_generators/install_rspec/templates/tasks/rspec.rake +9 -0
  18. data/rbiphonetest_generators/install_test_unit/USAGE +5 -0
  19. data/rbiphonetest_generators/install_test_unit/install_test_unit_generator.rb +53 -0
  20. data/rbiphonetest_generators/install_test_unit/templates/tasks/test_unit.rake +11 -0
  21. data/rbiphonetest_generators/install_test_unit/templates/test/test_helper.rb +8 -0
  22. data/rbiphonetest_generators/model/USAGE +5 -0
  23. data/rbiphonetest_generators/model/model_generator.rb +85 -0
  24. data/rbiphonetest_generators/model/templates/model.h +15 -0
  25. data/rbiphonetest_generators/model/templates/model.m +22 -0
  26. data/rbiphonetest_generators/model_rspec/model_rspec_generator.rb +51 -0
  27. data/rbiphonetest_generators/model_rspec/templates/spec.rb +9 -0
  28. data/rbiphonetest_generators/model_test_unit/model_test_unit_generator.rb +51 -0
  29. data/rbiphonetest_generators/model_test_unit/templates/test.rb +7 -0
  30. data/rbiphonetest_generators/story/USAGE +5 -0
  31. data/rbiphonetest_generators/story/story_generator.rb +55 -0
  32. data/rbiphonetest_generators/story/templates/steps.rb +8 -0
  33. data/rbiphonetest_generators/story/templates/story +13 -0
  34. data/rbiphonetest_generators/story/templates/story.rb +5 -0
  35. data/rbiphonetest_generators/story/templates/story_helper.rb +15 -0
  36. data/script/console +10 -0
  37. data/script/destroy +14 -0
  38. data/script/generate +14 -0
  39. data/script/txt2html +82 -0
  40. data/setup.rb +1585 -0
  41. data/test/test_generator_helper.rb +29 -0
  42. data/test/test_helper.rb +2 -0
  43. data/test/test_install_rspec_generator.rb +46 -0
  44. data/test/test_install_test_unit_generator.rb +46 -0
  45. data/test/test_model_generator.rb +70 -0
  46. data/test/test_rbiphonetest.rb +11 -0
  47. data/test/test_rbiphonetest_generator.rb +56 -0
  48. data/test/test_story_generator.rb +49 -0
  49. metadata +150 -0
@@ -0,0 +1,29 @@
1
+ begin
2
+ require File.dirname(__FILE__) + '/test_helper'
3
+ rescue LoadError
4
+ require 'test/unit'
5
+ end
6
+ require 'fileutils'
7
+
8
+ # Must set before requiring generator libs.
9
+ TMP_ROOT = File.dirname(__FILE__) + "/tmp" unless defined?(TMP_ROOT)
10
+ PROJECT_NAME = "myproject" unless defined?(PROJECT_NAME)
11
+ app_root = File.join(TMP_ROOT, PROJECT_NAME)
12
+ if defined?(APP_ROOT)
13
+ APP_ROOT.replace(app_root)
14
+ else
15
+ APP_ROOT = app_root
16
+ end
17
+ if defined?(RAILS_ROOT)
18
+ RAILS_ROOT.replace(app_root)
19
+ else
20
+ RAILS_ROOT = app_root
21
+ end
22
+
23
+ begin
24
+ require 'rubigen'
25
+ rescue LoadError
26
+ require 'rubygems'
27
+ require 'rubigen'
28
+ end
29
+ require 'rubigen/helpers/generator_test_helper'
@@ -0,0 +1,2 @@
1
+ require 'test/unit'
2
+ require File.dirname(__FILE__) + '/../lib/rbiphonetest'
@@ -0,0 +1,46 @@
1
+ require File.join(File.dirname(__FILE__), "test_generator_helper.rb")
2
+
3
+
4
+ class TestInstallRspecGenerator < Test::Unit::TestCase
5
+ include RubiGen::GeneratorTestHelper
6
+
7
+ def setup
8
+ bare_setup
9
+ end
10
+
11
+ def teardown
12
+ bare_teardown
13
+ end
14
+
15
+ # Some generator-related assertions:
16
+ # assert_generated_file(name, &block) # block passed the file contents
17
+ # assert_directory_exists(name)
18
+ # assert_generated_class(name, &block)
19
+ # assert_generated_module(name, &block)
20
+ # assert_generated_test_for(name, &block)
21
+ # The assert_generated_(class|module|test_for) &block is passed the body of the class/module within the file
22
+ # assert_has_method(body, *methods) # check that the body has a list of methods (methods with parentheses not supported yet)
23
+ #
24
+ # Other helper methods are:
25
+ # app_root_files - put this in teardown to show files generated by the test method (e.g. p app_root_files)
26
+ # bare_setup - place this in setup method to create the APP_ROOT folder for each test
27
+ # bare_teardown - place this in teardown method to destroy the TMP_ROOT or APP_ROOT folder after each test
28
+
29
+ def test_generator_without_options
30
+ name = "myapp"
31
+ run_generator('install_rspec', [name], sources)
32
+ assert_directory_exists "spec"
33
+ assert_generated_file "spec/spec_helper.rb"
34
+ assert_generated_file "tasks/rspec.rake"
35
+ end
36
+
37
+ private
38
+ def sources
39
+ [RubiGen::PathSource.new(:test, File.join(File.dirname(__FILE__),"..", generator_path))
40
+ ]
41
+ end
42
+
43
+ def generator_path
44
+ "rbiphonetest_generators"
45
+ end
46
+ end
@@ -0,0 +1,46 @@
1
+ require File.join(File.dirname(__FILE__), "test_generator_helper.rb")
2
+
3
+
4
+ class TestInstallTestUnitGenerator < Test::Unit::TestCase
5
+ include RubiGen::GeneratorTestHelper
6
+
7
+ def setup
8
+ bare_setup
9
+ end
10
+
11
+ def teardown
12
+ bare_teardown
13
+ end
14
+
15
+ # Some generator-related assertions:
16
+ # assert_generated_file(name, &block) # block passed the file contents
17
+ # assert_directory_exists(name)
18
+ # assert_generated_class(name, &block)
19
+ # assert_generated_module(name, &block)
20
+ # assert_generated_test_for(name, &block)
21
+ # The assert_generated_(class|module|test_for) &block is passed the body of the class/module within the file
22
+ # assert_has_method(body, *methods) # check that the body has a list of methods (methods with parentheses not supported yet)
23
+ #
24
+ # Other helper methods are:
25
+ # app_root_files - put this in teardown to show files generated by the test method (e.g. p app_root_files)
26
+ # bare_setup - place this in setup method to create the APP_ROOT folder for each test
27
+ # bare_teardown - place this in teardown method to destroy the TMP_ROOT or APP_ROOT folder after each test
28
+
29
+ def test_generator_without_options
30
+ name = "myapp"
31
+ run_generator('install_test_unit', [name], sources)
32
+ assert_directory_exists "test"
33
+ assert_generated_file "test/test_helper.rb"
34
+ assert_generated_file "tasks/test_unit.rake"
35
+ end
36
+
37
+ private
38
+ def sources
39
+ [RubiGen::PathSource.new(:test, File.join(File.dirname(__FILE__),"..", generator_path))
40
+ ]
41
+ end
42
+
43
+ def generator_path
44
+ "rbiphonetest_generators"
45
+ end
46
+ end
@@ -0,0 +1,70 @@
1
+ require File.join(File.dirname(__FILE__), "test_generator_helper.rb")
2
+
3
+
4
+ class TestModelGenerator < Test::Unit::TestCase
5
+ include RubiGen::GeneratorTestHelper
6
+
7
+ def setup
8
+ bare_setup
9
+ end
10
+
11
+ def teardown
12
+ bare_teardown
13
+ end
14
+
15
+ # Some generator-related assertions:
16
+ # assert_generated_file(name, &block) # block passed the file contents
17
+ # assert_directory_exists(name)
18
+ # assert_generated_class(name, &block)
19
+ # assert_generated_module(name, &block)
20
+ # assert_generated_test_for(name, &block)
21
+ # The assert_generated_(class|module|test_for) &block is passed the body of the class/module within the file
22
+ # assert_has_method(body, *methods) # check that the body has a list of methods (methods with parentheses not supported yet)
23
+ #
24
+ # Other helper methods are:
25
+ # app_root_files - put this in teardown to show files generated by the test method (e.g. p app_root_files)
26
+ # bare_setup - place this in setup method to create the APP_ROOT folder for each test
27
+ # bare_teardown - place this in teardown method to destroy the TMP_ROOT or APP_ROOT folder after each test
28
+
29
+ def test_generator_for_test_unit
30
+ name = "my_model"
31
+ FileUtils.mkdir_p File.join(APP_ROOT, "test")
32
+ run_generator('model', [name], sources)
33
+ assert_directory_exists "Classes"
34
+ assert_directory_exists "test"
35
+ assert_generated_file "Classes/MyModel.h"
36
+ assert_generated_file "Classes/MyModel.m"
37
+ assert_generated_file "test/test_my_model.rb"
38
+ end
39
+
40
+ def test_generator_for_rspec
41
+ name = "my_model"
42
+ FileUtils.mkdir_p File.join(APP_ROOT, "spec")
43
+ run_generator("model", [name], sources)
44
+ assert_directory_exists "Classes"
45
+ assert_directory_exists "spec"
46
+ assert_generated_file "Classes/MyModel.h"
47
+ assert_generated_file "Classes/MyModel.m"
48
+ assert_generated_file "spec/my_model_spec.rb"
49
+ end
50
+
51
+ def test_generator_without_test_framework_installed
52
+ name = "my_model"
53
+ run_generator("model", [name], sources)
54
+ assert_directory_exists "Classes"
55
+ assert_generated_file "Classes/MyModel.h"
56
+ assert_generated_file "Classes/MyModel.m"
57
+ # and nothing else is created
58
+ assert_equal(["./test/tmp/myproject/Classes"], Dir[File.join(APP_ROOT, '*')])
59
+ end
60
+
61
+ private
62
+ def sources
63
+ [RubiGen::PathSource.new(:test, File.join(File.dirname(__FILE__),"..", generator_path))
64
+ ]
65
+ end
66
+
67
+ def generator_path
68
+ "rbiphonetest_generators"
69
+ end
70
+ end
@@ -0,0 +1,11 @@
1
+ require File.dirname(__FILE__) + '/test_helper.rb'
2
+
3
+ class TestRbIphoneTest < Test::Unit::TestCase
4
+
5
+ def setup
6
+ end
7
+
8
+ def test_truth
9
+ assert true
10
+ end
11
+ end
@@ -0,0 +1,56 @@
1
+ require File.join(File.dirname(__FILE__), "test_generator_helper.rb")
2
+
3
+ class TestRbIphoneTestGenerator < Test::Unit::TestCase
4
+ include RubiGen::GeneratorTestHelper
5
+
6
+ def setup
7
+ bare_setup
8
+ end
9
+
10
+ def teardown
11
+ bare_teardown
12
+ end
13
+
14
+ # Some generator-related assertions:
15
+ # assert_generated_file(name, &block) # block passed the file contents
16
+ # assert_directory_exists(name)
17
+ # assert_generated_class(name, &block)
18
+ # assert_generated_module(name, &block)
19
+ # assert_generated_test_for(name, &block)
20
+ # The assert_generated_(class|module|test_for) &block is passed the body of the class/module within the file
21
+ # assert_has_method(body, *methods) # check that the body has a list of methods (methods with parentheses not supported yet)
22
+ #
23
+ # Other helper methods are:
24
+ # app_root_files - put this in teardown to show files generated by the test method (e.g. p app_root_files)
25
+ # bare_setup - place this in setup method to create the APP_ROOT folder for each test
26
+ # bare_teardown - place this in teardown method to destroy the TMP_ROOT or APP_ROOT folder after each test
27
+
28
+ def test_generator_without_options
29
+ run_generator('rbiphonetest', [APP_ROOT], sources)
30
+ assert_directory_exists "Classes"
31
+ assert_directory_exists "test"
32
+ assert_directory_exists "tasks"
33
+ assert_generated_file ".autotest"
34
+ assert_generated_file "Rakefile"
35
+ assert_generated_file "test/test_helper.rb"
36
+ assert_generated_file "script/generate"
37
+ end
38
+
39
+ def test_generator_with_rspec
40
+ run_generator('rbiphonetest', [APP_ROOT], sources, {:test_framework => 'rspec'})
41
+ assert_directory_exists "Classes"
42
+ assert_directory_exists "spec"
43
+ assert_directory_exists "tasks"
44
+ assert_generated_file ".autotest"
45
+ assert_generated_file "Rakefile"
46
+ assert_generated_file "spec/spec_helper.rb"
47
+ assert_generated_file "script/generate"
48
+ end
49
+
50
+ private
51
+ def sources
52
+ [RubiGen::PathSource.new(:test, File.join(File.dirname(__FILE__),"..", "app_generators")),
53
+ RubiGen::PathSource.new(:test, File.join(File.dirname(__FILE__),"..", "rbiphonetest_generators"))
54
+ ]
55
+ end
56
+ end
@@ -0,0 +1,49 @@
1
+ require File.join(File.dirname(__FILE__), "test_generator_helper.rb")
2
+
3
+
4
+ class TestStoryGenerator < Test::Unit::TestCase
5
+ include RubiGen::GeneratorTestHelper
6
+
7
+ def setup
8
+ bare_setup
9
+ end
10
+
11
+ def teardown
12
+ bare_teardown
13
+ end
14
+
15
+ # Some generator-related assertions:
16
+ # assert_generated_file(name, &block) # block passed the file contents
17
+ # assert_directory_exists(name)
18
+ # assert_generated_class(name, &block)
19
+ # assert_generated_module(name, &block)
20
+ # assert_generated_test_for(name, &block)
21
+ # The assert_generated_(class|module|test_for) &block is passed the body of the class/module within the file
22
+ # assert_has_method(body, *methods) # check that the body has a list of methods (methods with parentheses not supported yet)
23
+ #
24
+ # Other helper methods are:
25
+ # app_root_files - put this in teardown to show files generated by the test method (e.g. p app_root_files)
26
+ # bare_setup - place this in setup method to create the APP_ROOT folder for each test
27
+ # bare_teardown - place this in teardown method to destroy the TMP_ROOT or APP_ROOT folder after each test
28
+
29
+ def test_generator_without_options
30
+ name = "story"
31
+ run_generator("story", [name], sources)
32
+ assert_directory_exists "stories"
33
+ assert_generated_file "stories/story_helper.rb"
34
+ assert_generated_file "stories/#{name}_story"
35
+ assert_generated_file "stories/#{name}_story.rb"
36
+ assert_directory_exists "stories/steps"
37
+ assert_generated_file "stories/steps/#{name}_steps.rb"
38
+ end
39
+
40
+ private
41
+ def sources
42
+ [RubiGen::PathSource.new(:test, File.join(File.dirname(__FILE__),"..", generator_path))
43
+ ]
44
+ end
45
+
46
+ def generator_path
47
+ "rbiphonetest_generators"
48
+ end
49
+ end
metadata ADDED
@@ -0,0 +1,150 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: avh4-rbiphonetest
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.0
5
+ platform: ruby
6
+ authors:
7
+ - Dr Nic Williams
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-02-09 00:00:00 -08:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: hoe
17
+ type: :development
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 1.8.0
24
+ version:
25
+ description: Want to write iPhone unit tests? Want to write them in Ruby?
26
+ email:
27
+ - drnicwilliams@gmail.com
28
+ executables:
29
+ - iphoneruby
30
+ - rbiphonetest
31
+ extensions: []
32
+
33
+ extra_rdoc_files:
34
+ - History.txt
35
+ - License.txt
36
+ - Manifest.txt
37
+ - PostInstall.txt
38
+ - README.rdoc
39
+ files:
40
+ - History.txt
41
+ - License.txt
42
+ - Manifest.txt
43
+ - PostInstall.txt
44
+ - README.rdoc
45
+ - Rakefile
46
+ - app_generators/rbiphonetest/USAGE
47
+ - app_generators/rbiphonetest/rbiphonetest_generator.rb
48
+ - app_generators/rbiphonetest/templates/Rakefile
49
+ - app_generators/rbiphonetest/templates/dot_autotest
50
+ - bin/iphoneruby
51
+ - bin/rbiphonetest
52
+ - config/hoe.rb
53
+ - config/requirements.rb
54
+ - lib/rbiphonetest.rb
55
+ - lib/rbiphonetest/version.rb
56
+ - rbiphonetest_generators/install_rspec/USAGE
57
+ - rbiphonetest_generators/install_rspec/install_rspec_generator.rb
58
+ - rbiphonetest_generators/install_rspec/templates/spec/spec_helper.rb
59
+ - rbiphonetest_generators/install_rspec/templates/tasks/rspec.rake
60
+ - rbiphonetest_generators/install_test_unit/USAGE
61
+ - rbiphonetest_generators/install_test_unit/install_test_unit_generator.rb
62
+ - rbiphonetest_generators/install_test_unit/templates/tasks/test_unit.rake
63
+ - rbiphonetest_generators/install_test_unit/templates/test/test_helper.rb
64
+ - rbiphonetest_generators/model/USAGE
65
+ - rbiphonetest_generators/model/model_generator.rb
66
+ - rbiphonetest_generators/model/templates/model.h
67
+ - rbiphonetest_generators/model/templates/model.m
68
+ - rbiphonetest_generators/model_rspec/model_rspec_generator.rb
69
+ - rbiphonetest_generators/model_rspec/templates/spec.rb
70
+ - rbiphonetest_generators/model_test_unit/model_test_unit_generator.rb
71
+ - rbiphonetest_generators/model_test_unit/templates/test.rb
72
+ - rbiphonetest_generators/story/USAGE
73
+ - rbiphonetest_generators/story/story_generator.rb
74
+ - rbiphonetest_generators/story/templates/steps.rb
75
+ - rbiphonetest_generators/story/templates/story
76
+ - rbiphonetest_generators/story/templates/story.rb
77
+ - rbiphonetest_generators/story/templates/story_helper.rb
78
+ - script/console
79
+ - script/destroy
80
+ - script/generate
81
+ - script/txt2html
82
+ - setup.rb
83
+ - tasks/deployment.rake
84
+ - tasks/environment.rake
85
+ - tasks/website.rake
86
+ - test/test_generator_helper.rb
87
+ - test/test_helper.rb
88
+ - test/test_install_rspec_generator.rb
89
+ - test/test_install_test_unit_generator.rb
90
+ - test/test_model_generator.rb
91
+ - test/test_rbiphonetest.rb
92
+ - test/test_rbiphonetest_generator.rb
93
+ - test/test_story_generator.rb
94
+ has_rdoc: true
95
+ homepage: http://github.com/drnic/rbiphonetest
96
+ post_install_message: |-
97
+
98
+ You can add Ruby-based unit tests to any iPhone/Xcode project by changing to the
99
+ project's folder in the terminal/console and running:
100
+
101
+ rbiphonetest .
102
+
103
+ This adds the test framework, a Rakefile, and an `autotest` config file.
104
+
105
+ You can now create testable Objective-C models/classes using the generator:
106
+
107
+ $ script/generate model WidgetMaker
108
+ create Classes/WidgetMaker.h
109
+ create Classes/WidgetMaker.m
110
+ create test/test_widget_maker.rb
111
+
112
+ To run tests you have several options:
113
+
114
+ 1. `rake` or `rake test`
115
+ 1. `autotest` (after installing the ZenTest gem)
116
+
117
+ Enjoy iPhone development with Ruby!
118
+ rdoc_options:
119
+ - --main
120
+ - README.rdoc
121
+ require_paths:
122
+ - lib
123
+ required_ruby_version: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - ">="
126
+ - !ruby/object:Gem::Version
127
+ version: "0"
128
+ version:
129
+ required_rubygems_version: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - ">="
132
+ - !ruby/object:Gem::Version
133
+ version: "0"
134
+ version:
135
+ requirements: []
136
+
137
+ rubyforge_project: rbiphonetest
138
+ rubygems_version: 1.2.0
139
+ signing_key:
140
+ specification_version: 2
141
+ summary: Want to write iPhone unit tests? Want to write them in Ruby?
142
+ test_files:
143
+ - test/test_generator_helper.rb
144
+ - test/test_helper.rb
145
+ - test/test_install_rspec_generator.rb
146
+ - test/test_install_test_unit_generator.rb
147
+ - test/test_model_generator.rb
148
+ - test/test_rbiphonetest.rb
149
+ - test/test_rbiphonetest_generator.rb
150
+ - test/test_story_generator.rb