Revision: 5676
Author: [email protected]
Date: Mon Mar 17 19:47:30 2014 UTC
Log: Support attribute name virtualization in querySelector.
https://codereview.appspot.com/75910045
qsaVirtualization was simply missed when attribute name virtualization
was added in r5548.
[email protected]
http://code.google.com/p/google-caja/source/detail?r=5676
Modified:
/trunk/src/com/google/caja/plugin/domado.js
/trunk/tests/com/google/caja/plugin/test-domado-dom-guest.html
=======================================
--- /trunk/src/com/google/caja/plugin/domado.js Wed Dec 18 19:52:11 2013 UTC
+++ /trunk/src/com/google/caja/plugin/domado.js Mon Mar 17 19:47:30 2014 UTC
@@ -2131,7 +2131,8 @@
var qsaVirtualization = cajaVM.def({
containerClass: null,
idSuffix: idSuffix,
- tagPolicy: tagPolicy
+ tagPolicy: tagPolicy,
+ virtualizeAttrName: sanitizeOneAttr
});
/**
=======================================
--- /trunk/tests/com/google/caja/plugin/test-domado-dom-guest.html Tue Oct
8 16:46:28 2013 UTC
+++ /trunk/tests/com/google/caja/plugin/test-domado-dom-guest.html Mon Mar
17 19:47:30 2014 UTC
@@ -857,6 +857,7 @@
<div id="testQuerySelector" class="testcontainer">
<p class="testQuerySelector-ac" id="testQuerySelector-ai">a</p>
<p class="testQuerySelector-bc" id="testQuerySelector-bi">b</p>
+ <p testQuerySelector-attr="foo">c</p>
</div>
<script type="text/javascript">
// TODO(kpreid): Disable this test if host browser does not provide
@@ -882,14 +883,18 @@
assertEquals(selectors + ' (querySelector)',
len === 0 ? null : nodeList[0], single);
}
+
+ var paragraphCount = 3;
assertQueryResult('.testQuerySelector-ac', ['a']);
assertQueryResult('.testQuerySelector-bc', ['b']);
assertQueryResult('#testQuerySelector-ai', ['a']);
assertQueryResult('#testQuerySelector-ai, #testQuerySelector-bi',
['a', 'b']);
- assertQueryResult('#testQuerySelector p', ['a', 'b']);
- assertEquals('scoped query', 2,
container.querySelectorAll('p').length);
+ assertQueryResult('#testQuerySelector p', ['a', 'b', 'c']);
+ assertQueryResult('[testQuerySelector-attr]', ['c']);
+ assertEquals('scoped query', paragraphCount,
+ container.querySelectorAll('p').length);
expectFailure(function() {
document.querySelector(':unrecognized');
}, 'syntax error solo', function(e) {
@@ -910,9 +915,9 @@
// test non-liveness
var list = container.querySelectorAll('p');
- assertEquals('length before change', 2, list.length);
+ assertEquals('length before change', paragraphCount, list.length);
container.appendChild(document.createElement('p')).textContent
= 'added';
- assertEquals('length after change', 2, list.length);
+ assertEquals('length after change', paragraphCount, list.length);
pass('testQuerySelector');
});
--
---
You received this message because you are subscribed to the Google Groups "Google Caja Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.