scim-docs/node_modules/tiny-matter/test/index.js
2024-08-29 12:10:19 +02:00

52 lines
1.8 KiB
JavaScript

const assert = require('assert');
const matter = require('..');
const test = require('./test');
test('matter#empty', () => {
const x = matter();
assert.ok(x);
assert.strictEqual(typeof x, 'object');
assert.strictEqual(typeof x.content, 'string');
assert.strictEqual(typeof x.data, 'undefined');
});
test('matter#normal', () => {
const x = matter('---\ntitle: Front Matter\n---\nThis is content.');
assert.ok(x);
assert.strictEqual(typeof x, 'object');
assert.strictEqual(typeof x.data, 'object');
assert.strictEqual(typeof x.content, 'string');
assert.strictEqual(x.data.title, 'Front Matter');
assert.strictEqual(x.content, 'This is content.');
});
test('matter#json', () => {
const x = matter('---\n{ "title": "Front Matter" }\n\n\n\n---\nThis is content.', { parser: JSON.parse });
assert.strictEqual(typeof x, 'object');
assert.strictEqual(typeof x.data, 'object');
assert.strictEqual(typeof x.content, 'string');
assert.strictEqual(x.data.title, 'Front Matter');
assert.strictEqual(x.content, 'This is content.');
});
test('matter#delimiters', () => {
const x = matter('@@@@\ntitle: Front Matter\n~~~~\nThis is content.', {
delimiters: ['@@@@', '~~~~'],
});
assert.ok(x);
assert.strictEqual(typeof x, 'object');
assert.strictEqual(typeof x.data, 'object');
assert.strictEqual(typeof x.content, 'string');
assert.strictEqual(x.data.title, 'Front Matter');
assert.strictEqual(x.content, 'This is content.');
});
test('matter#crlf', () => {
const x = matter('---\r\ntitle: Front Matter\r\n---\r\nThis is content.');
assert.ok(x);
assert.strictEqual(typeof x, 'object');
assert.strictEqual(typeof x.data, 'object');
assert.strictEqual(typeof x.content, 'string');
assert.strictEqual(x.data.title, 'Front Matter');
assert.strictEqual(x.content, 'This is content.');
});