|
68 | 68 | accepted: https://github.com/emberjs/rfcs/pull/123/files
|
69 | 69 | ---`;
|
70 | 70 |
|
| 71 | +const multiplePrsKeysMetadata = `--- |
| 72 | +stage: recommended |
| 73 | +start-date: 2020-01-01 |
| 74 | +release-date: 2020-04-02 |
| 75 | +release-versions: |
| 76 | + ember-source: v1.1.1 |
| 77 | + ember-data: v0.0.3 |
| 78 | +teams: |
| 79 | + - framework |
| 80 | +prs: |
| 81 | + accepted: https://github.com/emberjs/rfcs/pull/123/ |
| 82 | + ready-for-release: https://example.com/emberjs/rfcs/pull/456/ |
| 83 | + released: https://github.com/emberjs/ember.js/pull/789/ |
| 84 | + recommended: https://raw.github.com/emberjs/rfcs/987 |
| 85 | +---`; |
| 86 | + |
| 87 | +const extraPrsKeysMetadata = `--- |
| 88 | +stage: recommended |
| 89 | +start-date: 2020-01-01 |
| 90 | +release-date: 2020-04-02 |
| 91 | +release-versions: |
| 92 | + ember-source: v1.1.1 |
| 93 | + ember-data: v0.0.3 |
| 94 | +teams: |
| 95 | + - framework |
| 96 | +prs: |
| 97 | + accepted: https://github.com/emberjs/rfcs/pull/123/ |
| 98 | + edition: https://github.com/emberjs/rfcs/pull/456/ |
| 99 | +---`; |
| 100 | + |
71 | 101 | const cliUrlForRFCMetadataMarkdown = `---
|
72 | 102 | stage: recommended
|
73 | 103 | start-date: 2020-01-01
|
@@ -153,6 +183,24 @@ describe('FrontmatterLinter', function () {
|
153 | 183 | ]);
|
154 | 184 | });
|
155 | 185 |
|
| 186 | + it('reports errors for each incorrect key under prs', function () { |
| 187 | + let results = linter.lint(multiplePrsKeysMetadata); |
| 188 | + |
| 189 | + expect(results.messages).to.deep.eql([ |
| 190 | + 'prs.ready-for-release must be the URL for the advancement pull request on emberjs/rfcs, for example: https://github.com/emberjs/rfcs/pull/123', |
| 191 | + 'prs.released must be the URL for the advancement pull request on emberjs/rfcs, for example: https://github.com/emberjs/rfcs/pull/123', |
| 192 | + 'prs.recommended must be the URL for the advancement pull request on emberjs/rfcs, for example: https://github.com/emberjs/rfcs/pull/123', |
| 193 | + ]); |
| 194 | + }); |
| 195 | + |
| 196 | + it('reports errors for extraneous keys under prs', function () { |
| 197 | + let results = linter.lint(extraPrsKeysMetadata); |
| 198 | + |
| 199 | + expect(results.messages).to.deep.eql([ |
| 200 | + 'prs must only include keys for RFC Stages: proposed, exploring, accepted, ready-for-release, released, recommended', |
| 201 | + ]); |
| 202 | + }); |
| 203 | + |
156 | 204 | it('reports NO errors for completed metadata', function () {
|
157 | 205 | let results = linter.lint(completedMetadataMarkdown);
|
158 | 206 | expect(results.messages).to.be.empty;
|
|
0 commit comments