UNPKG

sku-pg

Version:

Skulpt is a Javascript implementation of Python 2.x. Python that runs in your browser!

74 lines (68 loc) 2.62 kB
<!DOCTYPE html> <html> <!-- Copyright 2009 The Closure Library Authors. All Rights Reserved. Use of this source code is governed by the Apache License, Version 2.0. See the COPYING file for details. --> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>Closure Unit Tests - goog.dom.abstractrange</title> <script src="../base.js"></script> <script> goog.require('goog.dom'); goog.require('goog.dom.AbstractRange'); goog.require('goog.dom.Range'); goog.require('goog.testing.jsunit'); </script> </head> <body> <iframe src="javascript:&quot;<html><body contenteditable>asdf&quot;" id="a"> </iframe> <iframe src="javascript:&quot;<html><body contenteditable>asdf&quot;" id="b"> </iframe> <iframe src="javascript:&quot;<html><body contenteditable><img>&quot;" id="c"> </iframe> <script> function testCorrectDocument() { var a = goog.dom.getElement('a').contentWindow; var b = goog.dom.getElement('b').contentWindow; a.document.body.focus(); var selection = goog.dom.AbstractRange.getBrowserSelectionForWindow(a); assertNotNull('Selection must not be null', selection); var range = goog.dom.Range.createFromBrowserSelection(selection); assertEquals('getBrowserSelectionForWindow must return selection in the ' + 'correct document', a.document, range.getDocument()); // This is intended to trip up Internet Explorer -- // see http://b/2048934 b.document.body.focus(); selection = goog.dom.AbstractRange.getBrowserSelectionForWindow(a); // Some (non-IE) browsers keep a separate selection state for each document // in the same browser window. That's fine, as long as the selection object // requested from the window object is correctly associated with that // window's document. if (selection) { range = goog.dom.Range.createFromBrowserSelection(selection); assertEquals('getBrowserSelectionForWindow must return selection in ' + 'the correct document', a.document, range.getDocument()); } else { assertNull(selection); } } function testSelectionIsControlRange() { var c = goog.dom.getElement('c').contentWindow; // Only IE supports control ranges if (c.document.body.createControlRange) { var controlRange = c.document.body.createControlRange(); controlRange.add(c.document.getElementsByTagName('img')[0]); controlRange.select(); var selection = goog.dom.AbstractRange.getBrowserSelectionForWindow(c); assertNotNull('Selection must not be null', selection); } } </script> </body> </html>