fira 0.5.2 → 0.5.3

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.
@@ -8,7 +8,7 @@ module Fira
8
8
  ID_REGEX = / #([^0-9][a-z_A-Z0-9_\-]+)/
9
9
  CLASS_REGEX = / \.([^0-9][a-z_A-Z0-9_\-]+)/
10
10
  QUOTE_REGEX = /\S+=["']?(?:.(?!["']?\s+(?:\S+)=|[>"']))+.["']?/
11
- TAG_OPEN_REGEX = /<[^\/%]\w* /
11
+ TAG_OPEN_REGEX = /<[^\/%!]\w* /
12
12
  TAG_END_REGEX = /([\/]?>)/
13
13
 
14
14
  def parse_text(text)
@@ -75,7 +75,7 @@ module Fira
75
75
 
76
76
  def is_opening_tag?(text)
77
77
  val = text =~ TAG_OPEN_REGEX
78
- val ? true : false
78
+ val.nil? || val > 0 ? false : true
79
79
  end
80
80
 
81
81
 
@@ -1,3 +1,3 @@
1
1
  module Fira
2
- VERSION = "0.5.2"
2
+ VERSION = "0.5.3"
3
3
  end
@@ -0,0 +1,58 @@
1
+ require 'spec_helper'
2
+
3
+ describe Fira do
4
+ context 'HTML' do
5
+
6
+ it 'simple' do
7
+ result = Fira.render simple
8
+ result.should == res_simple
9
+ end
10
+
11
+ it 'multi line' do
12
+ result = Fira.render multi_line
13
+ result.should == res_multi_line
14
+ end
15
+
16
+ it 'nested single line' do
17
+ result = Fira.render nested_single_line
18
+ result.should == res_nested_single_line
19
+ end
20
+
21
+ it 'nested multi line' do
22
+ result = Fira.render nested_multi_line
23
+ result.should == res_nested_multi_line
24
+ end
25
+
26
+ it 'two classes' do
27
+ result = Fira.render two_classes
28
+ result.should == res_two_classes
29
+ end
30
+
31
+ it 'inside text' do
32
+ result = Fira.render inside_text
33
+ result.should == res_inside_text
34
+ end
35
+
36
+ it 'inside quotes' do
37
+ result = Fira.render inside_quotes
38
+ result.should == res_inside_quotes
39
+ end
40
+
41
+ it 'comments' do
42
+ result = Fira.render html_comments
43
+ result.should == res_html_comments
44
+ end
45
+ end
46
+
47
+ context 'ERB' do
48
+ it 'simple erb' do
49
+ result = Fira.render erb
50
+ result.should == res_erb
51
+ end
52
+
53
+ it 'erb in-tag' do
54
+ result = Fira.render erb_in_tag
55
+ result.should == res_erb_in_tag
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,183 @@
1
+ require 'rspec'
2
+ require 'fira'
3
+
4
+ RSpec.configure do |config|
5
+ config.color_enabled = true
6
+ config.formatter = 'documentation'
7
+ end
8
+
9
+ def simple
10
+ <<-FIRA
11
+ <p #id .class3>some text</p>
12
+ FIRA
13
+ end
14
+
15
+ def res_simple
16
+ <<-FIRA
17
+ <p id="id" class="class3">some text</p>
18
+ FIRA
19
+ end
20
+
21
+ def multi_line
22
+ <<-FIRA
23
+ <p #id .class3>
24
+ some text
25
+ </p>
26
+ FIRA
27
+ end
28
+
29
+ def res_multi_line
30
+ <<-FIRA
31
+ <p id="id" class="class3">
32
+ some text
33
+ </p>
34
+ FIRA
35
+ end
36
+
37
+ def nested_single_line
38
+ <<-FIRA
39
+ <p #id .class3><span #span .one>some text</span>
40
+ some text
41
+ </p>
42
+ FIRA
43
+ end
44
+
45
+ def res_nested_single_line
46
+ <<-FIRA
47
+ <p id="id" class="class3"><span id="span" class="one">some text</span>
48
+ some text
49
+ </p>
50
+ FIRA
51
+ end
52
+
53
+ def two_classes
54
+ <<-FIRA
55
+ <p #id .class3 .class4>
56
+ some text
57
+ </p>
58
+ FIRA
59
+ end
60
+
61
+ def res_two_classes
62
+ <<-FIRA
63
+ <p id="id" class="class3 class4">
64
+ some text
65
+ </p>
66
+ FIRA
67
+ end
68
+
69
+ def nested_multi_line
70
+ <<-FIRA
71
+ <p #id .class3>
72
+ <span #span8 .one>some text</span>
73
+ some text
74
+ <input type='text' #user value='user' .orange />
75
+ </p>
76
+ FIRA
77
+ end
78
+
79
+ def res_nested_multi_line
80
+ <<-FIRA
81
+ <p id="id" class="class3">
82
+ <span id="span8" class="one">some text</span>
83
+ some text
84
+ <input id="user" class="orange" type='text' value='user'/>
85
+ </p>
86
+ FIRA
87
+ end
88
+
89
+ def inside_text
90
+ <<-FIRA
91
+ <p #id .class3>#span .one some text
92
+ #span .one some text
93
+ <span>.one #span some text</span>
94
+ </p>
95
+ FIRA
96
+ end
97
+
98
+ def res_inside_text
99
+ <<-FIRA
100
+ <p id="id" class="class3">#span .one some text
101
+ #span .one some text
102
+ <span>.one #span some text</span>
103
+ </p>
104
+ FIRA
105
+ end
106
+
107
+ def inside_quotes
108
+ <<-FIRA
109
+ <p rel="something .steve and #an id" #id .class3>
110
+ some text
111
+ </p>
112
+ FIRA
113
+ end
114
+
115
+ def res_inside_quotes
116
+ <<-FIRA
117
+ <p id="id" class="class3" rel="something .steve and #an id">
118
+ some text
119
+ </p>
120
+ FIRA
121
+ end
122
+
123
+ def html_comments
124
+ <<-FIRA
125
+ <div class="span12">
126
+ <h1><%= @applicant.first_name + " " + @applicant.last_name %>, you are applying for: </h1>
127
+ <h3><span .main-color><%= @position.name %></span> @ <%= @position.client.name %></h3>
128
+ <!-- <div .user-info>
129
+ <h2><a href="/dashboard"><%= @applicant.first_name + " " + @applicant.last_name %></a></h2>
130
+ <button type="button" .button .edit-profile>Edit</button>
131
+ </div> -->
132
+ </div>
133
+ FIRA
134
+ end
135
+
136
+ def res_html_comments
137
+ <<-FIRA
138
+ <div class="span12">
139
+ <h1><%= @applicant.first_name + " " + @applicant.last_name %>, you are applying for: </h1>
140
+ <h3><span class="main-color"><%= @position.name %></span> @ <%= @position.client.name %></h3>
141
+ <!-- <div .user-info>
142
+ <h2><a href="/dashboard"><%= @applicant.first_name + " " + @applicant.last_name %></a></h2>
143
+ <button type="button" .button .edit-profile>Edit</button>
144
+ </div> -->
145
+ </div>
146
+ FIRA
147
+ end
148
+
149
+ def erb
150
+ <<-FIRA
151
+ <span #my-id><% something.id %></span>
152
+ <p #id .class3 >
153
+ some text
154
+ </p>
155
+ FIRA
156
+ end
157
+
158
+ def res_erb
159
+ <<-FIRA
160
+ <span id="my-id"><% something.id %></span>
161
+ <p id="id" class="class3" >
162
+ some text
163
+ </p>
164
+ FIRA
165
+ end
166
+
167
+ def erb_in_tag
168
+ <<-FIRA
169
+ <span #my-id class="<%= something.id %>" ></span>
170
+ <p #id .class3 >
171
+ some text
172
+ </p>
173
+ FIRA
174
+ end
175
+
176
+ def res_erb_in_tag
177
+ <<-FIRA
178
+ <span id="my-id" class="<%= something.id %>" ></span>
179
+ <p id="id" class="class3" >
180
+ some text
181
+ </p>
182
+ FIRA
183
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fira
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.2
4
+ version: 0.5.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-23 00:00:00.000000000 Z
12
+ date: 2013-05-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -124,6 +124,8 @@ files:
124
124
  - lib/generators/fira/scaffold/templates/index.html.fira
125
125
  - lib/generators/fira/scaffold/templates/new.html.fira
126
126
  - lib/generators/fira/scaffold/templates/show.html.fira
127
+ - spec/fira_spec.rb
128
+ - spec/spec_helper.rb
127
129
  homepage: https://github.com/cameronsutter/fira
128
130
  licenses: []
129
131
  post_install_message:
@@ -148,5 +150,7 @@ rubygems_version: 1.8.23
148
150
  signing_key:
149
151
  specification_version: 3
150
152
  summary: Smarter HTML
151
- test_files: []
153
+ test_files:
154
+ - spec/fira_spec.rb
155
+ - spec/spec_helper.rb
152
156
  has_rdoc: