on master help sign in
More bug fixes for string escaping.
commitc402dce192b938b90fd898fecea055bb97cc1a49 authorevancz <info@elm-lang.org> dateTue 14 Aug 2012, 15:07 (14 years ago) parentcc345bc
5 files changed+11−19
core-js/Element.js+5−5 core-js/Text.js+2−9 core-js/Value.js+1−2 core-js/foreign/JSON.js+1−1 core-js/runtime/Signal.js+2−2
core-js/Element.js+5−5
@@ -68,7 +68,7 @@ var Element = function() {
6868
6969 var text = makeText(0)('left');
7070 var plainText = function(str) {
71− return makeText(0)("left")(Data.String.toText(str)); };
71+ return makeText(0)("left")(Value.toText(str)); };
7272 var justifiedText = makeText(0)('justify');
7373 var centeredText = makeText(0)('center');
7474 var rightedText = makeText(0)('right');
@@ -86,7 +86,7 @@ var Element = function() {
8686 }
8787 Dispatcher.adjust()
8888 };
89− img.src = Data.String.toText(src);
89+ img.src = Value.toText(src);
9090 img.name = img.src;
9191 return img;
9292 };
@@ -115,14 +115,14 @@ var Element = function() {
115115 0,0, canvas.width, canvas.height);
116116 }
117117 };
118− img.src = Data.String.toText(src);
118+ img.src = Value.toText(src);
119119 return canvas;
120120 };
121121 };
122122 };
123123
124124 var video = function(src) {
125− src = Data.String.toText(src);
125+ src = Value.toText(src);
126126 var e = newElement('video');
127127 e.controls = "controls";
128128 var source = newElement('source');
@@ -133,7 +133,7 @@ var Element = function() {
133133 return e;
134134 };
135135 var audio = function(src) {
136− src = Data.String.toString(src);
136+ src = Value.toText(src);
137137 var e = newElement('video');
138138 e.controls = "controls";
139139 var source = newElement('source');
core-js/Text.js+2−9
@@ -1,14 +1,6 @@
11
22var Text = function() {
3− var fromString = function(elmList) {
4− if (typeof elmList === "string") return elmList;
5− var a = [];
6− while (elmList[0] === "Cons") {
7− a.push(elmList[1]);
8− elmList = elmList[2];
9− }
10− return Value.properEscape(a.join(''));
11− };
3+ function fromString(s) { return Value.toText(s); }
124
135 var addTag = function(tag) { return function(text) {
146 return '<' + tag + ' style="padding:0;margin:0">' + text + '</' + tag + '>';
@@ -48,6 +40,7 @@ var Text = function() {
4840 overline : overline,
4941 strikeThrough : strikeThrough,
5042 monospace : typeface('monospace'),
43+ typeface : typeface,
5144 color : color,
5245 link : link };
5346}();
core-js/Value.js+1−2
@@ -38,12 +38,11 @@ var Value = function(){
3838 .replace(/'/g, /*'*/ "&#39;")
3939 .replace(/</g, "&#60;")
4040 .replace(/>/g, "&#62;")
41− .replace(/ /g, "&nbsp;")
4241 .replace(/\n/g, "<br/>");
4342 };
4443
4544 var toText = function(elmList) {
46− if (typeof elmList === "string") return elmList;
45+ if (typeof elmList === "string") return properEscape(elmList);
4746 var a = [];
4847 while (elmList[0] === "Cons") {
4948 a.push(elmList[1]);
core-js/foreign/JSON.js+1−1
@@ -87,7 +87,7 @@ var ElmJSON = function() {
8787 return v[1];
8888 }
8989 }
90− return Value.toText(JSON.stringify(fromValue([ 'JsonObject', obj ]), null, JS.castStringToJSString(sep)));
90+ return JSON.stringify(fromValue([ 'JsonObject', obj ]), null, JS.castStringToJSString(sep));
9191 };
9292 }
9393 function fromJSString(str) {
core-js/runtime/Signal.js+2−2
@@ -157,7 +157,7 @@ var Signal = function() {
157157 : ["Failure", request.status, toElmString(request.statusText)]);
158158 }
159159 };
160− request.open(how, Data.String.toText(url), true);
160+ request.open(how, Value.toText(url), true);
161161 request.send(null);
162162 return thread;
163163 };
@@ -185,7 +185,7 @@ var Signal = function() {
185185 : ["Failure", request.status, toElmString(request.statusText)]]);
186186 }
187187 };
188− request.open(how, Data.String.toText(strOpt[1]), true);
188+ request.open(how, Value.toText(strOpt[1]), true);
189189 request.send(null);
190190 return [];
191191 }