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.
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