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
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:"<html><body contenteditable>asdf""
id="a">
</iframe>
<iframe src="javascript:"<html><body contenteditable>asdf""
id="b">
</iframe>
<iframe src="javascript:"<html><body contenteditable><img>""
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>