holy shit all the tests are passing

pull/1746/head
Rich Harris 8 years ago
parent 75f9bee4a2
commit f4a87d0d9d

@ -36,8 +36,6 @@ export default class BindingWrapper {
this.node = node;
this.parent = parent;
parent.cannotUseInnerHTML();
const needsLock = (
parent.node.name !== 'input' ||
!/radio|checkbox|range|color/.test(parent.getStaticAttributeValue('type'))

@ -190,6 +190,8 @@ export default class ElementWrapper extends Wrapper {
if (node.handlers.length > 0) this.parent.cannotUseInnerHTML();
if (node.ref) this.parent.cannotUseInnerHTML();
if (this.node.name === 'option') this.parent.cannotUseInnerHTML();
if (renderer.options.dev) {
this.parent.cannotUseInnerHTML(); // need to use addLoc
}
@ -537,7 +539,7 @@ export default class ElementWrapper extends Wrapper {
.map(binding => `'${binding.object}' in ctx`)
.join(' && ');
if (this.name === 'select' || group.bindings.find(binding => binding.name === 'indeterminate' || binding.isReadOnlyMediaAttribute)) {
if (this.node.name === 'select' || group.bindings.find(binding => binding.name === 'indeterminate' || binding.isReadOnlyMediaAttribute)) {
renderer.hasComplexBindings = true;
block.builders.hydrate.addLine(

@ -78,7 +78,7 @@ export default class FragmentWrapper {
// *unless* there is no whitespace between this node and its next sibling
if (this.nodes.length === 0) {
const shouldTrim = (
nextSibling ? (nextSibling.type === 'Text' && /^\s/.test(nextSibling.data)) : !child.hasAncestor('EachBlock')
nextSibling ? (nextSibling.node.type === 'Text' && /^\s/.test(nextSibling.data)) : !child.hasAncestor('EachBlock')
);
if (shouldTrim) {
@ -93,7 +93,7 @@ export default class FragmentWrapper {
continue;
}
const wrapper = new TextWrapper(renderer, block, parent, child);
const wrapper = new TextWrapper(renderer, block, parent, child, data);
if (wrapper.skip) continue;
this.nodes.unshift(wrapper);

@ -40,12 +40,13 @@ export default class TextWrapper extends Wrapper {
renderer: Renderer,
block: Block,
parent: Wrapper,
node: Text
node: Text,
data: string
) {
super(renderer, block, parent, node);
this.skip = shouldSkip(this.node);
this.data = node.data;
this.data = data;
this.var = this.skip ? null : 'text';
}

@ -176,8 +176,16 @@ var proto = {
/* generated by Svelte vX.Y.Z */
function get_each_context(ctx, list, i) {
const child_ctx = Object.create(ctx);
child_ctx.comment = list[i];
child_ctx.each_value = list;
child_ctx.i = i;
return child_ctx;
}
function create_main_fragment(component, ctx) {
var text, p, text_1;
var text0, p, text1;
var each_value = ctx.comments;
@ -193,9 +201,9 @@ function create_main_fragment(component, ctx) {
each_blocks[i].c();
}
text = createText("\n\n");
text0 = createText("\n\n");
p = createElement("p");
text_1 = createText(ctx.foo);
text1 = createText(ctx.foo);
},
m(target, anchor) {
@ -203,9 +211,9 @@ function create_main_fragment(component, ctx) {
each_blocks[i].m(target, anchor);
}
insert(target, text, anchor);
insert(target, text0, anchor);
insert(target, p, anchor);
append(p, text_1);
append(p, text1);
},
p(changed, ctx) {
@ -220,7 +228,7 @@ function create_main_fragment(component, ctx) {
} else {
each_blocks[i] = create_each_block(component, child_ctx);
each_blocks[i].c();
each_blocks[i].m(text.parentNode, text);
each_blocks[i].m(text0.parentNode, text0);
}
}
@ -231,7 +239,7 @@ function create_main_fragment(component, ctx) {
}
if (changed.foo) {
setData(text_1, ctx.foo);
setData(text1, ctx.foo);
}
},
@ -239,7 +247,7 @@ function create_main_fragment(component, ctx) {
destroyEach(each_blocks, detach);
if (detach) {
detachNode(text);
detachNode(text0);
detachNode(p);
}
}
@ -248,20 +256,20 @@ function create_main_fragment(component, ctx) {
// (1:0) {#each comments as comment, i}
function create_each_block(component, ctx) {
var div, strong, text, text_1, span, text_2_value = ctx.comment.author, text_2, text_3, text_4_value = ctx.elapsed(ctx.comment.time, ctx.time), text_4, text_5, text_6, raw_value = ctx.comment.html, raw_before;
var div, strong, text0, text1, span, text2_value = ctx.comment.author, text2, text3, text4_value = ctx.elapsed(ctx.comment.time, ctx.time), text4, text5, text6, raw_value = ctx.comment.html, raw_before;
return {
c() {
div = createElement("div");
strong = createElement("strong");
text = createText(ctx.i);
text_1 = createText("\n\n\t\t");
text0 = createText(ctx.i);
text1 = createText("\n\n\t\t");
span = createElement("span");
text_2 = createText(text_2_value);
text_3 = createText(" wrote ");
text_4 = createText(text_4_value);
text_5 = createText(" ago:");
text_6 = createText("\n\n\t\t");
text2 = createText(text2_value);
text3 = createText(" wrote ");
text4 = createText(text4_value);
text5 = createText(" ago:");
text6 = createText("\n\n\t\t");
raw_before = createElement('noscript');
span.className = "meta";
div.className = "comment";
@ -270,25 +278,25 @@ function create_each_block(component, ctx) {
m(target, anchor) {
insert(target, div, anchor);
append(div, strong);
append(strong, text);
append(div, text_1);
append(strong, text0);
append(div, text1);
append(div, span);
append(span, text_2);
append(span, text_3);
append(span, text_4);
append(span, text_5);
append(div, text_6);
append(span, text2);
append(span, text3);
append(span, text4);
append(span, text5);
append(div, text6);
append(div, raw_before);
raw_before.insertAdjacentHTML("afterend", raw_value);
},
p(changed, ctx) {
if ((changed.comments) && text_2_value !== (text_2_value = ctx.comment.author)) {
setData(text_2, text_2_value);
if ((changed.comments) && text2_value !== (text2_value = ctx.comment.author)) {
setData(text2, text2_value);
}
if ((changed.elapsed || changed.comments || changed.time) && text_4_value !== (text_4_value = ctx.elapsed(ctx.comment.time, ctx.time))) {
setData(text_4, text_4_value);
if ((changed.elapsed || changed.comments || changed.time) && text4_value !== (text4_value = ctx.elapsed(ctx.comment.time, ctx.time))) {
setData(text4, text4_value);
}
if ((changed.comments) && raw_value !== (raw_value = ctx.comment.html)) {
@ -305,14 +313,6 @@ function create_each_block(component, ctx) {
};
}
function get_each_context(ctx, list, i) {
const child_ctx = Object.create(ctx);
child_ctx.comment = list[i];
child_ctx.each_value = list;
child_ctx.i = i;
return child_ctx;
}
function SvelteComponent(options) {
init(this, options);
this._state = assign({}, options.data);

@ -1,8 +1,16 @@
/* generated by Svelte vX.Y.Z */
import { append, assign, createElement, createText, destroyEach, detachAfter, detachNode, init, insert, proto, setData } from "svelte/shared.js";
function get_each_context(ctx, list, i) {
const child_ctx = Object.create(ctx);
child_ctx.comment = list[i];
child_ctx.each_value = list;
child_ctx.i = i;
return child_ctx;
}
function create_main_fragment(component, ctx) {
var text, p, text_1;
var text0, p, text1;
var each_value = ctx.comments;
@ -18,9 +26,9 @@ function create_main_fragment(component, ctx) {
each_blocks[i].c();
}
text = createText("\n\n");
text0 = createText("\n\n");
p = createElement("p");
text_1 = createText(ctx.foo);
text1 = createText(ctx.foo);
},
m(target, anchor) {
@ -28,9 +36,9 @@ function create_main_fragment(component, ctx) {
each_blocks[i].m(target, anchor);
}
insert(target, text, anchor);
insert(target, text0, anchor);
insert(target, p, anchor);
append(p, text_1);
append(p, text1);
},
p(changed, ctx) {
@ -45,7 +53,7 @@ function create_main_fragment(component, ctx) {
} else {
each_blocks[i] = create_each_block(component, child_ctx);
each_blocks[i].c();
each_blocks[i].m(text.parentNode, text);
each_blocks[i].m(text0.parentNode, text0);
}
}
@ -56,7 +64,7 @@ function create_main_fragment(component, ctx) {
}
if (changed.foo) {
setData(text_1, ctx.foo);
setData(text1, ctx.foo);
}
},
@ -64,7 +72,7 @@ function create_main_fragment(component, ctx) {
destroyEach(each_blocks, detach);
if (detach) {
detachNode(text);
detachNode(text0);
detachNode(p);
}
}
@ -73,20 +81,20 @@ function create_main_fragment(component, ctx) {
// (1:0) {#each comments as comment, i}
function create_each_block(component, ctx) {
var div, strong, text, text_1, span, text_2_value = ctx.comment.author, text_2, text_3, text_4_value = ctx.elapsed(ctx.comment.time, ctx.time), text_4, text_5, text_6, raw_value = ctx.comment.html, raw_before;
var div, strong, text0, text1, span, text2_value = ctx.comment.author, text2, text3, text4_value = ctx.elapsed(ctx.comment.time, ctx.time), text4, text5, text6, raw_value = ctx.comment.html, raw_before;
return {
c() {
div = createElement("div");
strong = createElement("strong");
text = createText(ctx.i);
text_1 = createText("\n\n\t\t");
text0 = createText(ctx.i);
text1 = createText("\n\n\t\t");
span = createElement("span");
text_2 = createText(text_2_value);
text_3 = createText(" wrote ");
text_4 = createText(text_4_value);
text_5 = createText(" ago:");
text_6 = createText("\n\n\t\t");
text2 = createText(text2_value);
text3 = createText(" wrote ");
text4 = createText(text4_value);
text5 = createText(" ago:");
text6 = createText("\n\n\t\t");
raw_before = createElement('noscript');
span.className = "meta";
div.className = "comment";
@ -95,25 +103,25 @@ function create_each_block(component, ctx) {
m(target, anchor) {
insert(target, div, anchor);
append(div, strong);
append(strong, text);
append(div, text_1);
append(strong, text0);
append(div, text1);
append(div, span);
append(span, text_2);
append(span, text_3);
append(span, text_4);
append(span, text_5);
append(div, text_6);
append(span, text2);
append(span, text3);
append(span, text4);
append(span, text5);
append(div, text6);
append(div, raw_before);
raw_before.insertAdjacentHTML("afterend", raw_value);
},
p(changed, ctx) {
if ((changed.comments) && text_2_value !== (text_2_value = ctx.comment.author)) {
setData(text_2, text_2_value);
if ((changed.comments) && text2_value !== (text2_value = ctx.comment.author)) {
setData(text2, text2_value);
}
if ((changed.elapsed || changed.comments || changed.time) && text_4_value !== (text_4_value = ctx.elapsed(ctx.comment.time, ctx.time))) {
setData(text_4, text_4_value);
if ((changed.elapsed || changed.comments || changed.time) && text4_value !== (text4_value = ctx.elapsed(ctx.comment.time, ctx.time))) {
setData(text4, text4_value);
}
if ((changed.comments) && raw_value !== (raw_value = ctx.comment.html)) {
@ -130,14 +138,6 @@ function create_each_block(component, ctx) {
};
}
function get_each_context(ctx, list, i) {
const child_ctx = Object.create(ctx);
child_ctx.comment = list[i];
child_ctx.each_value = list;
child_ctx.i = i;
return child_ctx;
}
function SvelteComponent(options) {
init(this, options);
this._state = assign({}, options.data);

@ -165,7 +165,7 @@ var proto = {
/* generated by Svelte vX.Y.Z */
function create_main_fragment(component, ctx) {
var div, text0, p0, text2, text3, text4, p1, text6, text7, text8, if_block4_anchor;
var div, text0, p0, text2, text3, text4, p1, text6, text7, if_block4_anchor;
var if_block0 = (ctx.a) && create_if_block_4(component, ctx);
@ -193,8 +193,7 @@ function create_main_fragment(component, ctx) {
p1.textContent = "so can this";
text6 = createText("\n\n\t");
if (if_block3) if_block3.c();
text7 = createText("\n\n\t\n");
text8 = createText("\n\n");
text7 = createText("\n\n");
if (if_block4) if_block4.c();
if_block4_anchor = createComment();
},
@ -212,8 +211,7 @@ function create_main_fragment(component, ctx) {
append(div, p1);
append(div, text6);
if (if_block3) if_block3.m(div, null);
append(div, text7);
insert(target, text8, anchor);
insert(target, text7, anchor);
if (if_block4) if_block4.m(target, anchor);
insert(target, if_block4_anchor, anchor);
},
@ -256,7 +254,7 @@ function create_main_fragment(component, ctx) {
if (!if_block3) {
if_block3 = create_if_block_1(component, ctx);
if_block3.c();
if_block3.m(div, text7);
if_block3.m(div, null);
}
} else if (if_block3) {
if_block3.d(1);
@ -285,7 +283,7 @@ function create_main_fragment(component, ctx) {
if (if_block2) if_block2.d();
if (if_block3) if_block3.d();
if (detach) {
detachNode(text8);
detachNode(text7);
}
if (if_block4) if_block4.d(detach);

@ -2,7 +2,7 @@
import { append, assign, createComment, createElement, createText, detachNode, init, insert, proto } from "svelte/shared.js";
function create_main_fragment(component, ctx) {
var div, text0, p0, text2, text3, text4, p1, text6, text7, text8, if_block4_anchor;
var div, text0, p0, text2, text3, text4, p1, text6, text7, if_block4_anchor;
var if_block0 = (ctx.a) && create_if_block_4(component, ctx);
@ -30,8 +30,7 @@ function create_main_fragment(component, ctx) {
p1.textContent = "so can this";
text6 = createText("\n\n\t");
if (if_block3) if_block3.c();
text7 = createText("\n\n\t\n");
text8 = createText("\n\n");
text7 = createText("\n\n");
if (if_block4) if_block4.c();
if_block4_anchor = createComment();
},
@ -49,8 +48,7 @@ function create_main_fragment(component, ctx) {
append(div, p1);
append(div, text6);
if (if_block3) if_block3.m(div, null);
append(div, text7);
insert(target, text8, anchor);
insert(target, text7, anchor);
if (if_block4) if_block4.m(target, anchor);
insert(target, if_block4_anchor, anchor);
},
@ -93,7 +91,7 @@ function create_main_fragment(component, ctx) {
if (!if_block3) {
if_block3 = create_if_block_1(component, ctx);
if_block3.c();
if_block3.m(div, text7);
if_block3.m(div, null);
}
} else if (if_block3) {
if_block3.d(1);
@ -122,7 +120,7 @@ function create_main_fragment(component, ctx) {
if (if_block2) if_block2.d();
if (if_block3) if_block3.d();
if (detach) {
detachNode(text8);
detachNode(text7);
}
if (if_block4) if_block4.d(detach);

Loading…
Cancel
Save