ymdp 0.1.6 → 0.1.7

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.
@@ -0,0 +1,171 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+ require 'processor/w3c'
3
+
4
+ describe "Validator" do
5
+ before(:each) do
6
+ stub_io
7
+ stub_config
8
+ end
9
+
10
+ describe "HTML" do
11
+ before(:each) do
12
+ @resp = mock('resp', :read_body => "[Valid]")
13
+ W3CPoster.stub!(:post_file_to_w3c_validator).and_return(@resp)
14
+ end
15
+
16
+ it "should call validator" do
17
+ W3CPoster.should_receive(:post_file_to_w3c_validator).and_return(@resp)
18
+ YMDP::Validator::HTML.validate("path")
19
+ end
20
+
21
+ it "should print OK" do
22
+ $stdout.should_receive(:puts).with(/OK/)
23
+ YMDP::Validator::HTML.validate("path")
24
+ end
25
+
26
+ describe "errors" do
27
+ before(:each) do
28
+ @resp.stub!(:read_body => "Not Valid")
29
+ end
30
+
31
+ it "should output a message" do
32
+ $stdout.should_receive(:puts).with(/not valid HTML/)
33
+ lambda {
34
+ YMDP::Validator::HTML.validate("path")
35
+ }.should raise_error("Invalid HTML")
36
+ end
37
+
38
+ it "should open the error file" do
39
+ File.should_receive(:open).with(/path_errors/, "w").and_return(@file)
40
+ lambda {
41
+ YMDP::Validator::HTML.validate("path")
42
+ }.should raise_error("Invalid HTML")
43
+ end
44
+
45
+ it "should write to the error file" do
46
+ @file.should_receive(:puts).with("Not Valid")
47
+ lambda {
48
+ YMDP::Validator::HTML.validate("path")
49
+ }.should raise_error("Invalid HTML")
50
+ end
51
+
52
+ it "should growl a message" do
53
+ @g.should_receive(:notify).with(anything, anything, /HTML validation errors/, anything, anything)
54
+ lambda {
55
+ YMDP::Validator::HTML.validate("path")
56
+ }.should raise_error("Invalid HTML")
57
+ end
58
+
59
+ it "should open the error file" do
60
+ F.should_receive(:execute).with(/open/)
61
+ lambda {
62
+ YMDP::Validator::HTML.validate("path")
63
+ }.should raise_error("Invalid HTML")
64
+ end
65
+
66
+ it "should raise an error" do
67
+ lambda {
68
+ YMDP::Validator::HTML.validate("path")
69
+ }.should raise_error("Invalid HTML")
70
+ end
71
+ end
72
+ end
73
+
74
+ describe "JavaScript" do
75
+ describe "valid" do
76
+ before(:each) do
77
+ F.stub!(:execute).with(/java/, :return => true).and_return("jslint: No problems found")
78
+ end
79
+
80
+ it "should output 'OK'" do
81
+ $stdout.should_receive(:puts).with(/OK/)
82
+ YMDP::Validator::JavaScript.validate("path")
83
+ end
84
+ end
85
+
86
+ describe "invalid" do
87
+ before(:each) do
88
+ @lines_with_errors = [
89
+ "line 3 character 2: Unnecessary semicolon",
90
+ "line 8 character 3: Unknown thingamajig"
91
+ ].join("\n")
92
+ F.stub!(:execute).with(/java/, :return => true).and_return(@lines_with_errors)
93
+ F.stub!(:get_line_from_file).with(anything, 1)
94
+ F.stub!(:get_line_from_file).with(anything, 5)
95
+ end
96
+
97
+ it "should growl" do
98
+ @g.should_receive(:notify).with(anything, anything, /JavaScript Errors/, anything, anything)
99
+ lambda {
100
+ YMDP::Validator::JavaScript.validate("path")
101
+ }.should raise_error
102
+ end
103
+
104
+ it "should output errors" do
105
+ $stdout.should_receive(:puts).with(/Unnecessary semicolon/)
106
+ $stdout.should_receive(:puts).with(/Unknown thingamajig/)
107
+ lambda {
108
+ YMDP::Validator::JavaScript.validate("path")
109
+ }.should raise_error
110
+ end
111
+
112
+ it "should raise error" do
113
+ lambda {
114
+ YMDP::Validator::JavaScript.validate("path")
115
+ }.should raise_error(/JavaScript Errors/)
116
+ end
117
+ end
118
+ end
119
+
120
+ describe "JSON" do
121
+ describe "valid" do
122
+ before(:each) do
123
+ F.stub!(:execute).with(/java/, :return => true).and_return("jslint: No problems found")
124
+ end
125
+
126
+ it "should output 'OK'" do
127
+ $stdout.should_receive(:puts).with(/OK/)
128
+ YMDP::Validator::JSON.validate("path")
129
+ end
130
+ end
131
+
132
+ describe "invalid" do
133
+ before(:each) do
134
+ @lines_with_errors = [
135
+ "line 3 character 2: Unnecessary semicolon",
136
+ "line 8 character 3: Unknown thingamajig"
137
+ ].join("\n")
138
+ F.stub!(:execute).with(/java/, :return => true).and_return(@lines_with_errors)
139
+ F.stub!(:get_line_from_file).with(anything, 1)
140
+ F.stub!(:get_line_from_file).with(anything, 5)
141
+ end
142
+
143
+ it "should growl" do
144
+ @g.should_receive(:notify).with(anything, anything, /JavaScript Errors/, anything, anything)
145
+ lambda {
146
+ YMDP::Validator::JSON.validate("path")
147
+ }.should raise_error
148
+ end
149
+
150
+ it "should output errors" do
151
+ $stdout.should_receive(:puts).with(/Unnecessary semicolon/)
152
+ $stdout.should_receive(:puts).with(/Unknown thingamajig/)
153
+ lambda {
154
+ YMDP::Validator::JSON.validate("path")
155
+ }.should raise_error
156
+ end
157
+
158
+ it "should raise error" do
159
+ lambda {
160
+ YMDP::Validator::JSON.validate("path")
161
+ }.should raise_error(/JavaScript Errors/)
162
+ end
163
+ end
164
+
165
+ describe "Stylesheet" do
166
+ it "should validate" do
167
+ YMDP::Validator::Stylesheet.validate("path")
168
+ end
169
+ end
170
+ end
171
+ end
@@ -1,6 +1,10 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
2
 
3
3
  describe YMDP::Base do
4
+ before(:each) do
5
+ @base_path = File.expand_path("./")
6
+ end
7
+
4
8
  describe "instantiation" do
5
9
  it "should instantiate" do
6
10
  @ymdp = YMDP::Base.new
@@ -8,6 +12,12 @@ describe YMDP::Base do
8
12
  end
9
13
  end
10
14
 
15
+ describe "class methods" do
16
+ it "should display path" do
17
+
18
+ end
19
+ end
20
+
11
21
  describe "configuration" do
12
22
  before(:each) do
13
23
  @ymdp = YMDP::Base.new
@@ -76,6 +86,20 @@ describe YMDP::Base do
76
86
  @ymdp.validate.should == @validate
77
87
  end
78
88
 
89
+ it "should set base_path" do
90
+ YMDP::Base.configure do |config|
91
+ config.add_path(:base_path, @base_path)
92
+ end
93
+ @ymdp.base_path.should == @base_path
94
+ end
95
+
96
+ it "should set class base_path" do
97
+ YMDP::Base.configure do |config|
98
+ config.add_path(:base_path, @base_path)
99
+ end
100
+ YMDP::Base.base_path.should == @base_path
101
+ end
102
+
79
103
  describe "content variables" do
80
104
  describe "add" do
81
105
  it "should add a content_variable" do
@@ -120,6 +144,22 @@ describe YMDP::Base do
120
144
  @ymdp.sprint_name.should == "Gorgonzola"
121
145
  end
122
146
  end
147
+
148
+ describe "display_path" do
149
+ it "should strip base_path from the display" do
150
+ YMDP::Base.configure do |config|
151
+ config.add_path(:base_path, @base_path)
152
+ end
153
+ @ymdp.display_path("#{@base_path}/file")
154
+ end
155
+
156
+ it "class method should strip base_path from the display" do
157
+ YMDP::Base.configure do |config|
158
+ config.add_path(:base_path, @base_path)
159
+ end
160
+ YMDP::Base.display_path("#{@base_path}/file")
161
+ end
162
+ end
123
163
  end
124
164
  end
125
165
  end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{ymdp}
8
- s.version = "0.1.6"
8
+ s.version = "0.1.7"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Jeff Coleman"]
12
- s.date = %q{2010-01-16}
12
+ s.date = %q{2010-01-17}
13
13
  s.default_executable = %q{ymdp}
14
14
  s.description = %q{Framework for developing applications in the Yahoo! Mail Development Platform.}
15
15
  s.email = %q{progressions@gmail.com}
@@ -21,6 +21,7 @@ Gem::Specification.new do |s|
21
21
  s.files = [
22
22
  ".document",
23
23
  ".gitignore",
24
+ "History.txt",
24
25
  "LICENSE",
25
26
  "README.rdoc",
26
27
  "Rakefile",
@@ -44,12 +45,10 @@ Gem::Specification.new do |s|
44
45
  "lib/ymdp/generator/templates/stylesheet.css",
45
46
  "lib/ymdp/generator/templates/translation.pres",
46
47
  "lib/ymdp/generator/templates/view.html.haml",
47
- "lib/ymdp/helpers.rb",
48
48
  "lib/ymdp/processor/compressor.rb",
49
49
  "lib/ymdp/processor/form_post.rb",
50
50
  "lib/ymdp/processor/validator.rb",
51
51
  "lib/ymdp/processor/w3c.rb",
52
- "lib/ymdp/support/blank.rb",
53
52
  "lib/ymdp/support/file.rb",
54
53
  "lib/ymdp/tag_helper.rb",
55
54
  "lib/ymdp/tasks/keys.rake",
@@ -59,6 +58,7 @@ Gem::Specification.new do |s|
59
58
  "spec/application_view_spec.rb",
60
59
  "spec/compiler_spec.rb",
61
60
  "spec/compiler_template_spec.rb",
61
+ "spec/compressor_spec.rb",
62
62
  "spec/configuration_spec.rb",
63
63
  "spec/data/Rakefile",
64
64
  "spec/data/VERSION",
@@ -124,10 +124,13 @@ Gem::Specification.new do |s|
124
124
  "spec/data/script/yuicompressor-2.4.2.jar",
125
125
  "spec/default_settings.rb",
126
126
  "spec/domains_spec.rb",
127
+ "spec/file_spec.rb",
128
+ "spec/git_helper_spec.rb",
127
129
  "spec/spec.opts",
128
130
  "spec/spec_helper.rb",
129
131
  "spec/stubs.rb",
130
132
  "spec/translator_spec.rb",
133
+ "spec/validator_spec.rb",
131
134
  "spec/ymdp_base_spec.rb",
132
135
  "spec/ymdp_spec.rb",
133
136
  "test.rb",
@@ -143,15 +146,19 @@ Gem::Specification.new do |s|
143
146
  "spec/application_view_spec.rb",
144
147
  "spec/compiler_spec.rb",
145
148
  "spec/compiler_template_spec.rb",
149
+ "spec/compressor_spec.rb",
146
150
  "spec/configuration_spec.rb",
147
151
  "spec/data/app/helpers/application_helper.rb",
148
152
  "spec/data/config/constants.rb",
149
153
  "spec/data/lib/init.rb",
150
154
  "spec/default_settings.rb",
151
155
  "spec/domains_spec.rb",
156
+ "spec/file_spec.rb",
157
+ "spec/git_helper_spec.rb",
152
158
  "spec/spec_helper.rb",
153
159
  "spec/stubs.rb",
154
160
  "spec/translator_spec.rb",
161
+ "spec/validator_spec.rb",
155
162
  "spec/ymdp_base_spec.rb",
156
163
  "spec/ymdp_spec.rb"
157
164
  ]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ymdp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeff Coleman
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-01-16 00:00:00 -06:00
12
+ date: 2010-01-17 00:00:00 -06:00
13
13
  default_executable: ymdp
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -144,6 +144,7 @@ extra_rdoc_files:
144
144
  files:
145
145
  - .document
146
146
  - .gitignore
147
+ - History.txt
147
148
  - LICENSE
148
149
  - README.rdoc
149
150
  - Rakefile
@@ -167,12 +168,10 @@ files:
167
168
  - lib/ymdp/generator/templates/stylesheet.css
168
169
  - lib/ymdp/generator/templates/translation.pres
169
170
  - lib/ymdp/generator/templates/view.html.haml
170
- - lib/ymdp/helpers.rb
171
171
  - lib/ymdp/processor/compressor.rb
172
172
  - lib/ymdp/processor/form_post.rb
173
173
  - lib/ymdp/processor/validator.rb
174
174
  - lib/ymdp/processor/w3c.rb
175
- - lib/ymdp/support/blank.rb
176
175
  - lib/ymdp/support/file.rb
177
176
  - lib/ymdp/tag_helper.rb
178
177
  - lib/ymdp/tasks/keys.rake
@@ -182,6 +181,7 @@ files:
182
181
  - spec/application_view_spec.rb
183
182
  - spec/compiler_spec.rb
184
183
  - spec/compiler_template_spec.rb
184
+ - spec/compressor_spec.rb
185
185
  - spec/configuration_spec.rb
186
186
  - spec/data/Rakefile
187
187
  - spec/data/VERSION
@@ -247,10 +247,13 @@ files:
247
247
  - spec/data/script/yuicompressor-2.4.2.jar
248
248
  - spec/default_settings.rb
249
249
  - spec/domains_spec.rb
250
+ - spec/file_spec.rb
251
+ - spec/git_helper_spec.rb
250
252
  - spec/spec.opts
251
253
  - spec/spec_helper.rb
252
254
  - spec/stubs.rb
253
255
  - spec/translator_spec.rb
256
+ - spec/validator_spec.rb
254
257
  - spec/ymdp_base_spec.rb
255
258
  - spec/ymdp_spec.rb
256
259
  - test.rb
@@ -288,14 +291,18 @@ test_files:
288
291
  - spec/application_view_spec.rb
289
292
  - spec/compiler_spec.rb
290
293
  - spec/compiler_template_spec.rb
294
+ - spec/compressor_spec.rb
291
295
  - spec/configuration_spec.rb
292
296
  - spec/data/app/helpers/application_helper.rb
293
297
  - spec/data/config/constants.rb
294
298
  - spec/data/lib/init.rb
295
299
  - spec/default_settings.rb
296
300
  - spec/domains_spec.rb
301
+ - spec/file_spec.rb
302
+ - spec/git_helper_spec.rb
297
303
  - spec/spec_helper.rb
298
304
  - spec/stubs.rb
299
305
  - spec/translator_spec.rb
306
+ - spec/validator_spec.rb
300
307
  - spec/ymdp_base_spec.rb
301
308
  - spec/ymdp_spec.rb
@@ -1,4 +0,0 @@
1
- Dir["./app/helpers/*_helper.rb"].each do |path|
2
- require path
3
- end
4
-
@@ -1,58 +0,0 @@
1
- class Object
2
- # An object is blank if it's false, empty, or a whitespace string.
3
- # For example, "", " ", +nil+, [], and {} are blank.
4
- #
5
- # This simplifies
6
- #
7
- # if !address.nil? && !address.empty?
8
- #
9
- # to
10
- #
11
- # if !address.blank?
12
- def blank?
13
- respond_to?(:empty?) ? empty? : !self
14
- end
15
-
16
- # An object is present if it's not blank.
17
- def present?
18
- !blank?
19
- end
20
- end
21
-
22
- class NilClass #:nodoc:
23
- def blank?
24
- true
25
- end
26
- end
27
-
28
- class FalseClass #:nodoc:
29
- def blank?
30
- true
31
- end
32
- end
33
-
34
- class TrueClass #:nodoc:
35
- def blank?
36
- false
37
- end
38
- end
39
-
40
- class Array #:nodoc:
41
- alias_method :blank?, :empty?
42
- end
43
-
44
- class Hash #:nodoc:
45
- alias_method :blank?, :empty?
46
- end
47
-
48
- class String #:nodoc:
49
- def blank?
50
- self !~ /\S/
51
- end
52
- end
53
-
54
- class Numeric #:nodoc:
55
- def blank?
56
- false
57
- end
58
- end