mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-16 10:16:16 +01:00
use reflow to migrate from flow to typescript
This commit is contained in:
75
scm-ui/ui-components/src/repos/diffs.test.ts
Normal file
75
scm-ui/ui-components/src/repos/diffs.test.ts
Normal file
@@ -0,0 +1,75 @@
|
||||
import { File, FileChangeType, Hunk } from './DiffTypes';
|
||||
import {
|
||||
getPath,
|
||||
createHunkIdentifier,
|
||||
createHunkIdentifierFromContext,
|
||||
} from './diffs';
|
||||
|
||||
describe('tests for diff util functions', () => {
|
||||
const file = (
|
||||
type: FileChangeType,
|
||||
oldPath: string,
|
||||
newPath: string,
|
||||
): File => {
|
||||
return {
|
||||
hunks: [],
|
||||
type: type,
|
||||
oldPath,
|
||||
newPath,
|
||||
newEndingNewLine: true,
|
||||
oldEndingNewLine: true,
|
||||
};
|
||||
};
|
||||
|
||||
const add = (path: string) => {
|
||||
return file('add', '/dev/null', path);
|
||||
};
|
||||
|
||||
const rm = (path: string) => {
|
||||
return file('delete', path, '/dev/null');
|
||||
};
|
||||
|
||||
const modify = (path: string) => {
|
||||
return file('modify', path, path);
|
||||
};
|
||||
|
||||
const createHunk = (content: string): Hunk => {
|
||||
return {
|
||||
content,
|
||||
changes: [],
|
||||
};
|
||||
};
|
||||
|
||||
describe('getPath tests', () => {
|
||||
it('should pick the new path, for type add', () => {
|
||||
const file = add('/etc/passwd');
|
||||
const path = getPath(file);
|
||||
expect(path).toBe('/etc/passwd');
|
||||
});
|
||||
|
||||
it('should pick the old path, for type delete', () => {
|
||||
const file = rm('/etc/passwd');
|
||||
const path = getPath(file);
|
||||
expect(path).toBe('/etc/passwd');
|
||||
});
|
||||
});
|
||||
|
||||
describe('createHunkIdentifier tests', () => {
|
||||
it('should create identifier', () => {
|
||||
const file = modify('/etc/passwd');
|
||||
const hunk = createHunk('@@ -1,18 +1,15 @@');
|
||||
const identifier = createHunkIdentifier(file, hunk);
|
||||
expect(identifier).toBe('modify_/etc/passwd_@@ -1,18 +1,15 @@');
|
||||
});
|
||||
});
|
||||
|
||||
describe('createHunkIdentifierFromContext tests', () => {
|
||||
it('should create identifier', () => {
|
||||
const identifier = createHunkIdentifierFromContext({
|
||||
file: rm('/etc/passwd'),
|
||||
hunk: createHunk('@@ -1,42 +1,39 @@'),
|
||||
});
|
||||
expect(identifier).toBe('delete_/etc/passwd_@@ -1,42 +1,39 @@');
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user