mirror of
https://github.com/jzillmann/pdf-to-markdown.git
synced 2025-06-24 19:41:24 +02:00
Fix tests
This commit is contained in:
parent
19a76d6163
commit
25f23ee0e4
@ -5,6 +5,8 @@ import Item from 'src/Item';
|
|||||||
import { items, realisticItems } from '../testItems';
|
import { items, realisticItems } from '../testItems';
|
||||||
import { Addition, ContentChange } from 'src/debug/ChangeIndex';
|
import { Addition, ContentChange } from 'src/debug/ChangeIndex';
|
||||||
|
|
||||||
|
const defaultSchema = ['line', 'x', 'y', 'str', 'fontNmae', 'dir', 'width', 'height'];
|
||||||
|
|
||||||
test('Basics', async () => {
|
test('Basics', async () => {
|
||||||
const itemMerger = new LineItemMerger();
|
const itemMerger = new LineItemMerger();
|
||||||
const evaluationTracker = new EvaluationTracker();
|
const evaluationTracker = new EvaluationTracker();
|
||||||
@ -13,6 +15,7 @@ test('Basics', async () => {
|
|||||||
const mergedItem = itemMerger.merge(
|
const mergedItem = itemMerger.merge(
|
||||||
evaluationTracker,
|
evaluationTracker,
|
||||||
changeTracker,
|
changeTracker,
|
||||||
|
defaultSchema,
|
||||||
items(0, [
|
items(0, [
|
||||||
{
|
{
|
||||||
line: 2,
|
line: 2,
|
||||||
@ -64,7 +67,12 @@ test('Track all lines as changes', async () => {
|
|||||||
const itemMerger = new LineItemMerger(true);
|
const itemMerger = new LineItemMerger(true);
|
||||||
const evaluationTracker = new EvaluationTracker();
|
const evaluationTracker = new EvaluationTracker();
|
||||||
const changeTracker = new ChangeTracker();
|
const changeTracker = new ChangeTracker();
|
||||||
const mergedItem = itemMerger.merge(evaluationTracker, changeTracker, realisticItems(0, [{ line: 1 }, { line: 1 }]));
|
const mergedItem = itemMerger.merge(
|
||||||
|
evaluationTracker,
|
||||||
|
changeTracker,
|
||||||
|
defaultSchema,
|
||||||
|
realisticItems(0, [{ line: 1 }, { line: 1 }]),
|
||||||
|
);
|
||||||
expect(changeTracker.change(mergedItem)).toEqual(new Addition());
|
expect(changeTracker.change(mergedItem)).toEqual(new Addition());
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -75,8 +83,8 @@ test('Mark lines containing evaluated items as evaluated', async () => {
|
|||||||
const items1 = realisticItems(0, [{ line: 1 }, { line: 1 }]);
|
const items1 = realisticItems(0, [{ line: 1 }, { line: 1 }]);
|
||||||
const items2 = realisticItems(0, [{ line: 2 }, { line: 2 }]);
|
const items2 = realisticItems(0, [{ line: 2 }, { line: 2 }]);
|
||||||
evaluationTracker.trackEvaluation(items1[1]);
|
evaluationTracker.trackEvaluation(items1[1]);
|
||||||
const mergedItem1 = itemMerger.merge(evaluationTracker, changeTracker, items1);
|
const mergedItem1 = itemMerger.merge(evaluationTracker, changeTracker, defaultSchema, items1);
|
||||||
const mergedItem2 = itemMerger.merge(evaluationTracker, changeTracker, items2);
|
const mergedItem2 = itemMerger.merge(evaluationTracker, changeTracker, defaultSchema, items2);
|
||||||
expect(evaluationTracker.evaluated(mergedItem1)).toBeTruthy();
|
expect(evaluationTracker.evaluated(mergedItem1)).toBeTruthy();
|
||||||
expect(evaluationTracker.evaluated(mergedItem2)).toBeFalsy();
|
expect(evaluationTracker.evaluated(mergedItem2)).toBeFalsy();
|
||||||
});
|
});
|
||||||
@ -88,8 +96,8 @@ test('Mark lines containing changed items as changed', async () => {
|
|||||||
const items1 = realisticItems(0, [{ line: 1 }, { line: 1 }]);
|
const items1 = realisticItems(0, [{ line: 1 }, { line: 1 }]);
|
||||||
const items2 = realisticItems(0, [{ line: 2 }, { line: 2 }]);
|
const items2 = realisticItems(0, [{ line: 2 }, { line: 2 }]);
|
||||||
changeTracker.trackPositionalChange(items1[1], 1, 0);
|
changeTracker.trackPositionalChange(items1[1], 1, 0);
|
||||||
const mergedItem1 = itemMerger.merge(evaluationTracker, changeTracker, items1);
|
const mergedItem1 = itemMerger.merge(evaluationTracker, changeTracker, defaultSchema, items1);
|
||||||
const mergedItem2 = itemMerger.merge(evaluationTracker, changeTracker, items2);
|
const mergedItem2 = itemMerger.merge(evaluationTracker, changeTracker, defaultSchema, items2);
|
||||||
expect(changeTracker.change(mergedItem1)).toEqual(new ContentChange());
|
expect(changeTracker.change(mergedItem1)).toEqual(new ContentChange());
|
||||||
expect(changeTracker.change(mergedItem2)).toEqual(undefined);
|
expect(changeTracker.change(mergedItem2)).toEqual(undefined);
|
||||||
});
|
});
|
||||||
|
@ -9,7 +9,7 @@ import ChangeTracker from 'src/debug/ChangeTracker';
|
|||||||
test('empty', async () => {
|
test('empty', async () => {
|
||||||
const evaluationTracker = new EvaluationTracker();
|
const evaluationTracker = new EvaluationTracker();
|
||||||
const changeTracker = new ChangeTracker();
|
const changeTracker = new ChangeTracker();
|
||||||
expect(asPages(evaluationTracker, changeTracker, [])).toEqual([]);
|
expect(asPages(evaluationTracker, changeTracker, [], [])).toEqual([]);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('no merger', async () => {
|
test('no merger', async () => {
|
||||||
@ -25,7 +25,7 @@ test('no merger', async () => {
|
|||||||
const flattenedItems = new Array<Item>().concat(...pageItems);
|
const flattenedItems = new Array<Item>().concat(...pageItems);
|
||||||
const evaluationTracker = new EvaluationTracker();
|
const evaluationTracker = new EvaluationTracker();
|
||||||
const changeTracker = new ChangeTracker();
|
const changeTracker = new ChangeTracker();
|
||||||
const pages = asPages(evaluationTracker, changeTracker, flattenedItems);
|
const pages = asPages(evaluationTracker, changeTracker, ['id', 'line'], flattenedItems);
|
||||||
expect(pages).toEqual([
|
expect(pages).toEqual([
|
||||||
{ index: 0, itemGroups: pageItems[0].map((item) => new ItemGroup(item)) },
|
{ index: 0, itemGroups: pageItems[0].map((item) => new ItemGroup(item)) },
|
||||||
{ index: 1, itemGroups: pageItems[1].map((item) => new ItemGroup(item)) },
|
{ index: 1, itemGroups: pageItems[1].map((item) => new ItemGroup(item)) },
|
||||||
@ -48,7 +48,7 @@ test('merger', async () => {
|
|||||||
const merger: ItemMerger = { groupKey: 'line', merge: (items) => items[0] };
|
const merger: ItemMerger = { groupKey: 'line', merge: (items) => items[0] };
|
||||||
const evaluationTracker = new EvaluationTracker();
|
const evaluationTracker = new EvaluationTracker();
|
||||||
const changeTracker = new ChangeTracker();
|
const changeTracker = new ChangeTracker();
|
||||||
const pages = asPages(evaluationTracker, changeTracker, flattenedItems, merger);
|
const pages = asPages(evaluationTracker, changeTracker, ['id', 'line'], flattenedItems, merger);
|
||||||
|
|
||||||
expect(pages).toEqual([
|
expect(pages).toEqual([
|
||||||
{ index: 0, itemGroups: pageItems[0].map((item) => new ItemGroup(item)) },
|
{ index: 0, itemGroups: pageItems[0].map((item) => new ItemGroup(item)) },
|
||||||
@ -56,7 +56,7 @@ test('merger', async () => {
|
|||||||
index: 1,
|
index: 1,
|
||||||
itemGroups: [
|
itemGroups: [
|
||||||
new ItemGroup(
|
new ItemGroup(
|
||||||
merger.merge(evaluationTracker, changeTracker, pageItems[1].slice(0, 2)),
|
merger.merge(evaluationTracker, changeTracker, ['id', 'line'], pageItems[1].slice(0, 2)),
|
||||||
pageItems[1].slice(0, 2),
|
pageItems[1].slice(0, 2),
|
||||||
),
|
),
|
||||||
new ItemGroup(pageItems[1][2]),
|
new ItemGroup(pageItems[1][2]),
|
||||||
|
@ -26,7 +26,7 @@ test('itemsUnpacked', async () => {
|
|||||||
{ idx: 5, line: 1 },
|
{ idx: 5, line: 1 },
|
||||||
]),
|
]),
|
||||||
];
|
];
|
||||||
const pages = asPages(evaluationTracker, changeTracker, flatItems, itemMerger);
|
const pages = asPages(evaluationTracker, changeTracker, ['idx', 'line'], flatItems, itemMerger);
|
||||||
const result = new StageResult(new Globals(), descriptor, schema, pages, evaluationTracker, changeTracker, []);
|
const result = new StageResult(new Globals(), descriptor, schema, pages, evaluationTracker, changeTracker, []);
|
||||||
|
|
||||||
expect(result.itemsUnpacked().map((item) => item.data['idx'])).toEqual([0, 1, 2, 3, 4, 5]);
|
expect(result.itemsUnpacked().map((item) => item.data['idx'])).toEqual([0, 1, 2, 3, 4, 5]);
|
||||||
@ -51,7 +51,7 @@ test('itemsCleanedAndUnpacked', async () => {
|
|||||||
{ idx: 5, line: 1 },
|
{ idx: 5, line: 1 },
|
||||||
]),
|
]),
|
||||||
];
|
];
|
||||||
const pages = asPages(evaluationTracker, changeTracker, flatItems, itemMerger);
|
const pages = asPages(evaluationTracker, changeTracker, ['idx', 'line'], flatItems, itemMerger);
|
||||||
changeTracker.trackRemoval(flatItems[1]);
|
changeTracker.trackRemoval(flatItems[1]);
|
||||||
changeTracker.trackRemoval(flatItems[4]);
|
changeTracker.trackRemoval(flatItems[4]);
|
||||||
const result = new StageResult(new Globals(), descriptor, schema, pages, evaluationTracker, changeTracker, []);
|
const result = new StageResult(new Globals(), descriptor, schema, pages, evaluationTracker, changeTracker, []);
|
||||||
@ -84,7 +84,7 @@ describe('select pages', () => {
|
|||||||
evaluationTracker.trackEvaluation(flatItems[3]);
|
evaluationTracker.trackEvaluation(flatItems[3]);
|
||||||
changeTracker.trackAddition(flatItems[2]);
|
changeTracker.trackAddition(flatItems[2]);
|
||||||
changeTracker.trackAddition(flatItems[4]);
|
changeTracker.trackAddition(flatItems[4]);
|
||||||
const pages = asPages(evaluationTracker, changeTracker, flatItems, itemMerger);
|
const pages = asPages(evaluationTracker, changeTracker, ['idx', 'line'], flatItems, itemMerger);
|
||||||
const result = new StageResult(new Globals(), descriptor, schema, pages, evaluationTracker, changeTracker, []);
|
const result = new StageResult(new Globals(), descriptor, schema, pages, evaluationTracker, changeTracker, []);
|
||||||
|
|
||||||
const allGrouped = result.selectPages(false, true);
|
const allGrouped = result.selectPages(false, true);
|
||||||
@ -122,7 +122,7 @@ describe('select pages', () => {
|
|||||||
{ idx: 5, line: 1 },
|
{ idx: 5, line: 1 },
|
||||||
]),
|
]),
|
||||||
];
|
];
|
||||||
const pages = asPages(evaluationTracker, changeTracker, flatItems, itemMerger);
|
const pages = asPages(evaluationTracker, changeTracker, ['idx', 'line'], flatItems, itemMerger);
|
||||||
const result = new StageResult(new Globals(), descriptor, schema, pages, evaluationTracker, changeTracker, []);
|
const result = new StageResult(new Globals(), descriptor, schema, pages, evaluationTracker, changeTracker, []);
|
||||||
|
|
||||||
const allGrouped = result.selectPages(false, true);
|
const allGrouped = result.selectPages(false, true);
|
||||||
@ -171,7 +171,7 @@ describe('select pages', () => {
|
|||||||
];
|
];
|
||||||
changeTracker.trackAddition(flatItems[3]);
|
changeTracker.trackAddition(flatItems[3]);
|
||||||
changeTracker.trackAddition(flatItems[5]);
|
changeTracker.trackAddition(flatItems[5]);
|
||||||
const pages = asPages(evaluationTracker, changeTracker, flatItems, itemMerger);
|
const pages = asPages(evaluationTracker, changeTracker, ['idx', 'line'], flatItems, itemMerger);
|
||||||
const result = new StageResult(new Globals(), descriptor, schema, pages, evaluationTracker, changeTracker, []);
|
const result = new StageResult(new Globals(), descriptor, schema, pages, evaluationTracker, changeTracker, []);
|
||||||
|
|
||||||
const allGrouped = result.selectPages(false, true);
|
const allGrouped = result.selectPages(false, true);
|
||||||
@ -217,7 +217,7 @@ describe('select pages', () => {
|
|||||||
{ idx: 5, line: 1 },
|
{ idx: 5, line: 1 },
|
||||||
]),
|
]),
|
||||||
];
|
];
|
||||||
const pages = asPages(evaluationTracker, changeTracker, flatItems, itemMerger);
|
const pages = asPages(evaluationTracker, changeTracker, ['idx', 'line'], flatItems, itemMerger);
|
||||||
const result = new StageResult(new Globals(), descriptor, schema, pages, evaluationTracker, changeTracker, []);
|
const result = new StageResult(new Globals(), descriptor, schema, pages, evaluationTracker, changeTracker, []);
|
||||||
|
|
||||||
const relevantGrouped = result.selectPages(true, true);
|
const relevantGrouped = result.selectPages(true, true);
|
||||||
@ -237,7 +237,7 @@ describe('select pages', () => {
|
|||||||
...items(1, [{ idx: 3 }]),
|
...items(1, [{ idx: 3 }]),
|
||||||
...items(2, [{ idx: 4 }, { idx: 5 }]),
|
...items(2, [{ idx: 4 }, { idx: 5 }]),
|
||||||
];
|
];
|
||||||
const pages = asPages(evaluationTracker, changeTracker, flatItems);
|
const pages = asPages(evaluationTracker, changeTracker, ['idx', 'line'], flatItems);
|
||||||
const result = new StageResult(new Globals(), descriptor, schema, pages, evaluationTracker, changeTracker, []);
|
const result = new StageResult(new Globals(), descriptor, schema, pages, evaluationTracker, changeTracker, []);
|
||||||
|
|
||||||
const relevantGrouped = result.selectPages(true, true);
|
const relevantGrouped = result.selectPages(true, true);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user