drnic-haml 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (190) hide show
  1. data/.yardopts +5 -0
  2. data/CONTRIBUTING +4 -0
  3. data/MIT-LICENSE +20 -0
  4. data/README.md +347 -0
  5. data/REVISION +1 -0
  6. data/Rakefile +371 -0
  7. data/VERSION +1 -0
  8. data/VERSION_NAME +1 -0
  9. data/bin/css2sass +7 -0
  10. data/bin/haml +9 -0
  11. data/bin/html2haml +7 -0
  12. data/bin/sass +8 -0
  13. data/extra/haml-mode.el +663 -0
  14. data/extra/sass-mode.el +205 -0
  15. data/extra/update_watch.rb +13 -0
  16. data/init.rb +8 -0
  17. data/lib/haml.rb +40 -0
  18. data/lib/haml/buffer.rb +307 -0
  19. data/lib/haml/engine.rb +301 -0
  20. data/lib/haml/error.rb +22 -0
  21. data/lib/haml/exec.rb +470 -0
  22. data/lib/haml/filters.rb +341 -0
  23. data/lib/haml/helpers.rb +560 -0
  24. data/lib/haml/helpers/action_view_extensions.rb +40 -0
  25. data/lib/haml/helpers/action_view_mods.rb +176 -0
  26. data/lib/haml/herb.rb +96 -0
  27. data/lib/haml/html.rb +308 -0
  28. data/lib/haml/precompiler.rb +997 -0
  29. data/lib/haml/shared.rb +78 -0
  30. data/lib/haml/template.rb +51 -0
  31. data/lib/haml/template/patch.rb +58 -0
  32. data/lib/haml/template/plugin.rb +71 -0
  33. data/lib/haml/util.rb +244 -0
  34. data/lib/haml/version.rb +64 -0
  35. data/lib/sass.rb +24 -0
  36. data/lib/sass/css.rb +423 -0
  37. data/lib/sass/engine.rb +491 -0
  38. data/lib/sass/environment.rb +79 -0
  39. data/lib/sass/error.rb +162 -0
  40. data/lib/sass/files.rb +133 -0
  41. data/lib/sass/plugin.rb +170 -0
  42. data/lib/sass/plugin/merb.rb +57 -0
  43. data/lib/sass/plugin/rails.rb +23 -0
  44. data/lib/sass/repl.rb +58 -0
  45. data/lib/sass/script.rb +55 -0
  46. data/lib/sass/script/bool.rb +17 -0
  47. data/lib/sass/script/color.rb +183 -0
  48. data/lib/sass/script/funcall.rb +50 -0
  49. data/lib/sass/script/functions.rb +199 -0
  50. data/lib/sass/script/lexer.rb +191 -0
  51. data/lib/sass/script/literal.rb +177 -0
  52. data/lib/sass/script/node.rb +14 -0
  53. data/lib/sass/script/number.rb +381 -0
  54. data/lib/sass/script/operation.rb +45 -0
  55. data/lib/sass/script/parser.rb +222 -0
  56. data/lib/sass/script/string.rb +12 -0
  57. data/lib/sass/script/unary_operation.rb +34 -0
  58. data/lib/sass/script/variable.rb +31 -0
  59. data/lib/sass/tree/comment_node.rb +84 -0
  60. data/lib/sass/tree/debug_node.rb +30 -0
  61. data/lib/sass/tree/directive_node.rb +70 -0
  62. data/lib/sass/tree/for_node.rb +48 -0
  63. data/lib/sass/tree/if_node.rb +54 -0
  64. data/lib/sass/tree/import_node.rb +69 -0
  65. data/lib/sass/tree/mixin_def_node.rb +29 -0
  66. data/lib/sass/tree/mixin_node.rb +48 -0
  67. data/lib/sass/tree/node.rb +252 -0
  68. data/lib/sass/tree/prop_node.rb +106 -0
  69. data/lib/sass/tree/root_node.rb +56 -0
  70. data/lib/sass/tree/rule_node.rb +220 -0
  71. data/lib/sass/tree/variable_node.rb +34 -0
  72. data/lib/sass/tree/while_node.rb +31 -0
  73. data/rails/init.rb +1 -0
  74. data/test/benchmark.rb +99 -0
  75. data/test/haml/engine_test.rb +1129 -0
  76. data/test/haml/helper_test.rb +282 -0
  77. data/test/haml/html2haml_test.rb +258 -0
  78. data/test/haml/markaby/standard.mab +52 -0
  79. data/test/haml/mocks/article.rb +6 -0
  80. data/test/haml/results/content_for_layout.xhtml +12 -0
  81. data/test/haml/results/eval_suppressed.xhtml +9 -0
  82. data/test/haml/results/filters.xhtml +62 -0
  83. data/test/haml/results/helpers.xhtml +93 -0
  84. data/test/haml/results/helpful.xhtml +10 -0
  85. data/test/haml/results/just_stuff.xhtml +68 -0
  86. data/test/haml/results/list.xhtml +12 -0
  87. data/test/haml/results/nuke_inner_whitespace.xhtml +40 -0
  88. data/test/haml/results/nuke_outer_whitespace.xhtml +148 -0
  89. data/test/haml/results/original_engine.xhtml +20 -0
  90. data/test/haml/results/partial_layout.xhtml +5 -0
  91. data/test/haml/results/partials.xhtml +21 -0
  92. data/test/haml/results/render_layout.xhtml +3 -0
  93. data/test/haml/results/silent_script.xhtml +74 -0
  94. data/test/haml/results/standard.xhtml +162 -0
  95. data/test/haml/results/tag_parsing.xhtml +23 -0
  96. data/test/haml/results/very_basic.xhtml +5 -0
  97. data/test/haml/results/whitespace_handling.xhtml +89 -0
  98. data/test/haml/rhtml/_av_partial_1.rhtml +12 -0
  99. data/test/haml/rhtml/_av_partial_2.rhtml +8 -0
  100. data/test/haml/rhtml/action_view.rhtml +62 -0
  101. data/test/haml/rhtml/standard.rhtml +54 -0
  102. data/test/haml/spec_test.rb +44 -0
  103. data/test/haml/template_test.rb +217 -0
  104. data/test/haml/templates/_av_partial_1.haml +9 -0
  105. data/test/haml/templates/_av_partial_1_ugly.haml +9 -0
  106. data/test/haml/templates/_av_partial_2.haml +5 -0
  107. data/test/haml/templates/_av_partial_2_ugly.haml +5 -0
  108. data/test/haml/templates/_layout.erb +3 -0
  109. data/test/haml/templates/_layout_for_partial.haml +3 -0
  110. data/test/haml/templates/_partial.haml +8 -0
  111. data/test/haml/templates/_text_area.haml +3 -0
  112. data/test/haml/templates/action_view.haml +47 -0
  113. data/test/haml/templates/action_view_ugly.haml +47 -0
  114. data/test/haml/templates/breakage.haml +8 -0
  115. data/test/haml/templates/content_for_layout.haml +8 -0
  116. data/test/haml/templates/eval_suppressed.haml +11 -0
  117. data/test/haml/templates/filters.haml +66 -0
  118. data/test/haml/templates/helpers.haml +95 -0
  119. data/test/haml/templates/helpful.haml +11 -0
  120. data/test/haml/templates/just_stuff.haml +83 -0
  121. data/test/haml/templates/list.haml +12 -0
  122. data/test/haml/templates/nuke_inner_whitespace.haml +32 -0
  123. data/test/haml/templates/nuke_outer_whitespace.haml +144 -0
  124. data/test/haml/templates/original_engine.haml +17 -0
  125. data/test/haml/templates/partial_layout.haml +3 -0
  126. data/test/haml/templates/partialize.haml +1 -0
  127. data/test/haml/templates/partials.haml +12 -0
  128. data/test/haml/templates/render_layout.haml +2 -0
  129. data/test/haml/templates/silent_script.haml +40 -0
  130. data/test/haml/templates/standard.haml +42 -0
  131. data/test/haml/templates/standard_ugly.haml +42 -0
  132. data/test/haml/templates/tag_parsing.haml +21 -0
  133. data/test/haml/templates/very_basic.haml +4 -0
  134. data/test/haml/templates/whitespace_handling.haml +87 -0
  135. data/test/haml/util_test.rb +92 -0
  136. data/test/linked_rails.rb +12 -0
  137. data/test/sass/css2sass_test.rb +294 -0
  138. data/test/sass/engine_test.rb +956 -0
  139. data/test/sass/functions_test.rb +126 -0
  140. data/test/sass/more_results/more1.css +9 -0
  141. data/test/sass/more_results/more1_with_line_comments.css +26 -0
  142. data/test/sass/more_results/more_import.css +29 -0
  143. data/test/sass/more_templates/_more_partial.sass +2 -0
  144. data/test/sass/more_templates/more1.sass +23 -0
  145. data/test/sass/more_templates/more_import.sass +11 -0
  146. data/test/sass/plugin_test.rb +229 -0
  147. data/test/sass/results/alt.css +4 -0
  148. data/test/sass/results/basic.css +9 -0
  149. data/test/sass/results/compact.css +5 -0
  150. data/test/sass/results/complex.css +87 -0
  151. data/test/sass/results/compressed.css +1 -0
  152. data/test/sass/results/expanded.css +19 -0
  153. data/test/sass/results/import.css +29 -0
  154. data/test/sass/results/line_numbers.css +49 -0
  155. data/test/sass/results/mixins.css +95 -0
  156. data/test/sass/results/multiline.css +24 -0
  157. data/test/sass/results/nested.css +22 -0
  158. data/test/sass/results/parent_ref.css +13 -0
  159. data/test/sass/results/script.css +16 -0
  160. data/test/sass/results/subdir/nested_subdir/nested_subdir.css +1 -0
  161. data/test/sass/results/subdir/subdir.css +3 -0
  162. data/test/sass/results/units.css +11 -0
  163. data/test/sass/script_test.rb +261 -0
  164. data/test/sass/templates/_partial.sass +2 -0
  165. data/test/sass/templates/alt.sass +16 -0
  166. data/test/sass/templates/basic.sass +23 -0
  167. data/test/sass/templates/bork1.sass +2 -0
  168. data/test/sass/templates/bork2.sass +2 -0
  169. data/test/sass/templates/bork3.sass +2 -0
  170. data/test/sass/templates/compact.sass +17 -0
  171. data/test/sass/templates/complex.sass +307 -0
  172. data/test/sass/templates/compressed.sass +15 -0
  173. data/test/sass/templates/expanded.sass +17 -0
  174. data/test/sass/templates/import.sass +11 -0
  175. data/test/sass/templates/importee.sass +19 -0
  176. data/test/sass/templates/line_numbers.sass +13 -0
  177. data/test/sass/templates/mixins.sass +76 -0
  178. data/test/sass/templates/multiline.sass +20 -0
  179. data/test/sass/templates/nested.sass +25 -0
  180. data/test/sass/templates/nested_bork1.sass +2 -0
  181. data/test/sass/templates/nested_bork2.sass +2 -0
  182. data/test/sass/templates/nested_bork3.sass +2 -0
  183. data/test/sass/templates/parent_ref.sass +25 -0
  184. data/test/sass/templates/script.sass +101 -0
  185. data/test/sass/templates/subdir/nested_subdir/_nested_partial.sass +2 -0
  186. data/test/sass/templates/subdir/nested_subdir/nested_subdir.sass +3 -0
  187. data/test/sass/templates/subdir/subdir.sass +6 -0
  188. data/test/sass/templates/units.sass +11 -0
  189. data/test/test_helper.rb +44 -0
  190. metadata +298 -0
@@ -0,0 +1,52 @@
1
+ self << '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'
2
+ html(:xmlns=>'http://www.w3.org/1999/xhtml', 'xml:lang'=>'en-US') do
3
+ head do
4
+ title "Hampton Catlin Is Totally Awesome"
5
+ meta("http-equiv" => "Content-Type", :content => "text/html; charset=utf-8")
6
+ end
7
+ body do
8
+ # You're In my house now!
9
+ div :class => "header" do
10
+ self << %|Yes, ladies and gentileman. He is just that egotistical.
11
+ Fantastic! This should be multi-line output
12
+ The question is if this would translate! Ahah!|
13
+ self << 1 + 9 + 8 + 2 #numbers should work and this should be ignored
14
+ end
15
+ div(:id => "body") { self << "Quotes should be loved! Just like people!"}
16
+ 120.times do |number|
17
+ number
18
+ end
19
+ self << "Wow.|"
20
+ p do
21
+ self << "Holy cow " +
22
+ "multiline " +
23
+ "tags! " +
24
+ "A pipe (|) even!"
25
+ self << [1, 2, 3].collect { |n| "PipesIgnored|" }
26
+ self << [1, 2, 3].collect { |n|
27
+ n.to_s
28
+ }.join("|")
29
+ end
30
+ div(:class => "silent") do
31
+ foo = String.new
32
+ foo << "this"
33
+ foo << " shouldn't"
34
+ foo << " evaluate"
35
+ self << foo + " but now it should!"
36
+ # Woah crap a comment!
37
+ end
38
+ # That was a line that shouldn't close everything.
39
+ ul(:class => "really cool") do
40
+ ('a'..'f').each do |a|
41
+ li a
42
+ end
43
+ end
44
+ div((@should_eval = "with this text"), :id => "combo", :class => "of_divs_with_underscore")
45
+ [ 104, 101, 108, 108, 111 ].map do |byte|
46
+ byte.chr
47
+ end
48
+ div(:class => "footer") do
49
+ strong("This is a really long ruby quote. It should be loved and wrapped because its more than 50 characters. This value may change in the future and this test may look stupid. \nSo, I'm just making it *really* long. God, I hope this works", :class => "shout")
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,6 @@
1
+ class Article
2
+ attr_accessor :id, :title, :body
3
+ def initialize
4
+ @id, @title, @body = 1, 'Hello', 'World'
5
+ end
6
+ end
@@ -0,0 +1,12 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html>
3
+ <head></head>
4
+ <body>
5
+ <div id='yieldy'>
6
+ Lorem ipsum dolor sit amet
7
+ </div>
8
+ <div id='nosym'>
9
+ Lorem ipsum dolor sit amet
10
+ </div>
11
+ </body>
12
+ </html>
@@ -0,0 +1,9 @@
1
+ <p></p>
2
+ <p></p>
3
+ <h1>Me!</h1>
4
+ <div id='foo'>
5
+ <p id='bar'>All</p>
6
+ <br />
7
+ <p class='baz'>This</p>
8
+ Should render
9
+ </div>
@@ -0,0 +1,62 @@
1
+ <style>
2
+ /* line 1 */
3
+ p { border-style: dotted; border-width: 22px; border-color: #ff00ff; }
4
+
5
+ /* line 6 */
6
+ h1 { font-weight: normal; }
7
+ </style>
8
+ TESTING HAHAHAHA!
9
+ <p>
10
+ <script type='text/javascript'>
11
+ //<![CDATA[
12
+ function newline(str) {
13
+ return "\n" + str;
14
+ }
15
+ //]]>
16
+ </script>
17
+ </p>
18
+ This
19
+ Is
20
+ Plain
21
+ Text
22
+ %strong right?
23
+ #{not interpolated}
24
+ \3
25
+ \#{also not}
26
+ \\
27
+ <p>
28
+ <pre>This pre is pretty deeply&#x000A; nested.&#x000A; Does interpolation work?
29
+ This one is, too.&#x000A;Nested, that is.&#x000A;</pre>
30
+ </p>
31
+ <ul>
32
+
33
+ <li>a</li>
34
+
35
+ <li>b</li>
36
+
37
+ <li>c</li>
38
+
39
+ <li>d</li>
40
+
41
+ <li>e</li>
42
+
43
+ <li>f</li>
44
+
45
+ <li>g</li>
46
+
47
+ <li>h</li>
48
+
49
+ <li>i</li>
50
+
51
+ <li>j</li>
52
+
53
+
54
+
55
+ </ul>
56
+ <div class='res'>178</div>
57
+ Text!
58
+ Hello, World!
59
+ How are you doing today?
60
+ &lt;div class=&quot;foo&quot;&gt;
61
+ &lt;p&gt;I think &amp;mdash; or do I?&lt;/p&gt;
62
+ &lt;/div&gt;
@@ -0,0 +1,93 @@
1
+ &amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;
2
+ <div>
3
+ <p class='title'>Title</p>
4
+ <p class='text'>
5
+ Woah this is really crazy
6
+ I mean wow,
7
+ man.
8
+ </p>
9
+ </div>
10
+ <div>
11
+ <p class='title'>Title</p>
12
+ <p class='text'>
13
+ Woah this is really crazy
14
+ I mean wow,
15
+ man.
16
+ </p>
17
+ </div>
18
+ <div>
19
+ <p class='title'>Title</p>
20
+ <p class='text'>
21
+ Woah this is really crazy
22
+ I mean wow,
23
+ man.
24
+ </p>
25
+ </div>
26
+ <p>foo</p>
27
+ <p>reeeeeeeeeeeeeeeeeeeeeeeeeeeeeeally loooooooooooooooooong</p>
28
+ <div class='woah'>
29
+ <div id='funky'>
30
+ <div>
31
+ <h1>Big!</h1>
32
+ <p>Small</p>
33
+ <!-- Invisible -->
34
+ </div>
35
+ <div class='dilly'>
36
+ <p>foo</p>
37
+ <h1>bar</h1>
38
+ </div>
39
+ </div>
40
+ (<strong>parentheses!</strong>)
41
+ </div>
42
+ *<span class='small'>Not really</span>
43
+ click
44
+ <a href='thing'>here</a>.
45
+ <p>baz</p>
46
+ <p>boom</p>
47
+ foo
48
+ <p>
49
+ <form action="" method="post">
50
+ </p>
51
+ <div>
52
+ <form action="" method="post">
53
+ <div><input name="commit" type="submit" value="save" /></div>
54
+ <p>
55
+ @foo =
56
+ value one
57
+ </p>
58
+ Toplevel? false
59
+ <p>
60
+ @foo =
61
+ value three
62
+ </p>
63
+ </form>
64
+ <form action="" method="post">
65
+ Title:
66
+ <input id="article_title" name="article[title]" size="30" type="text" value="Hello" />
67
+ Body:
68
+ <input id="article_body" name="article[body]" size="30" type="text" value="World" />
69
+ </form>
70
+ </div>
71
+ <li><a href='http://www.google.com'>google</a></li>
72
+ <p>
73
+ foo
74
+ <div>
75
+ bar
76
+ </div>
77
+ boom
78
+ baz
79
+ boom, again
80
+ </p>
81
+ <table>
82
+ <tr>
83
+ <td class='cell'>
84
+ <strong>strong!</strong>
85
+ data
86
+ </td>
87
+ <td>
88
+ more_data
89
+ </td>
90
+ </tr>
91
+ </table>
92
+ <hr />
93
+ <div></div>
@@ -0,0 +1,10 @@
1
+ <div class='article' id='article_1'>
2
+ <h1>Hello</h1>
3
+ <div>World</div>
4
+ </div>
5
+ <div class='article' id='id_article_1'>id</div>
6
+ <div class='article class' id='article_1'>class</div>
7
+ <div class='article class' id='id_article_1'>id class</div>
8
+ <div class='article full' id='article_1'>boo</div>
9
+ <div class='article full' id='article_1'>moo</div>
10
+ <div class='article articleFull' id='article_1'>foo</div>
@@ -0,0 +1,68 @@
1
+ <?xml version='1.0' encoding='utf-8' ?>
2
+ <?xml version='1.0' encoding='iso-8859-1' ?>
3
+ <?xml version='1.0' encoding='utf-8' ?>
4
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
6
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
7
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
8
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
9
+ <strong apos="Foo's bar!">Boo!</strong>
10
+ Embedded? false!
11
+ Embedded? true!
12
+ Embedded? true!
13
+ Embedded? twice! true!
14
+ Embedded? one af"t"er another!
15
+ <p>Embedded? false!</p>
16
+ <p>Embedded? true!</p>
17
+ <p>Embedded? true!</p>
18
+ <p>Embedded? twice! true!</p>
19
+ <p>Embedded? one af"t"er another!</p>
20
+ stuff followed by whitespace
21
+ <strong>block with whitespace</strong>
22
+ <p>
23
+ Escape
24
+ - character
25
+ %p foo
26
+ yee\ha
27
+ </p>
28
+ <!-- Short comment -->
29
+ <!--
30
+ This is a block comment
31
+ cool, huh?
32
+ <strong>there can even be sub-tags!</strong>
33
+ Or script!
34
+ -->
35
+ <p class=''>class attribute should appear!</p>
36
+ <p>this attribute shouldn't appear</p>
37
+ <!--[if lte IE6]> conditional comment! <![endif]-->
38
+ <!--[if gte IE7]>
39
+ <p>Block conditional comment</p>
40
+ <div>
41
+ <h1>Cool, eh?</h1>
42
+ </div>
43
+ <![endif]-->
44
+ <!--[if gte IE5.2]>
45
+ Woah a period.
46
+ <![endif]-->
47
+ testtest
48
+ <br />
49
+ <meta foo='bar' />
50
+ <img />
51
+ <hr />
52
+ <link />
53
+ <script>Inline content</script>
54
+ <br>
55
+ Nested content
56
+ </br>
57
+ <p class='article bar foo' id='article_1'>Blah</p>
58
+ <p class='article foo' id='article_1'>Blah</p>
59
+ <p class='article quux qux' id='article_1'>Blump</p>
60
+ Woah inner quotes
61
+ <p class='dynamic_quote' dyn='3' quotes="single '"></p>
62
+ <p class='dynamic_self_closing' dyn='3' />
63
+ <body>
64
+ hello
65
+ <div>
66
+ <img />
67
+ </div>
68
+ </body>
@@ -0,0 +1,12 @@
1
+ !Not a Doctype!
2
+ <ul>
3
+ <li>a</li>
4
+ <li>b</li>
5
+ <li>c</li>
6
+ <li>d</li>
7
+ <li>e</li>
8
+ <li>f</li>
9
+ <li>g</li>
10
+ <li>h</li>
11
+ <li>i</li>
12
+ </ul>
@@ -0,0 +1,40 @@
1
+ <p>
2
+ <q>Foo</q>
3
+ </p>
4
+ <p>
5
+ <q a='2'>Foo</q>
6
+ </p>
7
+ <p>
8
+ <q>Foo
9
+ Bar</q>
10
+ </p>
11
+ <p>
12
+ <q a='2'>Foo
13
+ Bar</q>
14
+ </p>
15
+ <p>
16
+ <q>Foo
17
+ Bar</q>
18
+ </p>
19
+ <p>
20
+ <q a='2'>Foo
21
+ Bar</q>
22
+ </p>
23
+ <p>
24
+ <q><div>
25
+ Foo
26
+ Bar
27
+ </div></q>
28
+ </p>
29
+ <p>
30
+ <q a='2'><div>
31
+ Foo
32
+ Bar
33
+ </div></q>
34
+ </p>
35
+ <p>
36
+ <q>foo</q>
37
+ <q a='2'>
38
+ bar
39
+ </q>
40
+ </p>
@@ -0,0 +1,148 @@
1
+ <p>
2
+ <p><q>
3
+ Foo
4
+ </q></p>
5
+ </p>
6
+ <p>
7
+ <p><q a='2'>
8
+ Foo
9
+ </q></p>
10
+ </p>
11
+ <p>
12
+ <p><q>Foo</q></p>
13
+ </p>
14
+ <p>
15
+ <p><q a='2'>Foo</q></p>
16
+ </p>
17
+ <p>
18
+ <p><q>
19
+ Foo
20
+ </q></p>
21
+ </p>
22
+ <p>
23
+ <p><q a='2'>
24
+ Foo
25
+ </q></p>
26
+ </p>
27
+ <p>
28
+ <p><q>Foo</q></p>
29
+ </p>
30
+ <p>
31
+ <p><q a='2'>Foo</q></p>
32
+ </p>
33
+ <p>
34
+ <p><q>
35
+ Foo
36
+ Bar
37
+ </q></p>
38
+ </p>
39
+ <p>
40
+ <p><q a='2'>
41
+ Foo
42
+ Bar
43
+ </q></p>
44
+ </p>
45
+ <p>
46
+ <p><q>
47
+ Foo
48
+ Bar
49
+ </q></p>
50
+ </p>
51
+ <p>
52
+ <p><q a='2'>
53
+ Foo
54
+ Bar
55
+ </q></p>
56
+ </p>
57
+ <p>
58
+ <p>
59
+ foo<q>
60
+ Foo
61
+ </q>bar
62
+ </p>
63
+ </p>
64
+ <p>
65
+ <p>
66
+ foo<q a='2'>
67
+ Foo
68
+ </q>bar
69
+ </p>
70
+ </p>
71
+ <p>
72
+ <p>
73
+ foo<q>Foo</q>bar
74
+ </p>
75
+ </p>
76
+ <p>
77
+ <p>
78
+ foo<q a='2'>Foo</q>bar
79
+ </p>
80
+ </p>
81
+ <p>
82
+ <p>
83
+ foo<q>
84
+ Foo
85
+ </q>bar
86
+ </p>
87
+ </p>
88
+ <p>
89
+ <p>
90
+ foo<q a='2'>
91
+ Foo
92
+ </q>bar
93
+ </p>
94
+ </p>
95
+ <p>
96
+ <p>
97
+ foo<q>Foo</q>bar
98
+ </p>
99
+ </p>
100
+ <p>
101
+ <p>
102
+ foo<q a='2'>Foo</q>bar
103
+ </p>
104
+ </p>
105
+ <p>
106
+ <p>
107
+ foo<q>
108
+ Foo
109
+ Bar
110
+ </q>bar
111
+ </p>
112
+ </p>
113
+ <p>
114
+ <p>
115
+ foo<q a='2'>
116
+ Foo
117
+ Bar
118
+ </q>bar
119
+ </p>
120
+ </p>
121
+ <p>
122
+ <p>
123
+ foo<q>
124
+ Foo
125
+ Bar
126
+ </q>bar
127
+ </p>
128
+ </p>
129
+ <p>
130
+ <p>
131
+ foo<q a='2'>
132
+ Foo
133
+ Bar
134
+ </q>bar
135
+ </p>
136
+ </p>
137
+ <p>
138
+ <p><q></q></p>
139
+ </p>
140
+ <p>
141
+ <p><q /></p>
142
+ </p>
143
+ <p>
144
+ <p><q a='2'></q></p>
145
+ </p>
146
+ <p>
147
+ <p><q a='2' /></p>
148
+ </p>