42 lines
1.4 KiB
TypeScript
42 lines
1.4 KiB
TypeScript
import AndroidVersioning from './android-versioning';
|
|
|
|
describe('Android Versioning', () => {
|
|
describe('versionToVersionCode', () => {
|
|
it('defaults to 0 when versioning strategy is none', () => {
|
|
expect(AndroidVersioning.versionToVersionCode('none')).toBe('0');
|
|
});
|
|
|
|
it('defaults to 1 when version is not a valid semver', () => {
|
|
expect(AndroidVersioning.versionToVersionCode('abcd')).toBe('1');
|
|
});
|
|
|
|
it('returns a number', () => {
|
|
expect(AndroidVersioning.versionToVersionCode('123.456.789')).toBe('123456789');
|
|
});
|
|
|
|
it('throw when generated version code is too large', () => {
|
|
expect(() => AndroidVersioning.versionToVersionCode('2050.0.0')).toThrow();
|
|
});
|
|
});
|
|
|
|
describe('determineVersionCode', () => {
|
|
it('defaults to parsed version', () => {
|
|
expect(AndroidVersioning.determineVersionCode('1.2.3', '')).toBe('1002003');
|
|
});
|
|
|
|
it('use specified code', () => {
|
|
expect(AndroidVersioning.determineVersionCode('1.2.3', '2')).toBe('2');
|
|
});
|
|
});
|
|
|
|
describe('determineSdkManagerParameters', () => {
|
|
it('defaults to blank', () => {
|
|
expect(AndroidVersioning.determineSdkManagerParameters('AndroidApiLevelAuto')).toBe('');
|
|
});
|
|
|
|
it('uses the specified api level', () => {
|
|
expect(AndroidVersioning.determineSdkManagerParameters('AndroidApiLevel30')).toBe('platforms;android-30');
|
|
});
|
|
});
|
|
});
|