tauri/cli/tauri.js/test/jest/__tests__/tauricon.spec.js
Lucas Fernandes Nogueira 37afc5b0dc
fix(tauri.js) determine app path correctly (#493)
* fix(tauri.js) determine app path correctly

* fix(lint): replace backtick with single-quote

* fix(tests) mock app-paths

* fix(tauri.js) linting

* fix(test) use local tauri on empty fixture

* fix(tauri.js) linting

* fix(workflows) use local tauri-bundler test-tauri-js-cli

* fix(workflows) wrong cargo install command

* fix(tauri) comment webview-spawning test

Co-authored-by: nothingismagick <denjell@sfosc.org>
2020-03-09 21:27:54 -03:00

67 lines
2.3 KiB
JavaScript

const appTestSetup = require('../fixtures/app-test-setup')
appTestSetup.initJest('app')
const tauricon = require('api/tauricon')
describe('[CLI] tauri-icon internals', () => {
it('tells you the version', () => {
const version = tauricon.version()
expect(!!version).toBe(true)
})
it('will not validate a non-file', async () => {
jest.spyOn(process, 'exit').mockImplementation(() => true)
await tauricon.validate('test/jest/fixtures/doesnotexist.png', 'test/jest/fixtures/')
expect(process.exit.mock.calls[0][0]).toBe(1)
jest.clearAllMocks()
})
it('will not validate a non-png', async () => {
jest.spyOn(process, 'exit').mockImplementation(() => true)
await tauricon.validate('test/jest/fixtures/notAMeme.jpg', 'test/jest/fixtures/')
expect(process.exit.mock.calls[0][0]).toBe(1)
jest.clearAllMocks()
})
it('can validate an image as PNG', async () => {
const valid = await tauricon.validate('test/jest/fixtures/tauri-logo.png', 'test/jest/fixtures/')
expect(valid).toBe(true)
})
})
describe('[CLI] tauri-icon builder', () => {
it('will still use default compression if missing compression chosen', async () => {
const valid = await tauricon.make('test/jest/fixtures/tauri-logo.png', 'test/jest/tmp/missing', 'missing')
expect(valid).toBe(true)
})
})
describe('[CLI] tauri-icon builder', () => {
it('will not validate a non-file', async () => {
try {
await tauricon.make('test/jest/fixtures/tauri-foo-not-found.png', 'test/jest/tmp/pngquant', 'pngquant')
} catch (e) {
expect(e.message).toBe('Input file is missing')
}
})
})
describe('[CLI] tauri-icon builder', () => {
it('makes a set of icons with pngquant', async () => {
const valid = await tauricon.make('test/jest/fixtures/tauri-logo.png', 'test/jest/tmp/pngquant', 'pngquant')
expect(valid).toBe(true)
})
it('makes a set of icons with optipng', async () => {
const valid = await tauricon.make('test/jest/fixtures/tauri-logo.png', 'test/jest/tmp/optipng', 'optipng')
expect(valid).toBe(true)
})
/*
TURNED OFF BECAUSE IT TAKES FOREVER
it('makes a set of icons with zopfli', async () => {
jest.setTimeout(120000)
const valid = await tauricon.make('test/jest/fixtures/tauri-logo.png', 'test/jest/tmp/zopfli', 'zopfli')
expect(valid).toBe(true)
})
*/
})