* Add suggest and psmodule to schema.json
* Fix required fields in schema.json
* Improve url validation in schema.json
* Add validator.exe as a single file validation tool
* Add Scoop.Validator Lib for use in Manifest-Tests
* Add buildscript for Scoop.Validator and validator.exe
* Exclude .dll and packages folder from Project-Tests
* Validate manifests against JSON Schema in CI Tests
* Complete JSON Schema Validation
* Dlls shouldn't be treated as text
* fixes tests by coercing the `test-unzip` return value back into a valid path string
* fixes#476
.# Discussion
For Win10 machines, `test-unzip` returns a bugged value, causing test failures.
Investigation shows that the combination of Pester, COM (used within unzip_old), and
Win10 leads to the odd/bugged return value. The return value contains the correct
string, but it is prefaced with a leading space which arises de-novo during the
execution return process from `test-unzip`. The value is correct and usable at the end
of `test-unzip` but is bugged upon receiving the value at the caller. Removing the COM
call from within `unzip_old` or using a Windows version earlier than Win10 fixes the
problem, but are obviously not useful as solutions.
Given the nature of the returned value and COM involvement, the real problem is likely
stack corruption. But it's not clear whether the issue is with Pester, Win10/PowerShell,
or possibly even some subtle bug within unzip_old.
This, admittedly hacky, coercion fixes the problem for all Windows versions and also
keeps Appveyor satisfied.
* Scoop-Alias: remove erroneous output from dot-sourcing the source file
* Scoop-Alias: using "TestDrive:\" for mocked shimdir
- reduced cleanup
- improved robustness; excution is now independent of CWD
* Scoop-Core: corrected directory location code
- improved robustness; execution is now independent of CWD
.# Discussion
These tests help to maintain five style constraints:
1. files have no utf-8 byte-order-marks (BOM)
2. all files have CRLF EOLNs (*required* for correct operation of BAT/CMD script files)
3. all files end with a newline
4. any leading whitespace consists solely of spaces
5. no trailing whitespace
By using these constraints, whitespace noise between commits is reduced to a minimum.
* change files to be in accordance with .editorconfig
* files in this commit are separate from the initial whitespace commit to check for testing code breakage
* NOTE: whitespace changes *only* (`git diff -b` shows no changes)
* makes changes to almost all main repo files to be in accordance with .editorconfig
* some files in "test\fixtures\..." were left alone to avoid breaking tests
* NOTE: whitespace changes *only* (`git diff -b` shows no changes)