simplify snapshot comparison, add some more

pull/7426/head
Simon Holthausen 3 years ago
parent e68a3466b9
commit 4ee6f7814d

@ -106,6 +106,13 @@ describe('hydration', () => {
} }
} }
if (config.snapshot) {
const snapshot_after = config.snapshot(target);
for (const s in snapshot_after) {
assert.equal(snapshot_after[s], snapshot[s], `Expected snapshot key "${s}" to have same value/reference`);
}
}
if (config.test) { if (config.test) {
config.test(assert, target, snapshot, component, window); config.test(assert, target, snapshot, component, window);
} else { } else {

@ -6,12 +6,5 @@ export default {
h1, h1,
text: h1.childNodes[0] text: h1.childNodes[0]
}; };
},
test(assert, target, snapshot) {
const h1 = target.querySelector('h1');
assert.equal(h1, snapshot.h1);
assert.equal(h1.childNodes[0], snapshot.text);
} }
}; };

@ -10,13 +10,8 @@ export default {
}; };
}, },
async test(assert, target, snapshot, component, window) { async test(assert, target, _, component, window) {
const input = target.querySelector('input'); const input = target.querySelector('input');
const p = target.querySelector('p');
assert.equal(input, snapshot.input);
assert.equal(p, snapshot.p);
input.value = 'everybody'; input.value = 'everybody';
await input.dispatchEvent(new window.Event('input')); await input.dispatchEvent(new window.Event('input'));

@ -1 +1,3 @@
<div><!-- test1 --><!-- test2 --></div> <div><!-- test1 --><!-- test2 --></div>
p
<div><!-- test1 --><!-- test2 --></div>

@ -1 +1,3 @@
<div><!-- test1 --></div> <div><!-- test1 --></div>
p
<div><!-- test1 --><!-- test2 --></div>

@ -1,5 +1,10 @@
export default { export default {
compileOptions: { compileOptions: {
preserveComments:true preserveComments:true
},
snapshot(target) {
return {
div: target.querySelectorAll('div')[1]
}
} }
}; };

@ -1 +1,3 @@
<div><!-- test1 --><!-- test2 --></div> <div><!-- test1 --><!-- test2 --></div>
{"p"}
<div><!-- test1 --><!-- test2 --></div>

@ -0,0 +1,8 @@
export default {
snapshot(target) {
return {
main: target.querySelector('main'),
p: target.querySelector('p')
};
}
};

@ -8,14 +8,5 @@ export default {
p, p,
text: p.childNodes[0] text: p.childNodes[0]
}; };
},
test(assert, target, snapshot) {
const div = target.querySelector('div');
const p = target.querySelector('p');
assert.equal(div, snapshot.div);
assert.equal(p, snapshot.p);
assert.equal(p.childNodes[0], snapshot.text);
} }
}; };

@ -6,12 +6,5 @@ export default {
p, p,
text: p.childNodes[0] text: p.childNodes[0]
}; };
},
test(assert, target, snapshot) {
const p = target.querySelector('p');
assert.equal(p, snapshot.p);
assert.equal(p.childNodes[0], snapshot.text);
} }
}; };

@ -10,12 +10,5 @@ export default {
h1, h1,
text: h1.childNodes[0] text: h1.childNodes[0]
}; };
},
test(assert, target, snapshot) {
const h1 = target.querySelector('h1');
assert.equal(h1, snapshot.h1);
assert.equal(h1.childNodes[0], snapshot.text);
} }
}; };

@ -9,13 +9,5 @@ export default {
nullText, nullText,
undefinedText undefinedText
}; };
},
test(assert, target, snapshot) {
const nullText = target.querySelectorAll('p')[0].textContent;
const undefinedText = target.querySelectorAll('p')[1].textContent;
assert.equal(nullText, snapshot.nullText);
assert.equal(undefinedText, snapshot.undefinedText);
} }
}; };

@ -10,12 +10,5 @@ export default {
h1, h1,
text: h1.childNodes[0] text: h1.childNodes[0]
}; };
},
test(assert, target, snapshot) {
const h1 = target.querySelector('h1');
assert.equal(h1, snapshot.h1);
assert.equal(h1.childNodes[0], snapshot.text);
} }
}; };

@ -15,17 +15,9 @@ export default {
return { return {
ul, ul,
lis lis0: lis[0],
lis1: lis[1],
lis2: lis[2]
}; };
},
test(assert, target, snapshot) {
const ul = target.querySelector('ul');
const lis = ul.querySelectorAll('li');
assert.equal(ul, snapshot.ul);
assert.equal(lis[0], snapshot.lis[0]);
assert.equal(lis[1], snapshot.lis[1]);
assert.equal(lis[2], snapshot.lis[2]);
} }
}; };

@ -13,17 +13,9 @@ export default {
return { return {
ul, ul,
lis lis0: lis[0],
lis1: lis[1],
lis2: lis[2]
}; };
},
test(assert, target, snapshot) {
const ul = target.querySelector('ul');
const lis = ul.querySelectorAll('li');
assert.equal(ul, snapshot.ul);
assert.equal(lis[0], snapshot.lis[0]);
assert.equal(lis[1], snapshot.lis[1]);
assert.equal(lis[2], snapshot.lis[2]);
} }
}; };

@ -9,11 +9,5 @@ export default {
return { return {
div div
}; };
},
test(assert, target, snapshot) {
const div = target.querySelector('div');
assert.equal(div, snapshot.div);
} }
}; };

@ -9,11 +9,5 @@ export default {
return { return {
div div
}; };
},
test(assert, target, snapshot) {
const div = target.querySelector('div');
assert.equal(div, snapshot.div);
} }
}; };

@ -9,11 +9,5 @@ export default {
return { return {
div div
}; };
},
test(assert, target, snapshot) {
const div = target.querySelector('div');
assert.equal(div, snapshot.div);
} }
}; };

@ -5,11 +5,5 @@ export default {
return { return {
div div
}; };
},
test(assert, target, snapshot) {
const div = target.querySelector('div');
assert.equal(div, snapshot.div);
} }
}; };

@ -7,13 +7,5 @@ export default {
span: p.querySelector('span'), span: p.querySelector('span'),
code: p.querySelector('code') code: p.querySelector('code')
}; };
},
test(assert, target, snapshot) {
const p = target.querySelector('p');
assert.equal(p, snapshot.p);
assert.equal(p.querySelector('span'), snapshot.span);
assert.equal(p.querySelector('code'), snapshot.code);
} }
}; };

@ -6,12 +6,5 @@ export default {
div, div,
p: div.querySelector('p') p: div.querySelector('p')
}; };
},
test(assert, target, snapshot) {
const div = target.querySelector('div');
assert.equal(div, snapshot.div);
assert.equal(div.querySelector('p'), snapshot.p);
} }
}; };

@ -7,10 +7,8 @@ export default {
}; };
}, },
test(assert, target, snapshot, component) { test(assert, target, _, component) {
const h1 = target.querySelector('h1'); const h1 = target.querySelector('h1');
assert.equal(h1, snapshot.h1);
assert.equal(component.h1, h1); assert.equal(component.h1, h1);
} }
}; };

@ -11,10 +11,8 @@ export default {
}; };
}, },
async test(assert, target, snapshot, component, window) { async test(assert, target, _, component, window) {
const button = target.querySelector('button'); const button = target.querySelector('button');
assert.equal(button, snapshot.button);
await button.dispatchEvent(new window.MouseEvent('click')); await button.dispatchEvent(new window.MouseEvent('click'));
assert.ok(component.clicked); assert.ok(component.clicked);

@ -7,13 +7,5 @@ export default {
text: p.childNodes[0], text: p.childNodes[0],
span: p.querySelector('span') span: p.querySelector('span')
}; };
},
test(assert, target, snapshot) {
const p = target.querySelector('p');
assert.equal(p, snapshot.p);
assert.equal(p.childNodes[0], snapshot.text);
assert.equal(p.querySelector('span'), snapshot.span);
} }
}; };

@ -13,14 +13,5 @@ export default {
p0: ps[0], p0: ps[0],
p1: ps[1] p1: ps[1]
}; };
},
test(assert, target, snapshot) {
const div = target.querySelector('div');
const ps = target.querySelectorAll('p');
assert.equal(div, snapshot.div);
assert.equal(ps[0], snapshot.p0);
assert.equal(ps[1], snapshot.p1);
} }
}; };

@ -9,11 +9,5 @@ export default {
return { return {
p p
}; };
},
test(assert, target, snapshot) {
const p = target.querySelector('p');
assert.equal(p, snapshot.p);
} }
}; };

@ -12,11 +12,9 @@ export default {
}; };
}, },
test(assert, target, snapshot, component) { test(assert, target, _, component) {
const p = target.querySelector('p'); const p = target.querySelector('p');
assert.equal(p, snapshot.p);
component.foo = false; component.foo = false;
component.bar = true; component.bar = true;
assert.htmlEqual(target.innerHTML, '<p>bar!</p>'); assert.htmlEqual(target.innerHTML, '<p>bar!</p>');

@ -9,11 +9,5 @@ export default {
return { return {
p p
}; };
},
test(assert, target, snapshot) {
const p = target.querySelector('p');
assert.equal(p, snapshot.p);
} }
}; };

@ -14,14 +14,5 @@ export default {
p1: ps[1], p1: ps[1],
text1: ps[1].firstChild text1: ps[1].firstChild
}; };
},
test(assert, target, snapshot) {
const ps = target.querySelectorAll('p');
assert.equal(ps[0], snapshot.p0);
assert.equal(ps[0].firstChild, snapshot.text0);
assert.equal(ps[1], snapshot.p1);
assert.equal(ps[1].firstChild, snapshot.text1);
} }
}; };

Loading…
Cancel
Save