refactor for cross platform use

This commit is contained in:
softprops
2019-09-09 17:10:07 +09:00
parent 090932e783
commit 18daf2c63f
15 changed files with 5626 additions and 23 deletions

30
__tests__/github.test.ts Normal file
View File

@ -0,0 +1,30 @@
//import * as assert from "assert";
//const assert = require('assert');
import * as assert from 'assert';
import { mimeOrDefault, asset } from '../src/github';
describe('github', () => {
describe('mimeOrDefault', () => {
it('returns a specific mime for common path', async () => {
assert.equal(mimeOrDefault('foo.tar.gz'), 'application/gzip')
});
it('returns default mime for uncommon path', async () => {
assert.equal(mimeOrDefault('foo.uncommon'), 'application/octet-stream')
});
});
describe('asset', () => {
it('derives asset info from a path', async () => {
const {
name,
mime,
size,
file
} = asset('tests/data/foo/bar.txt');
assert.equal(name, 'bar.txt');
assert.equal(mime, 'text/plain');
assert.equal(size, 10);
assert.equal(file.toString(), 'release me')
});
})
});

19
__tests__/util.test.ts Normal file
View File

@ -0,0 +1,19 @@
import { isTag, paths } from '../src/util';
import * as assert from 'assert';
describe('util', () => {
describe('isTag', () => {
it('returns true for tags', async () => {
assert.equal(isTag('refs/tags/foo'), true)
});
it ('returns false for other kinds of refs', async () => {
assert.equal(isTag('refs/heads/master'), false)
})
})
describe('paths', () => {
it('resolves files given a set of paths', async () => {
assert.deepStrictEqual(paths(["tests/data/**/*"]), ['tests/data/foo/bar.txt'])
});
})
});