Skip to content

Commit

Permalink
Add regression tests
Browse files Browse the repository at this point in the history
  • Loading branch information
carlobeltrame committed Sep 21, 2023
1 parent 07e717a commit 28d35e3
Showing 1 changed file with 214 additions and 0 deletions.
214 changes: 214 additions & 0 deletions packages/layout/tests/node/shouldBreak.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -157,4 +157,218 @@ describe('node shouldBreak', () => {

expect(result).toEqual(false);
});

test('should work with trivial minimal reproduction example', () => {
const result = shouldBreak(
{
type: 'VIEW',
box: {
top: 30,
height: 0,
marginTop: 0,
marginBottom: 0,
},
props: { minPresenceAhead: 100 },
},
[
{
type: 'VIEW',
box: {
top: 30,
height: 70,
marginTop: 0,
marginBottom: 0,
},
},
{
type: 'VIEW',
box: {
top: 130,
height: 0,
marginTop: 30,
marginBottom: 0,
},
},
],
811.89,
);

expect(result).toEqual(false);
});

test('should work with minimal infinite loop reproduction example', () => {
const result = shouldBreak(
{
type: 'VIEW',
box: {
top: 30,
height: 0,
marginTop: 0,
marginBottom: 0,
},
props: { minPresenceAhead: 100 },
},
[
{
type: 'VIEW',
box: {
top: 30,
height: 71,
marginTop: 0,
marginBottom: 0,
},
},
{
type: 'VIEW',
box: {
top: 131,
height: 0,
marginTop: 30,
marginBottom: 0,
},
},
],
811.89,
);

expect(result).toEqual(false);
});

test('should work with reproduction from #2303', () => {
const result = shouldBreak(
{
type: 'TEXT',
box: {
paddingTop: 0,
paddingRight: 0,
paddingBottom: 0,
paddingLeft: 0,
marginTop: 12,
marginRight: 12,
marginBottom: 12,
marginLeft: 12,
borderTopWidth: 0,
borderRightWidth: 0,
borderBottomWidth: 0,
borderLeftWidth: 0,
top: 541.7999877929688,
right: 12,
bottom: 12,
left: 72,
width: 451.280029296875,
height: 250.8800048828125,
},
style: {
marginTop: 12,
marginRight: 12,
marginBottom: 12,
marginLeft: 12,
fontSize: 14,
textAlign: 'justify',
fontFamily: 'Times-Roman',
},
props: {
minPresenceAhead: 4,
},
children: [
{
type: 'TEXT_INSTANCE',
value:
'En un lugar de la Mancha, de cuyo nombre no quiero acordarme, no ha mucho tiempo que vivía un hidalgo de los de lanza en astillero, adarga antigua, rocín flaco y galgo corredor. Una olla de algo más vaca que carnero, salpicón las más noches, duelos y quebrantos los sábados, lentejas los viernes, algún palomino de añadidura los domingos, consumían las tres partes de su hacienda. El resto della concluían sayo de velarte, calzas de velludo para las fiestas con sus pantuflos de lo mismo, los días de entre semana se honraba con su vellori de lo más fino. Tenía en su casa una ama que pasaba de los cuarenta, y una sobrina que no llegaba a los veinte, y un mozo de campo y plaza, que así ensillaba el rocín como tomaba la podadera. Frisaba la edad de nuestro hidalgo con los cincuenta años, era de complexión recia, seco de carnes, enjuto de rostro; gran madrugador y amigo de la caza. Quieren decir que tenía el sobrenombre de Quijada o Quesada (que en esto hay alguna diferencia en los autores que deste caso escriben), aunque por conjeturas verosímiles se deja entender que se llama Quijana; pero esto importa poco a nuestro cuento; basta que en la narración dél no se salga un punto de la verdad',
style: {
fontFamily: 'Times-Roman',
fontSize: 14,
textAlign: 'justify',
},
},
],
},
[
{
type: 'TEXT',
box: {
paddingTop: 0,
paddingRight: 0,
paddingBottom: 0,
paddingLeft: 0,
marginTop: 550,
marginRight: 0,
marginBottom: 0,
marginLeft: 0,
borderTopWidth: 0,
borderRightWidth: 0,
borderBottomWidth: 0,
borderLeftWidth: 0,
top: 1354.679931640625,
right: 0,
bottom: 0,
left: 60,
width: 475.280029296875,
height: 19.799999237060547,
},
style: {
marginTop: 550,
},
props: {},
children: [
{
type: 'TEXT_INSTANCE',
value: 'Orphans example. Try changing prop value',
style: {},
},
],
},
{
type: 'TEXT',
box: {
paddingTop: 0,
paddingRight: 0,
paddingBottom: 0,
paddingLeft: 0,
marginTop: 12,
marginRight: 12,
marginBottom: 12,
marginLeft: 12,
borderTopWidth: 0,
borderRightWidth: 0,
borderBottomWidth: 0,
borderLeftWidth: 0,
top: 1386.47998046875,
right: 12,
bottom: 12,
left: 72,
width: 451.280029296875,
height: 250.8800048828125,
},
style: {
marginTop: 12,
marginRight: 12,
marginBottom: 12,
marginLeft: 12,
fontSize: 14,
textAlign: 'justify',
fontFamily: 'Times-Roman',
},
props: {
orphans: 4,
},
children: [
{
type: 'TEXT_INSTANCE',
value:
'En un lugar de la Mancha, de cuyo nombre no quiero acordarme, no ha mucho tiempo que vivía un hidalgo de los de lanza en astillero, adarga antigua, rocín flaco y galgo corredor. Una olla de algo más vaca que carnero, salpicón las más noches, duelos y quebrantos los sábados, lentejas los viernes, algún palomino de añadidura los domingos, consumían las tres partes de su hacienda. El resto della concluían sayo de velarte, calzas de velludo para las fiestas con sus pantuflos de lo mismo, los días de entre semana se honraba con su vellori de lo más fino. Tenía en su casa una ama que pasaba de los cuarenta, y una sobrina que no llegaba a los veinte, y un mozo de campo y plaza, que así ensillaba el rocín como tomaba la podadera. Frisaba la edad de nuestro hidalgo con los cincuenta años, era de complexión recia, seco de carnes, enjuto de rostro; gran madrugador y amigo de la caza. Quieren decir que tenía el sobrenombre de Quijada o Quesada (que en esto hay alguna diferencia en los autores que deste caso escriben), aunque por conjeturas verosímiles se deja entender que se llama Quijana; pero esto importa poco a nuestro cuento; basta que en la narración dél no se salga un punto de la verdad',
style: {
fontFamily: 'Times-Roman',
fontSize: 14,
textAlign: 'justify',
},
},
],
},
],
781.89,
);

expect(result).toEqual(true);
});
});

0 comments on commit 28d35e3

Please sign in to comment.