fix for tests && new tests for multi-level cases

This commit is contained in:
Andrey Savin
2022-12-07 22:55:15 +02:00
parent 361f9231d8
commit e6af9b4b73

View File

@ -12,9 +12,9 @@ describe("ConcreteNumbering", () => {
abstractNumId: 1,
reference: "1",
instance: 0,
overrideLevel: {
overrideLevels: [{
num: 3,
},
}],
});
const tree = new Formatter().format(concreteNumbering);
@ -44,16 +44,62 @@ describe("ConcreteNumbering", () => {
});
});
it("sets a new override level for two different level numbers", () => {
const concreteNumbering = new ConcreteNumbering({
numId: 0,
abstractNumId: 1,
reference: "1",
instance: 0,
overrideLevels: [
{ num: 3 },
{ num: 5 }
],
});
const tree = new Formatter().format(concreteNumbering);
expect(tree).to.deep.equal({
"w:num": [
{
_attr: {
"w:numId": 0,
},
},
{
"w:abstractNumId": {
_attr: {
"w:val": 1,
},
},
},
{
"w:lvlOverride": {
_attr: {
"w:ilvl": 3,
},
},
},
{
"w:lvlOverride": {
_attr: {
"w:ilvl": 5,
},
},
},
],
});
});
it("sets the startOverride element if start is given", () => {
const concreteNumbering = new ConcreteNumbering({
numId: 0,
abstractNumId: 1,
reference: "1",
instance: 0,
overrideLevel: {
overrideLevels: [{
num: 1,
start: 9,
},
}],
});
const tree = new Formatter().format(concreteNumbering);
expect(tree).to.deep.equal({
@ -90,15 +136,143 @@ describe("ConcreteNumbering", () => {
});
});
it("sets the startOverride element for several levels if start is given", () => {
const concreteNumbering = new ConcreteNumbering({
numId: 0,
abstractNumId: 1,
reference: "1",
instance: 0,
overrideLevels: [
{
num: 1,
start: 9,
},
{
num: 3,
start: 10,
}
],
});
const tree = new Formatter().format(concreteNumbering);
expect(tree).to.deep.equal({
"w:num": [
{
_attr: {
"w:numId": 0,
},
},
{
"w:abstractNumId": {
_attr: {
"w:val": 1,
},
},
},
{
"w:lvlOverride": [
{
_attr: {
"w:ilvl": 1,
},
},
{
"w:startOverride": {
_attr: {
"w:val": 9,
},
},
},
],
},
{
"w:lvlOverride": [
{
_attr: {
"w:ilvl": 3,
},
},
{
"w:startOverride": {
_attr: {
"w:val": 10,
},
},
},
],
},
],
});
});
it("Mix of overrideLevels with start and without", () => {
const concreteNumbering = new ConcreteNumbering({
numId: 0,
abstractNumId: 1,
reference: "1",
instance: 0,
overrideLevels: [
{
num: 1,
start: 9,
},
{
num: 3
}
],
});
const tree = new Formatter().format(concreteNumbering);
expect(tree).to.deep.equal({
"w:num": [
{
_attr: {
"w:numId": 0,
},
},
{
"w:abstractNumId": {
_attr: {
"w:val": 1,
},
},
},
{
"w:lvlOverride": [
{
_attr: {
"w:ilvl": 1,
},
},
{
"w:startOverride": {
_attr: {
"w:val": 9,
},
},
},
],
},
{
"w:lvlOverride": [
{
_attr: {
"w:ilvl": 3,
},
}
],
},
],
});
});
it("sets the lvl element if overrideLevel.Level is accessed", () => {
const concreteNumbering = new ConcreteNumbering({
numId: 0,
abstractNumId: 1,
reference: "1",
instance: 0,
overrideLevel: {
overrideLevels: [{
num: 1,
},
}],
});
const tree = new Formatter().format(concreteNumbering);
expect(tree).to.deep.equal({