summaryrefslogtreecommitdiff
path: root/vendor/oojs/oojs-ui/tests/Element.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/oojs/oojs-ui/tests/Element.test.js')
-rw-r--r--vendor/oojs/oojs-ui/tests/Element.test.js52
1 files changed, 52 insertions, 0 deletions
diff --git a/vendor/oojs/oojs-ui/tests/Element.test.js b/vendor/oojs/oojs-ui/tests/Element.test.js
new file mode 100644
index 00000000..b37d8e35
--- /dev/null
+++ b/vendor/oojs/oojs-ui/tests/Element.test.js
@@ -0,0 +1,52 @@
+QUnit.module( 'Element', {
+ setup: function () {
+ this.fixture = document.createElement( 'div' );
+ document.body.appendChild( this.fixture );
+
+ this.makeFrame = function () {
+ var frame = document.createElement( 'iframe' );
+ this.fixture.appendChild( frame );
+ return ( frame.contentWindow && frame.contentWindow.document ) || frame.contentDocument;
+ };
+ },
+ teardown: function () {
+ this.fixture.parentNode.removeChild( this.fixture );
+ this.fixture = null;
+ }
+} );
+
+QUnit.test( 'static.getDocument', 10, function ( assert ) {
+ var frameDoc, frameEl, frameDiv,
+ el = this.fixture,
+ div = document.createElement( 'div' ),
+ $el = $( this.fixture ),
+ $div = $( '<div>' ),
+ win = window,
+ doc = document;
+
+ frameDoc = this.makeFrame();
+ frameEl = frameDoc.createElement( 'span' );
+ frameDoc.documentElement.appendChild( frameEl );
+ frameDiv = frameDoc.createElement( 'div' );
+
+ assert.strictEqual( OO.ui.Element.static.getDocument( $el ), doc, 'jQuery' );
+ assert.strictEqual( OO.ui.Element.static.getDocument( $div ), doc, 'jQuery (detached)' );
+ assert.strictEqual( OO.ui.Element.static.getDocument( el ), doc, 'HTMLElement' );
+ assert.strictEqual( OO.ui.Element.static.getDocument( div ), doc, 'HTMLElement (detached)' );
+ assert.strictEqual( OO.ui.Element.static.getDocument( win ), doc, 'Window' );
+ assert.strictEqual( OO.ui.Element.static.getDocument( doc ), doc, 'HTMLDocument' );
+
+ assert.strictEqual( OO.ui.Element.static.getDocument( frameEl ), frameDoc, 'HTMLElement (framed)' );
+ assert.strictEqual( OO.ui.Element.static.getDocument( frameDiv ), frameDoc, 'HTMLElement (framed, detached)' );
+ assert.strictEqual( OO.ui.Element.static.getDocument( frameDoc ), frameDoc, 'HTMLDocument (framed)' );
+
+ assert.strictEqual( OO.ui.Element.static.getDocument( {} ), null, 'Invalid' );
+} );
+
+QUnit.test( 'getElementDocument', 1, function ( assert ) {
+ var el, doc;
+
+ doc = document;
+ el = new OO.ui.Element();
+ assert.strictEqual( el.getElementDocument(), doc );
+} );