hum 0.0.1 → 0.0.2

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.
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