hum 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) hide show
  1. data/CHANGELOG.md +5 -1
  2. data/README.md +61 -20
  3. data/hum.gemspec +4 -3
  4. data/lib/hum/array.rb +41 -18
  5. data/lib/hum/engine.rb +205 -190
  6. data/lib/hum/exec.rb +3 -2
  7. data/lib/hum/version.rb +1 -1
  8. data/test/bad_file_test.rb +28 -0
  9. data/test/engine_tests.rb +132 -0
  10. data/test/haml/insert_extra_child.haml +9 -0
  11. data/test/{hum/templates/nest/nest.haml → haml/nests.haml} +1 -1
  12. data/test/haml/parent_selector.haml +7 -0
  13. data/test/haml/parent_siblings.haml +10 -0
  14. data/test/{hum/templates/simple/simple.haml → haml/property_value.haml} +1 -1
  15. data/test/haml/siblings.haml +6 -0
  16. data/test/{hum/templates/single/single.haml → haml/single_line_nest.haml} +4 -2
  17. data/test/{hum/templates/comma/comma.html → other/bad.file} +0 -0
  18. data/test/other/example.scss +6 -0
  19. data/test/sass/insert_extra_child.sass +8 -0
  20. data/test/{hum/templates/nest/nest.sass → sass/nests.sass} +0 -0
  21. data/test/sass/parent_selector.sass +6 -0
  22. data/test/sass/parent_siblings.sass +6 -0
  23. data/test/{hum/templates/simple/simple.sass → sass/property_value.sass} +0 -0
  24. data/test/sass/siblings.sass +2 -0
  25. data/test/{hum/templates/single/single.sass → sass/single_line_nest.sass} +1 -1
  26. data/test/sass_convert_test.rb +28 -0
  27. metadata +60 -159
  28. data/test/hum/templates/comma/comma.array +0 -1
  29. data/test/hum/templates/comma/comma.css +0 -6
  30. data/test/hum/templates/comma/comma.haml +0 -6
  31. data/test/hum/templates/comma/comma.haml_tags +0 -1
  32. data/test/hum/templates/comma/comma.sass +0 -2
  33. data/test/hum/templates/comma/comma_clean.sass +0 -1
  34. data/test/hum/templates/comma/comma_end.html +0 -9
  35. data/test/hum/templates/complex_parent/complex_parent.array +0 -1
  36. data/test/hum/templates/complex_parent/complex_parent.css +0 -18
  37. data/test/hum/templates/complex_parent/complex_parent.haml +0 -12
  38. data/test/hum/templates/complex_parent/complex_parent.haml_tags +0 -1
  39. data/test/hum/templates/complex_parent/complex_parent.html +0 -0
  40. data/test/hum/templates/complex_parent/complex_parent.sass +0 -12
  41. data/test/hum/templates/complex_parent/complex_parent_clean.sass +0 -6
  42. data/test/hum/templates/complex_parent/complex_parent_end.html +0 -18
  43. data/test/hum/templates/deep_nest/deep_nest.array +0 -1
  44. data/test/hum/templates/deep_nest/deep_nest.css +0 -15
  45. data/test/hum/templates/deep_nest/deep_nest.haml +0 -19
  46. data/test/hum/templates/deep_nest/deep_nest.haml_tags +0 -1
  47. data/test/hum/templates/deep_nest/deep_nest.html +0 -0
  48. data/test/hum/templates/deep_nest/deep_nest.sass +0 -10
  49. data/test/hum/templates/deep_nest/deep_nest_clean.sass +0 -5
  50. data/test/hum/templates/deep_nest/deep_nest_end.html +0 -27
  51. data/test/hum/templates/deep_nest/deep_nest_start.scss +0 -15
  52. data/test/hum/templates/line_nest/line_nest.array +0 -1
  53. data/test/hum/templates/line_nest/line_nest.css +0 -6
  54. data/test/hum/templates/line_nest/line_nest.haml +0 -9
  55. data/test/hum/templates/line_nest/line_nest.haml_tags +0 -1
  56. data/test/hum/templates/line_nest/line_nest.html +0 -0
  57. data/test/hum/templates/line_nest/line_nest.sass +0 -5
  58. data/test/hum/templates/line_nest/line_nest_clean.sass +0 -2
  59. data/test/hum/templates/line_nest/line_nest_end.html +0 -15
  60. data/test/hum/templates/nest/nest.array +0 -1
  61. data/test/hum/templates/nest/nest.css +0 -9
  62. data/test/hum/templates/nest/nest.haml_tags +0 -1
  63. data/test/hum/templates/nest/nest.html +0 -0
  64. data/test/hum/templates/nest/nest_clean.sass +0 -3
  65. data/test/hum/templates/nest/nest_end.html +0 -12
  66. data/test/hum/templates/parent_nest/parent_nest.array +0 -1
  67. data/test/hum/templates/parent_nest/parent_nest.css +0 -12
  68. data/test/hum/templates/parent_nest/parent_nest.haml +0 -8
  69. data/test/hum/templates/parent_nest/parent_nest.haml_tags +0 -1
  70. data/test/hum/templates/parent_nest/parent_nest.html +0 -0
  71. data/test/hum/templates/parent_nest/parent_nest.sass +0 -8
  72. data/test/hum/templates/parent_nest/parent_nest_clean.sass +0 -4
  73. data/test/hum/templates/parent_nest/parent_nest_end.html +0 -12
  74. data/test/hum/templates/parent_select/parent_select.array +0 -1
  75. data/test/hum/templates/parent_select/parent_select.css +0 -4
  76. data/test/hum/templates/parent_select/parent_select.haml +0 -6
  77. data/test/hum/templates/parent_select/parent_select.haml_tags +0 -1
  78. data/test/hum/templates/parent_select/parent_select.html +0 -0
  79. data/test/hum/templates/parent_select/parent_select.sass +0 -4
  80. data/test/hum/templates/parent_select/parent_select_clean.sass +0 -2
  81. data/test/hum/templates/parent_select/parent_select_end.html +0 -9
  82. data/test/hum/templates/simple/simple.array +0 -1
  83. data/test/hum/templates/simple/simple.css +0 -9
  84. data/test/hum/templates/simple/simple.haml_tags +0 -1
  85. data/test/hum/templates/simple/simple.html +0 -0
  86. data/test/hum/templates/simple/simple_clean.sass +0 -3
  87. data/test/hum/templates/simple/simple_end.html +0 -10
  88. data/test/hum/templates/single/single.array +0 -1
  89. data/test/hum/templates/single/single.css +0 -3
  90. data/test/hum/templates/single/single.haml_tags +0 -1
  91. data/test/hum/templates/single/single.html +0 -0
  92. data/test/hum/templates/single/single_clean.sass +0 -1
  93. data/test/hum/templates/single/single_end.html +0 -8
  94. data/test/run_tests.rb +0 -119
@@ -1 +0,0 @@
1
- [{:line=>1, :select=>[".foo"], :tab=>0}, {:line=>2, :select=>[".bar"], :tab=>0}, {:line=>3, :select=>[".baz"], :tab=>0}]
@@ -1,9 +0,0 @@
1
- .foo{
2
- height: 100px;
3
- }
4
- .bar{
5
- display: inline;
6
- }
7
- .baz{
8
- width: 100px;
9
- }
@@ -1 +0,0 @@
1
- [{:line=>1, :select=>[".foo"], :tab=>0, :haml=>["%div.foo"]}, {:line=>2, :select=>[".bar"], :tab=>0, :haml=>["%div.bar"]}, {:line=>3, :select=>[".baz"], :tab=>0, :haml=>["%div.baz"]}]
File without changes
@@ -1,3 +0,0 @@
1
- .foo
2
- .bar
3
- .baz
@@ -1,10 +0,0 @@
1
- <html>
2
- <head>
3
- <link href='simple.css' rel='stylesheet' type='text/css' />
4
- </head>
5
- <body>
6
- <div class='foo'>Inner content</div>
7
- <div class='bar'>Inner content</div>
8
- <div class='baz'>Inner content</div>
9
- </body>
10
- </html>
@@ -1 +0,0 @@
1
- [{:line=>1, :select=>["p"], :tab=>0}]
@@ -1,3 +0,0 @@
1
- p{
2
- font-size:12px;
3
- }
@@ -1 +0,0 @@
1
- [{:line=>1, :select=>["p"], :tab=>0, :haml=>["%p"]}]
File without changes
@@ -1 +0,0 @@
1
- p
@@ -1,8 +0,0 @@
1
- <html>
2
- <head>
3
- <link href='single.css' rel='stylesheet' type='text/css' />
4
- </head>
5
- <body>
6
- <p>Inner content</p>
7
- </body>
8
- </html>
data/test/run_tests.rb DELETED
@@ -1,119 +0,0 @@
1
- dir_lib = File.dirname(__FILE__) + '/../lib'
2
- $:.unshift dir_lib unless $:.include?(dir_lib)
3
-
4
- require 'test/unit'
5
- require 'fileutils'
6
- require 'hum/engine'
7
-
8
- class HumText < Test::Unit::TestCase
9
-
10
- def setup
11
- @machine = Hum::Engine.new
12
- @files = {}
13
- end
14
-
15
- def test_single
16
- begin_folder("single")
17
- end
18
-
19
- def test_simple
20
- begin_folder("simple")
21
- end
22
-
23
- def test_nest
24
- begin_folder("nest")
25
- end
26
-
27
- def test_comma
28
- begin_folder("comma")
29
- end
30
-
31
- def test_line_nest
32
- begin_folder("line_nest")
33
- end
34
-
35
- def test_parent_select
36
- begin_folder("parent_select")
37
- end
38
-
39
- def test_parent_nest
40
- begin_folder("parent_nest")
41
- end
42
-
43
- def test_complex_parent
44
- begin_folder("complex_parent")
45
- end
46
-
47
- def test_deep_nest
48
- begin_folder("deep_nest")
49
- end
50
-
51
- private
52
-
53
- def begin_folder(name)
54
- @name = name
55
- @route = make_path(@name)
56
-
57
- #loads CSS into the machine
58
- load_machine
59
-
60
- #runs comparison on the SASS
61
- compare_sass
62
-
63
- #runs clean sass
64
- compare_clean_sass
65
-
66
- #parse clean CSS into hashes of data
67
- compare_hashes
68
-
69
- #compare HAML tags
70
- compare_haml_tags
71
-
72
- #compare HAML tags
73
- compare_haml
74
-
75
- #compare HTML
76
- compare_html
77
-
78
- end
79
-
80
- def make_path(name)
81
- File.join(File.expand_path('../hum/templates', __FILE__), name)
82
- end
83
-
84
- def load_machine
85
- @css = File.open("#{@route}/#{@name}.css", 'r')
86
- @machine.load(@css)
87
- end
88
-
89
- #1
90
- def compare_sass
91
- assert_equal(@machine.render_sass, File.open("#{@route}/#{@name}.sass", 'r').read)
92
- end
93
-
94
- #2
95
- def compare_clean_sass
96
- assert_equal(@machine.clean_sass, File.open("#{@route}/#{@name}_clean.sass", 'r').read)
97
- end
98
-
99
- #3
100
- def compare_hashes
101
- assert_equal(@machine.build_hashes.inspect.to_s, File.open("#{@route}/#{@name}.array", 'r').read)
102
- end
103
-
104
- #4
105
- def compare_haml_tags
106
- assert_equal(@machine.render_haml_tags.inspect.to_s, File.open("#{@route}/#{@name}.haml_tags", 'r').read)
107
- end
108
-
109
- #5
110
- def compare_haml
111
- assert_equal(@machine.output_haml, File.open("#{@route}/#{@name}.haml", 'r').read)
112
- end
113
-
114
- #6
115
- def compare_html
116
- assert_equal(@machine.output_html, File.open("#{@route}/#{@name}_end.html", 'r').read)
117
- end
118
-
119
- end