sol - bhsd-harry/wikiparser-node GitHub Wiki
This is an internal document. For visitors, you can now go back to the home page.
// toString (main)
var {sol} = require('../mixin/sol');
var parent = {
type: 'root',
is() {
return true;
},
},
SolToken, token, previous;
class S {
str = 'test';
toString() {
return this.str;
}
}
SolToken = sol()(S);
token = new SolToken();
assert.strictEqual(token.toString(), '\ntest');
token.parentNode = parent;
assert.strictEqual(token.toString(), 'test');
token.type = 'list';
parent.type = 'ext-inner';
assert.strictEqual(token.toString(), 'test');
token.type = '';
parent.name = 'poem';
assert.strictEqual(token.toString(), 'test');
previous = new S();
token.previousVisibleSibling = previous;
assert.strictEqual(token.toString(), '\ntest');
previous.str = '\n';
assert.strictEqual(token.toString(), 'test');
SolToken = sol(true)(S);
token = new SolToken();
SolToken = sol(true)(S);
token = new SolToken();
token.previousVisibleSibling = previous;
assert.strictEqual(token.toString(), 'test');
// getAttribute (main)
var {sol} = require('../mixin/sol');
var parent = {
type: 'root',
is() {
return true;
},
},
SolToken, token, previous;
class S {
str = 'test';
toString() {
return this.str;
}
getAttribute(key) {
return key === 'padding' && 0;
}
}
SolToken = sol()(S);
token = new SolToken();
assert.strictEqual(token.getAttribute(), false);
assert.strictEqual(token.getAttribute('padding'), 1);
token.parentNode = parent;
assert.strictEqual(token.getAttribute('padding'), 0);
token.type = 'list';
parent.type = 'ext-inner';
assert.strictEqual(token.getAttribute('padding'), 0);
token.type = '';
parent.name = 'poem';
assert.strictEqual(token.getAttribute('padding'), 0);
previous = new S();
token.previousVisibleSibling = previous;
assert.strictEqual(token.getAttribute('padding'), 1);
previous.str = '\n';
assert.strictEqual(token.getAttribute('padding'), 0);
SolToken = sol(true)(S);
token = new SolToken();
SolToken = sol(true)(S);
token = new SolToken();
token.previousVisibleSibling = previous;
assert.strictEqual(token.getAttribute('padding'), 0);
// text (main)
var {sol} = require('../mixin/sol');
var parent = {
type: 'root',
is() {
return true;
},
},
SolToken, token, previous;
class S {
str = 'test';
toString() {
return this.str;
}
text() {
return 'test';
}
}
SolToken = sol()(S);
token = new SolToken();
assert.strictEqual(token.toString(), '\ntest');
token.parentNode = parent;
assert.strictEqual(token.toString(), 'test');
token.type = 'list';
parent.type = 'ext-inner';
assert.strictEqual(token.toString(), 'test');
token.type = '';
parent.name = 'poem';
assert.strictEqual(token.toString(), 'test');
previous = new S();
token.previousVisibleSibling = previous;
assert.strictEqual(token.toString(), '\ntest');
previous.str = '\n';
assert.strictEqual(token.toString(), 'test');
SolToken = sol(true)(S);
token = new SolToken();
SolToken = sol(true)(S);
token = new SolToken();
token.previousVisibleSibling = previous;
assert.strictEqual(token.toString(), 'test');