summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXavier Morel <xmo@openerp.com>2011-03-10 10:10:10 +0100
committerXavier Morel <xmo@openerp.com>2011-03-10 10:10:10 +0100
commit3b60a6df06b3cec50da724cd0306079e497cf2d2 (patch)
treeb426ece42995af107ad2c911831d9564172d4d29
parent418a1beffdec6d40cde2a81903e0ac160fb1e5f8 (diff)
[IMP] replace \W's for word boundaries by \b (actually about word boundaries), replace String.match to literal regexes by RegExp.test (if result is used in test only) or RegExp.exec
bzr revid: xmo@openerp.com-20110310091010-5odm0fp0383yev3t
-rw-r--r--addons/base/static/qweb/qweb.js18
1 files changed, 9 insertions, 9 deletions
diff --git a/addons/base/static/qweb/qweb.js b/addons/base/static/qweb/qweb.js
index 967b1976c85..46d475b4424 100644
--- a/addons/base/static/qweb/qweb.js
+++ b/addons/base/static/qweb/qweb.js
@@ -47,12 +47,12 @@ var QWeb = {
// TODO: Currently this will also replace and, or, ... in strings. Try
// 'hi boys and girls' != '' and 1 == 1 -- will be replaced to : 'hi boys && girls' != '' && 1 == 1
// try to find a solution without tokenizing
- e = e.replace(/\Wand\W/g, " && ");
- e = e.replace(/\Wor\W/g, " and ");
- e = e.replace(/\Wgt\W/g, " > ");
- e = e.replace(/\Wgte\W/g, " >= ");
- e = e.replace(/\Wlt\W/g, " < ");
- e = e.replace(/\Wlte\W/g, " <= ");
+ e = e.replace(/\band\b/g, " && ");
+ e = e.replace(/\bor\b/g, " || ");
+ e = e.replace(/\bgt\b/g, " > ");
+ e = e.replace(/\bgte\b/g, " >= ");
+ e = e.replace(/\blt\b/g, " < ");
+ e = e.replace(/\blte\b/g, " <= ");
if (v[e] != undefined) {
return v[e];
} else {
@@ -137,12 +137,12 @@ var QWeb = {
render_element:function(e, t_att, g_att, v) {
var inner = "", ec = e.childNodes, trim = t_att["trim"], inner_trim;
if (trim) {
- if (trim.match(/(^|\W)(inner)($|\W)/)) {
+ if (/\binner\b/.test(trim)) {
inner_trim = true;
trim = "both";
}
- var tm = trim.match(/(^|\W)(both|left|right)($|\W)/);
- if (tm) trim = tm[2];
+ var tm = /\b(both|left|right)\b/.exec(trim);
+ if (tm) trim = tm[1];
}
for (var i = 0; i < ec.length; i++) {
inner += inner_trim ? this.trim(this.render_node(ec[i], v, inner_trim ? trim : null), trim) : this.render_node(ec[i], v, inner_trim ? trim : null);