Repository: ember-template-lint/ember-template-lint (js)

Issue:
Table group rule does not account for component composition
I have run into an issue with the table group rule. I am creating a contextual table component that will look something like this:
```hbs
<table>
  {{yield
    (hash
      Body=(component "table/body")
      Head=(component "table/head")
      Header=(component "table/header")
      Row=(component "table/row")
    )
  }}
</table>
```

Consuming contexts would do something like:
```hbs
<Table as |T|>
  <T.Head>
     ...
  </T.Head>
</Table>
```
As you can see, this is meant to be invoked in such away that the invoking context will employ a table group, but of course there is nothing forcing them to do so. 

I could silence the lint error using a comment of course, but I almost think that any template that uses a `yield` as a first child of the `table` tag should not result in a lint error. Thoughts?

Pull request description:
Allow yield statements as children of table
Fixes #680

Patch:
diff --git a/lib/rules/lint-table-groups.js b/lib/rules/lint-table-groups.js
index 778d70d5..59914bc7 100644
--- a/lib/rules/lint-table-groups.js
+++ b/lib/rules/lint-table-groups.js
@@ -35,6 +35,8 @@ function isAllowedTableChild(node) {
       tagNamePair = node.hash.pairs.find(pair => pair.key === 'tagName');
       if (tagNamePair) {
         return ALLOWED_TABLE_CHILDREN.includes(tagNamePair.value.value);
+      } else if (node.path.original === 'yield') {
+        return true;
       }
       break;
     case 'ElementNode':


Test patch:
diff --git a/test/unit/rules/lint-table-groups-test.js b/test/unit/rules/lint-table-groups-test.js
index 09ee0342..98fa3826 100644
--- a/test/unit/rules/lint-table-groups-test.js
+++ b/test/unit/rules/lint-table-groups-test.js
@@ -53,6 +53,7 @@ generateRuleTests({
     '<table><SomeComponent @tagName="tbody" /></table>',
     '<table><SomeComponent @tagName="thead" /></table>',
     '<table><SomeComponent @tagName="tfoot" /></table>',
+    ` <table>{{yield}}</table> `,
     '<table><!-- this --></table>',
     '<table>{{! or this }}</table>',
     '<table> </table>',