==================
String Value
==================
<div class="foo" data-attr="bar"></div>
---

(template
  (element_node
    (element_node_start
      (tag_name)
      (attribute_node
        (attribute_name)
        (concat_statement))
      (attribute_node
        (attribute_name)
        (concat_statement)))
    (element_node_end
      (tag_name))))

==================
Number Value
==================
<div tabindex=1></div>
---

(template
  (element_node
    (element_node_start
      (tag_name)
      (attribute_node
        (attribute_name)
        (number_literal)))
    (element_node_end
      (tag_name))))

==================
Handlebars Value
==================
<div class={{someValue}}></div>
---

(template
  (element_node
    (element_node_start
      (tag_name)
      (attribute_node
        (attribute_name)
        (mustache_statement
          (identifier))))
    (element_node_end
      (tag_name))))

==================
No Value
==================
<div boolean-attr></div>
---

(template
  (element_node
    (element_node_start
      (tag_name)
      (attribute_node
        (attribute_name)))
    (element_node_end
      (tag_name))))

==================
Concat Statement Value
==================
<div class="{{bar}}"></div>
<div class="prefix {{bar}}"></div>
<div class="prefix {{bar}} suffix"></div>
<div class="prefix {{bar}} suffix {{bar}}"></div>
<div class="prefix {{"foo"}}"></div>
---

(template
  (element_node
    (element_node_start
      (tag_name)
      (attribute_node
        (attribute_name)
        (concat_statement
          (mustache_statement
            (identifier)))))
    (element_node_end
      (tag_name)))
  (text_node)
  (element_node
    (element_node_start
      (tag_name)
      (attribute_node
        (attribute_name)
        (concat_statement
          (mustache_statement
            (identifier)))))
    (element_node_end
      (tag_name)))
  (text_node)
  (element_node
    (element_node_start
      (tag_name)
      (attribute_node
        (attribute_name)
        (concat_statement
          (mustache_statement
            (identifier)))))
    (element_node_end
      (tag_name)))
  (text_node)
  (element_node
    (element_node_start
      (tag_name)
      (attribute_node
        (attribute_name)
        (concat_statement
          (mustache_statement
            (identifier))
          (mustache_statement
            (identifier)))))
    (element_node_end
      (tag_name)))
  (text_node)
  (element_node
    (element_node_start
      (tag_name)
      (attribute_node
        (attribute_name)
        (concat_statement
          (mustache_statement
            (string_literal)))))
    (element_node_end
      (tag_name))))

==================
On a Void Element
==================
<div class="foo" />
---

(template
  (element_node
    (element_node_void
      (tag_name)
      (attribute_node
        (attribute_name)
        (concat_statement)))))

==================
Splattributes
==================
<div ...attributes></div>
---

(template
  (element_node
    (element_node_start
      (tag_name)
      (attribute_node
        (attribute_name)))
    (element_node_end
      (tag_name))))

