blob: 59231a03e3f1e31af667c9c85a09bcd24e314bfb [file] [log] [blame] [edit]
import { Commit } from '../util';
import { Branch } from '../rpc/status';
import {} from '../rpc-mock/test_data';
const fixedDate = Date.now();
const timestampSinceFixed = (seconds: number = 0) =>
new Date(fixedDate - 1000 * seconds).toISOString();
const numCommits = 0;
function nextTimestamp() {
return timestampSinceFixed(10 * numCommits);
}
const commitTemplate: Commit = {
hash: 'abc0',
author: 'alice@example.com',
parents: ['abc1'],
subject: 'current HEAD',
body: 'the most recent commit',
timestamp: '',
shortAuthor: '',
shortHash: '',
shortSubject: '',
issue: '',
patchStorage: '',
isReland: false,
isRevert: false,
ignoreFailure: false,
};
function commit(curr: number, parent: number) {
return { ...commitTemplate, hash: `abc${curr}`, parents: [`abc${parent}`] };
}
export const singleBranchData: [Array<Branch>, Array<Commit>] = [
[{ name: 'main', head: 'abc0' }],
(() => {
const ret: Array<Commit> = [];
for (let i = 0; i < 20; ++i) {
ret.push(commit(i, i + 1));
}
return ret;
})(),
];
export const doubleBranchData: [Array<Branch>, Array<Commit>] = [
[
{ name: 'main', head: 'abc0' },
{ name: 'branch', head: 'abc1' },
],
(() => {
const ret: Array<Commit> = [];
// Evens are main, odds are the branch.
for (let i = 0; i < 30; i += 2) {
ret.push(commit(i, i + 2));
if (i < 6) {
ret.push(commit(i + 1, i + 3));
} else if (i === 6) {
ret.push(commit(i + 1, i + 2));
}
}
return ret;
})(),
];
export const complexBranchData: [Array<Branch>, Array<Commit>] = [
[
{ name: 'main', head: 'abc0' },
{ name: 'branch1', head: 'abc1' },
{ name: 'branch2', head: 'abc22' },
{ name: 'branch3', head: 'abc3' },
{ name: 'Fizz Rolled', head: 'abc20' },
{ name: 'Baz Rolled', head: 'abc20' },
],
(() => {
const ret: Array<Commit> = [];
// x0 (0, 10, 20, etc) is main branch, x1 is branch1, x2 is branch2, etc.
for (let i = 0; i < 100; i += 10) {
// The main branch.
ret.push(commit(i, i + 10));
// branch1
if (i < 80) {
ret.push(commit(i + 1, i + 11));
} else if (i === 80) {
ret.push(commit(i + 1, i + 10));
}
// branch2
if (i < 60 && i > 10) {
ret.push(commit(i + 2, i + 12));
} else if (i === 60) {
ret.push(commit(i + 2, i + 10));
}
// branch3
ret.push(commit(i + 3, i + 13));
}
// Have main branch merge in other branches.
ret[0].parents!.push('abc22', 'abc1');
// Have random commit in branch1 pull in branch2.
ret[1].parents!.push('abc22');
return ret;
})(),
];