larry babby and threejs for glsl

This commit is contained in:
Sam
2024-06-24 21:24:00 +12:00
parent 87d5dc634d
commit 907ebae4c0
6474 changed files with 1279596 additions and 8 deletions

View File

@@ -0,0 +1,36 @@
// @flow strict-local
import assert from 'assert';
import {generateJSONCodeHighlights} from '../src/diagnostic';
describe('generateJSONCodeHighlights', () => {
it('returns an escaped string 01', () => {
let result = generateJSONCodeHighlights(
`{
"a": 1
}`,
[
{key: '/a', type: 'key', message: 'foo1'},
{key: '/a', type: 'value', message: 'foo2'},
{key: '/a', message: 'foo3'},
],
);
assert.deepEqual(result, [
{
start: {line: 2, column: 3},
end: {line: 2, column: 5},
message: 'foo1',
},
{
start: {line: 2, column: 8},
end: {line: 2, column: 8},
message: 'foo2',
},
{
start: {line: 2, column: 3},
end: {line: 2, column: 8},
message: 'foo3',
},
]);
});
});

View File

@@ -0,0 +1,81 @@
// @flow
import assert from 'assert';
import {escapeMarkdown, md} from '../src/diagnostic';
describe('escapeMarkdown', () => {
it('returns an escaped string 01', () => {
assert.strictEqual('\\*test\\*', escapeMarkdown('*test*'));
});
it('returns an escaped string 02', () => {
assert.strictEqual('\\_test\\_', escapeMarkdown('_test_'));
});
it('returns an escaped string 03', () => {
assert.strictEqual('\\~test\\~', escapeMarkdown('~test~'));
});
it('returns an escaped string 04', () => {
assert.strictEqual('\\*\\_\\~test\\~\\_\\*', escapeMarkdown('*_~test~_*'));
});
it('returns an escaped string with backslash 01', () => {
assert.strictEqual('\\\\test\\\\', escapeMarkdown('\\test\\'));
});
it('returns an escaped string with backslash 02', () => {
assert.strictEqual('\\\\\\*test\\*\\\\', escapeMarkdown('\\*test*\\'));
});
});
describe('md tagged template literal', () => {
it('bold placeholder', () => {
assert.strictEqual(
'*Test*: **\\_abc\\_**',
md`*Test*: ${md.bold('_abc_')}`,
);
});
it('italic placeholder', () => {
assert.strictEqual(
'*Test*: _\\_abc\\__',
md`*Test*: ${md.italic('_abc_')}`,
);
});
it('underline placeholder', () => {
assert.strictEqual(
'*Test*: __\\_abc\\___',
md`*Test*: ${md.underline('_abc_')}`,
);
});
it('strikethrough placeholder', () => {
assert.strictEqual(
'*Test*: ~~\\_abc\\_~~',
md`*Test*: ${md.strikethrough('_abc_')}`,
);
});
it('escapes only placeholders', () => {
assert.strictEqual('*Test*: \\_abc\\_', md`*Test*: ${'_abc_'}`);
});
it('behaves like native template literal', () => {
let v = {
toString() {
return 'a';
},
// $FlowFixMe[invalid-computed-prop]
[Symbol.toPrimitive]() {
return 'b';
},
};
assert.strictEqual('Test: b', md`Test: ${v}`);
});
it('supports null and undefined', () => {
assert.strictEqual('Test: undefined null', md`Test: ${undefined} ${null}`);
});
});