terrimporter 0.7.2 → 0.7.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -54,23 +54,28 @@ module TerrImporter
54
54
  constructed_file_path = (config.replace_style_strings? ? unclean_file_path : file_path)
55
55
  @downloader.download(source_url, constructed_file_path)
56
56
 
57
- if config.replace_style_strings?
58
- LOG.info "CSS line replacements"
59
- File.open(file_path, 'w') do |d|
60
- File.open(constructed_file_path, 'r') do |s|
61
- lines = s.readlines
62
- lines.each do |line|
63
- d.print replace_stylesheet_lines!(line)
57
+ if file_contains_valid_css?(constructed_file_path)
58
+ if config.replace_style_strings?
59
+ LOG.info "CSS line replacements"
60
+ File.open(file_path, 'w') do |d|
61
+ File.open(constructed_file_path, 'r') do |s|
62
+ lines = s.readlines
63
+ lines.each do |line|
64
+ d.print replace_stylesheet_lines!(line)
65
+ end
64
66
  end
65
67
  end
68
+ else
69
+ LOG.debug "Skipping css line replacements"
66
70
  end
67
- else
68
- LOG.debug "Skipping css line replacements"
69
- end
70
71
 
71
- if File.exists?(unclean_file_path)
72
- LOG.debug "Deleting unclean css files"
73
- #FileUtils.remove unclean_file_path
72
+ if File.exists?(unclean_file_path)
73
+ LOG.debug "Deleting unclean css files"
74
+ FileUtils.remove unclean_file_path
75
+ end
76
+ else
77
+ File.remove(file_path)
78
+ LOG.debug "Deleting empty"
74
79
  end
75
80
  end
76
81
  end
@@ -1,9 +1,24 @@
1
1
  module ImporterHelper
2
2
 
3
+ CSS_PATTERN = /^[a-zA-Z]+/ #only check if a line starts with characters, not comments
4
+
3
5
  def replace_line!(line, what, with)
4
6
  what = Regexp.new "#{$1}" if what.match(/^r\/(.*)\//)
5
7
  LOG.info "Replacing #{what.to_s} with #{with}"
6
8
  line.gsub! what, with
7
9
  end
8
10
 
9
- end
11
+ def file_contains_valid_css?(file_path)
12
+ css_valid = false
13
+ File.open(file_path) do |f|
14
+ f.each_line do |line|
15
+ if line =~ CSS_PATTERN
16
+ css_valid = true
17
+ break
18
+ end
19
+ end
20
+ end
21
+ css_valid
22
+ end
23
+ end
24
+
@@ -1,4 +1,4 @@
1
- #Generated by rake task, last bump: minor7patch2major0
1
+ #Generated by rake task, last bump: minor7patch3major0
2
2
  module TerrImporter
3
- VERSION = "0.7.2"
3
+ VERSION = "0.7.3"
4
4
  end
@@ -0,0 +1 @@
1
+ This is the base.js file
@@ -0,0 +1 @@
1
+ This is the base.css file
@@ -0,0 +1 @@
1
+ /* This file only contains a comment */
@@ -50,11 +50,20 @@ class TestImporter < Test::Unit::TestCase
50
50
  should 'not do any string replacement if not configured' do
51
51
  @importer.config['stylesheets']['replace_strings'] = nil
52
52
  @importer.import_css
53
-
54
53
  assert true
55
54
  end
56
55
  end
57
56
 
57
+ context 'invalid css recognition' do
58
+ should 'return false if an invalid css file is passed' do
59
+ assert_equal false, @importer.file_contains_valid_css?(File.expand_path('test/fixtures/css/invalid.css'))
60
+ end
61
+
62
+ should 'return true if a valid css file is passed' do
63
+ assert_equal true, @importer.file_contains_valid_css?(File.expand_path('test/fixtures/css/base.css'))
64
+ end
65
+ end
66
+
58
67
  context 'css and js export path construction' do
59
68
  setup do
60
69
  @importer.config['export_path'] = {'css' => 'base.css', 'js' => 'base.js'}
@@ -120,8 +129,7 @@ class TestImporter < Test::Unit::TestCase
120
129
  end
121
130
 
122
131
  should 'import js, css and images, not using the :all statement' do
123
- @importer.run
124
- #only cherry-pick tests
132
+ @importer.run #only cherry-pick tests
125
133
  assert exists_in_tmp?('public/images/testimage1.png')
126
134
  assert exists_in_tmp?('public/stylesheets/base.css')
127
135
  assert exists_in_tmp?('public/javascripts/base.js')
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: terrimporter
3
3
  version: !ruby/object:Gem::Version
4
- hash: 7
4
+ hash: 5
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 7
9
- - 2
10
- version: 0.7.2
9
+ - 3
10
+ version: 0.7.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Daniel Kummer
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-09-26 00:00:00 Z
18
+ date: 2011-09-27 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: kwalify
@@ -138,9 +138,12 @@ files:
138
138
  - lib/terrimporter/options.rb
139
139
  - lib/terrimporter/string_monkeypatch.rb
140
140
  - lib/terrimporter/version.rb
141
+ - public/javascripts/base.js
142
+ - public/stylesheets/base.css
141
143
  - terrimporter.gemspec
142
144
  - test/fixtures/css/base.css
143
145
  - test/fixtures/css/ie.css
146
+ - test/fixtures/css/invalid.css
144
147
  - test/fixtures/html/application_root.html
145
148
  - test/fixtures/html/application_root_css_error.html
146
149
  - test/fixtures/html/application_root_js_error.html
@@ -156,10 +159,6 @@ files:
156
159
  - test/fixtures/js/dynlib.js
157
160
  - test/fixtures/minimal.test.config.yml
158
161
  - test/fixtures/test.config.yml
159
- - test/test/tmp/public/javascripts/base.js
160
- - test/test/tmp/public/javascripts/lib/dynlib.js
161
- - test/test/tmp/public/stylesheets/base.css
162
- - test/test/tmp/public/stylesheets/ie.css
163
162
  - test/test_helper.rb
164
163
  - test/test_terrimporter.rb
165
164
  - test/unit/test_app_logger.rb
@@ -208,6 +207,7 @@ summary: Import terrific javascripts, css files and images into a web project
208
207
  test_files:
209
208
  - test/fixtures/css/base.css
210
209
  - test/fixtures/css/ie.css
210
+ - test/fixtures/css/invalid.css
211
211
  - test/fixtures/html/application_root.html
212
212
  - test/fixtures/html/application_root_css_error.html
213
213
  - test/fixtures/html/application_root_js_error.html
@@ -223,10 +223,6 @@ test_files:
223
223
  - test/fixtures/js/dynlib.js
224
224
  - test/fixtures/minimal.test.config.yml
225
225
  - test/fixtures/test.config.yml
226
- - test/test/tmp/public/javascripts/base.js
227
- - test/test/tmp/public/javascripts/lib/dynlib.js
228
- - test/test/tmp/public/stylesheets/base.css
229
- - test/test/tmp/public/stylesheets/ie.css
230
226
  - test/test_helper.rb
231
227
  - test/test_terrimporter.rb
232
228
  - test/unit/test_app_logger.rb
@@ -1 +0,0 @@
1
- /Users/dkummer/_projects/terrimporter/test/test/fixtures/js/base.js
@@ -1 +0,0 @@
1
- /Users/dkummer/_projects/terrimporter/test/test/fixtures/js/dynlib.js
@@ -1 +0,0 @@
1
- /Users/dkummer/_projects/terrimporter/test/test/fixtures/css/base.css
@@ -1 +0,0 @@
1
- /Users/dkummer/_projects/terrimporter/test/test/fixtures/css/ie.css