https://github.com/gulpjs/acceptance
Acceptance test suite for plugins
https://github.com/gulpjs/acceptance
Last synced: about 1 year ago
JSON representation
Acceptance test suite for plugins
- Host: GitHub
- URL: https://github.com/gulpjs/acceptance
- Owner: gulpjs
- Created: 2014-01-11T13:37:38.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2014-05-13T07:16:57.000Z (about 12 years ago)
- Last Synced: 2025-06-10T18:45:30.618Z (about 1 year ago)
- Size: 204 KB
- Stars: 19
- Watchers: 10
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Acceptance tests
This is the scoring system for plugins. There may be exceptions in certain edge cases, but this should provide enough feedback to keep people on the right track.
### Dependencies
| Package | Reason | Recommended Solution |
|---|---|---|
| gulp | Creates incompatible plugins | Don't do this. Use vinyl for your tests. |
| colors | Extends global prototypes | Use chalk |
| through | Old streams | Use through2 |
| event-stream | Old streams + bloated kitchen sink | Use through2 or other streams2 pattern libraries |
### Handling file.contents
| Behavior | Recommended Solution |
|---|---|
| file with null contents not passed through | Pass them through immediately |
| file with null contents was mutated | Pass them through immediately - do not modify them |
| file output contents type different than input | Put out the same type you put in |
| file with streaming contents not handled correctly | Emit an error or support it |
### Static analysis
| Behavior | Recommended Solution |
|---|---|
| console.log | Use gulp-util .log |
| require('fs') | Plugins should not read/write - gulp handles that |
| index.js > 100 lines | Break it up into multiple modules/files |
| High code complexity | Break it up into multiple modules/files |
### Other
| Behavior | Recommended Solution |
|---|---|
| Tests failing | Fix your tests |
| No tests | Write tests |
| No source link | [package.json link](https://www.npmjs.org/doc/json.html#repository) to github |
### Manual
Plugins will be manually checked and deductions will result from the following items.
* Can be done with existing node modules (doesn't need to be a plugin)
* Doing multiple things in a plugin
* Excess configuration
* Duplication of functionality already existing in another plugin
* Aggregating multiple `gulpplugins`
* Poorly documented