adamelliot-nifty-generators 0.1.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/test/test_helper.rb +117 -0
- metadata +77 -0
data/test/test_helper.rb
ADDED
@@ -0,0 +1,117 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
|
3
|
+
# Must set before requiring generator libs.
|
4
|
+
TMP_ROOT = File.dirname(__FILE__) + "/tmp" unless defined?(TMP_ROOT)
|
5
|
+
PROJECT_NAME = "myproject" unless defined?(PROJECT_NAME)
|
6
|
+
app_root = File.join(TMP_ROOT, PROJECT_NAME)
|
7
|
+
if defined?(APP_ROOT)
|
8
|
+
APP_ROOT.replace(app_root)
|
9
|
+
else
|
10
|
+
APP_ROOT = app_root
|
11
|
+
end
|
12
|
+
if defined?(RAILS_ROOT)
|
13
|
+
RAILS_ROOT.replace(app_root)
|
14
|
+
else
|
15
|
+
RAILS_ROOT = app_root
|
16
|
+
end
|
17
|
+
|
18
|
+
require 'rubygems'
|
19
|
+
gem 'rails', '2.0.2' # getting a Rails.configuration error with 2.1
|
20
|
+
require 'rubigen' # gem install rubigen
|
21
|
+
require 'rubigen/helpers/generator_test_helper'
|
22
|
+
require 'rails_generator'
|
23
|
+
require 'shoulda' # gem install Shoulda
|
24
|
+
require 'mocha'
|
25
|
+
|
26
|
+
module NiftyGenerators
|
27
|
+
module TestHelper
|
28
|
+
include RubiGen::GeneratorTestHelper
|
29
|
+
|
30
|
+
def setup
|
31
|
+
bare_setup
|
32
|
+
end
|
33
|
+
|
34
|
+
def teardown
|
35
|
+
bare_teardown
|
36
|
+
end
|
37
|
+
|
38
|
+
protected
|
39
|
+
|
40
|
+
def run_rails_generator(generator, *args)
|
41
|
+
options = args.pop if args.last.kind_of? Hash
|
42
|
+
options ||= {}
|
43
|
+
run_generator(generator.to_s, args, generator_sources, options.reverse_merge(:quiet => true))
|
44
|
+
end
|
45
|
+
|
46
|
+
def generator_sources
|
47
|
+
[RubiGen::PathSource.new(:test, File.join(File.dirname(__FILE__), "..", "rails_generators"))]
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
module ShouldaAdditions
|
52
|
+
def rails_generator(*args)
|
53
|
+
setup do
|
54
|
+
run_rails_generator(*args)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
def should_generate_file(file, &block)
|
59
|
+
should "generate file #{file}" do
|
60
|
+
yield("foo") if block_given?
|
61
|
+
assert_generated_file(file)
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
def should_not_generate_file(file)
|
66
|
+
should "not generate file #{file}" do
|
67
|
+
assert !File.exists?("#{APP_ROOT}/#{file}"),"The file '#{file}' should not exist"
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
class Thoughtbot::Shoulda::Context
|
74
|
+
include NiftyGenerators::ShouldaAdditions
|
75
|
+
end
|
76
|
+
|
77
|
+
# Mock out what we need from AR::Base.
|
78
|
+
module ActiveRecord
|
79
|
+
class Base
|
80
|
+
class << self
|
81
|
+
attr_accessor :pluralize_table_names, :columns
|
82
|
+
|
83
|
+
def add_column(name, type = :string)
|
84
|
+
returning ActiveRecord::ConnectionAdapters::Column.new(name, nil) do |column|
|
85
|
+
column.type = type
|
86
|
+
@columns ||= []
|
87
|
+
@columns << column
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
self.pluralize_table_names = true
|
92
|
+
end
|
93
|
+
|
94
|
+
module ConnectionAdapters
|
95
|
+
class Column
|
96
|
+
attr_accessor :name, :default, :type, :limit, :null, :sql_type, :precision, :scale
|
97
|
+
|
98
|
+
def initialize(name, default, sql_type = nil)
|
99
|
+
@name = name
|
100
|
+
@default = default
|
101
|
+
@type = @sql_type = sql_type
|
102
|
+
end
|
103
|
+
|
104
|
+
def human_name
|
105
|
+
@name.humanize
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
# And what we need from ActionView
|
112
|
+
module ActionView
|
113
|
+
module Helpers
|
114
|
+
module ActiveRecordHelper; end
|
115
|
+
class InstanceTag; end
|
116
|
+
end
|
117
|
+
end
|
metadata
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: adamelliot-nifty-generators
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Ryan Bates
|
8
|
+
- Adam Elliot
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
|
13
|
+
date: 2009-02-19 00:00:00 -08:00
|
14
|
+
default_executable:
|
15
|
+
dependencies:
|
16
|
+
- !ruby/object:Gem::Dependency
|
17
|
+
name: authlogic
|
18
|
+
type: :runtime
|
19
|
+
version_requirement:
|
20
|
+
version_requirements: !ruby/object:Gem::Requirement
|
21
|
+
requirements:
|
22
|
+
- - ">="
|
23
|
+
- !ruby/object:Gem::Version
|
24
|
+
version: "0"
|
25
|
+
version:
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: haml
|
28
|
+
type: :runtime
|
29
|
+
version_requirement:
|
30
|
+
version_requirements: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: "0"
|
35
|
+
version:
|
36
|
+
description: A collection of useful generator scripts for Rails.
|
37
|
+
email: adam@warptube.com
|
38
|
+
executables: []
|
39
|
+
|
40
|
+
extensions: []
|
41
|
+
|
42
|
+
extra_rdoc_files: []
|
43
|
+
|
44
|
+
files: []
|
45
|
+
|
46
|
+
has_rdoc: false
|
47
|
+
homepage: http://github.com/adamelliot/nifty-generators
|
48
|
+
post_install_message:
|
49
|
+
rdoc_options: []
|
50
|
+
|
51
|
+
require_paths:
|
52
|
+
- lib
|
53
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
54
|
+
requirements:
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: "0"
|
58
|
+
version:
|
59
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - ">="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: "1.2"
|
64
|
+
version:
|
65
|
+
requirements: []
|
66
|
+
|
67
|
+
rubyforge_project:
|
68
|
+
rubygems_version: 1.2.0
|
69
|
+
signing_key:
|
70
|
+
specification_version: 2
|
71
|
+
summary: A collection of useful generator scripts for Rails.
|
72
|
+
test_files:
|
73
|
+
- test/test_pizza_config_generator.rb
|
74
|
+
- test/test_pizza_authentication_generator.rb
|
75
|
+
- test/test_pizza_layout_generator.rb
|
76
|
+
- test/test_pizza_scaffold_generator.rb
|
77
|
+
- test/test_helper.rb
|