@git-emoji/dataset-js
Version:
Emoji data and contextual emoji data
50 lines • 2.14 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const assert = require("assert");
const context_1 = require("../context");
const context_v2_1 = require("../context_v2");
const emoji_1 = require("../emoji");
const word_1 = require("../word");
const util_1 = require("./util");
suite('Context data', () => {
const allContexts = [
{ name: "context", data: context_1.context },
{ name: "contextV2", data: context_v2_1.contextV2 },
];
suite('should be ordered', () => {
for (const { name, data } of allContexts) {
for (const entry of data) {
((entry, name) => {
test(`(${name}) entry with keywords: ${entry.keyword.join(',')}`, () => {
(0, util_1.assertSorted)(entry.keyword, `(${name}) keyword: ${entry.keyword.join(',')}`);
const ids = entry.emoji.map(x => x.id);
(0, util_1.assertSorted)(ids, `(${name}) emoji: ${ids.join(',')}`);
});
})(entry, name);
}
}
});
suite('should reference defined emojis', () => {
for (const { name, data } of allContexts) {
for (const entry of data) {
((entry, name) => {
test(`(${name}) entry with keywords: ${entry.keyword.join(',')}`, () => {
entry.emoji.forEach(e => assert.ok(emoji_1.emoji[(0, util_1.emojiIdToFieldName)(e.id)], `(${name}) unknown emoji id: ${e.id}`));
});
})(entry, name);
}
}
});
suite('should reference defined words', () => {
for (const { name, data } of allContexts) {
for (const entry of data) {
((entry, name) => {
test(`(${name}) entry with keywords: ${entry.keyword.join(',')}`, () => {
entry.keyword.forEach(kw => assert.ok(word_1.word[kw], `(${name}) unknown word: ${kw}`));
});
})(entry, name);
}
}
});
});
//# sourceMappingURL=context.test.js.map