@native-html/heuristic-table-plugin
Version:
🔠A 100% native component using heuristics to render tables in react-native-render-html
104 lines (102 loc) • 2.05 kB
text/typescript
import reduceColumnConstraints from '../reduceColumnConstraints';
describe('getColumnConstraints', () => {
it('should return a record which keys are column indexes, and which values are the reduced constraints for this column', () => {
expect(
reduceColumnConstraints([
{
lenX: 1,
lenY: 1,
x: 0,
y: 0,
constraints: {
contentDensity: 3,
minWidth: 2
}
},
{
lenX: 1,
lenY: 1,
x: 1,
y: 0,
constraints: {
contentDensity: 4,
minWidth: 3
}
},
{
lenX: 1,
lenY: 1,
x: 0,
y: 1,
constraints: {
contentDensity: 3,
minWidth: 1
}
},
{
lenX: 1,
lenY: 1,
x: 1,
y: 1,
constraints: {
contentDensity: 2,
minWidth: 1
}
}
])
).toEqual([
{
contentDensity: 6,
spread: 3,
minWidth: 2
},
{
contentDensity: 6,
spread: 4,
minWidth: 3
}
]);
});
it('should split content density and min width of cells expanding horizontaly by its length when reducing constraints', () => {
expect(
reduceColumnConstraints([
{
lenX: 3,
lenY: 1,
x: 0,
y: 0,
constraints: {
contentDensity: 9,
minWidth: 3
}
},
{
lenX: 1,
lenY: 1,
x: 0,
y: 1,
constraints: {
contentDensity: 4,
minWidth: 2
}
}
])
).toEqual([
{
contentDensity: 7,
spread: 4,
minWidth: 2
},
{
contentDensity: 3,
spread: 3,
minWidth: 1
},
{
contentDensity: 3,
spread: 3,
minWidth: 1
}
]);
});
});