aboutsummaryrefslogtreecommitdiffstats
path: root/test/jqLiteSpec.js
diff options
context:
space:
mode:
authorCaitlin Potter2014-02-18 15:16:38 -0500
committerCaitlin Potter2014-02-18 18:43:59 -0500
commit05fbed5710b702c111c1425a9e241c40d13b0a54 (patch)
tree35b140ec5fb4cee2a5dfe069d535ea6311281117 /test/jqLiteSpec.js
parent21dac2a3daae528471d5e767072b10e1491f2106 (diff)
downloadangular.js-05fbed5710b702c111c1425a9e241c40d13b0a54.tar.bz2
fix(jqLite): make jqLite('<iframe src="someurl">').contents() return iframe document, as in jQuery
This is a very tiny change to make behaviour consistent with jQuery. Closes #6320 Closes #6323
Diffstat (limited to 'test/jqLiteSpec.js')
-rw-r--r--test/jqLiteSpec.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/test/jqLiteSpec.js b/test/jqLiteSpec.js
index 82db95b6..1f3be1b2 100644
--- a/test/jqLiteSpec.js
+++ b/test/jqLiteSpec.js
@@ -1299,6 +1299,33 @@ describe('jqLite', function() {
expect(contents[0].data).toEqual(' some comment ');
expect(contents[1].data).toEqual('before-');
});
+
+ // IE8 does not like this test, although the functionality may still work there.
+ if (!msie || msie > 8) {
+ it('should select all types iframe contents', function() {
+ var iframe_ = document.createElement('iframe'), tested,
+ iframe = jqLite(iframe_);
+ function test() {
+ var contents = iframe.contents();
+ expect(contents[0]).toBeTruthy();
+ expect(contents.length).toBe(1);
+ expect(contents.prop('nodeType')).toBe(9);
+ expect(contents[0].body).toBeTruthy();
+ expect(jqLite(contents[0].body).contents().length).toBe(3);
+ iframe.remove();
+ tested = true;
+ }
+ iframe_.onload = iframe_.onreadystatechange = function() {
+ if (iframe_.contentDocument) test();
+ };
+ iframe_.src = "/base/test/fixtures/iframe.html";
+ jqLite(document).find('body').append(iframe);
+
+ // This test is potentially flaky on CI cloud instances, so there is a generous
+ // wait period...
+ waitsFor(function() { return tested; }, 2000);
+ });
+ }
});