Units hover notes and a family tree for people (Theographic)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
fdb7f16d8a
commit
f05d38ecde
8 files changed
+282
-1
No files matched your search
@@ -0,0 +1,29 @@
|
||||
import { test, expect } from 'vitest';
|
||||
import { markUnits, unitNote } from './biblicalUnits.js';
|
||||
|
||||
const noted = (text) => markUnits(text).filter((p) => p.note).map((p) => p.text);
|
||||
|
||||
test('units in a verse are found with their meaning, in any form', () => {
|
||||
expect(noted('The ark was two and a half cubits long and a handbreadth thick.')).toEqual(['cubits', 'handbreadth']);
|
||||
expect(noted('He gave him five talents, and she lost one drachma; it cost a denarius.')).toEqual(['talents', 'drachma', 'denarius']);
|
||||
expect(noted('An ephah of flour, an omer of manna, and a hin of oil.')).toEqual(['ephah', 'omer', 'hin']);
|
||||
expect(noted('about twenty-five or thirty stadia')).toEqual(['stadia']);
|
||||
expect(unitNote('Talent')).toMatch(/75 pounds/);
|
||||
});
|
||||
|
||||
test('the pieces rejoin to the original text, and a verse with no units is one piece', () => {
|
||||
const text = 'five talents of silver (a talent is heavy)';
|
||||
expect(markUnits(text).map((p) => p.text).join('')).toBe(text);
|
||||
expect(markUnits('For God so loved the world')).toEqual([{ text: 'For God so loved the world' }]);
|
||||
expect(markUnits('')).toEqual([{ text: '' }]);
|
||||
});
|
||||
|
||||
test('ordinary words are not mistaken for units', () => {
|
||||
expect(noted('He took a pound of flesh; a span of the river; the mile stone')).toEqual(['span', 'mile']);
|
||||
expect(noted('Bathsheba and Cornelius, the stadium crowd, a corner and a hinge')).toEqual([]);
|
||||
});
|
||||
|
||||
test('a mina is a mina, and the older word pound is left alone', () => {
|
||||
expect(noted('ten minas and a mina')).toEqual(['minas', 'mina']);
|
||||
expect(unitNote('pound')).toBeNull();
|
||||
});
|
||||
Reference in new issue
Block a user