Rangy containsNodeContents test.

by lddubeau

HTML

<script src="https://rangy.googlecode.com/svn/trunk/currentrelease/rangy-core.js"></script>
<p id="play">Blah</p>
<button id="a">A</button>
<button id="b">B</button>
<button id="c">C</button>
<p id="log"></p>

JavaScript

$(function () {
    rangy.init();
    var range = rangy.createRange();
    var $log = $("#log");
    var $play = $("#play");
    function log(x) {
        $log.append("" + x);
        $log.append("<br/>");
    }
    $("#a").click(function () {
        var range = rangy.getSelection().getRangeAt(0);
        log(range.containsNodeContents($play.get(0)));
        log(rangy.dom.inspectNode(range.startContainer));
        log(rangy.dom.inspectNode(range.endContainer));

    });
    $("#b").click(function () {
        var range = rangy.createRange();
        range.setStart($play.get(0), 0);
        range.setEnd($play.get(0), 1);
        log(range.containsNodeContents($play.get(0)));
    });
    $("#c").click(function () {
        var range = rangy.createRange();
        range.setStart($play.get(0).childNodes[0], 0);
        range.setEnd($play.get(0).childNodes[0], 4);
        log(range.containsNodeContents($play.get(0)));
    });

});