<!doctype html>
<meta charset=utf-8>
<title>Text.splitText()</title>
<link rel=help href="https://dom.spec.whatwg.org/#dom-text-splittextoffset">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script>
test(function() {
  var text = document.createTextNode("camembert");
  assert_throws_dom("INDEX_SIZE_ERR", function () { text.splitText(10) });
}, "Split text after end of data");

test(function() {
  var text = document.createTextNode("");
  var new_text = text.splitText(0);
  assert_equals(text.data, "");
  assert_equals(new_text.data, "");
}, "Split empty text");

test(function() {
  var text = document.createTextNode("comté");
  var new_text = text.splitText(0);
  assert_equals(text.data, "");
  assert_equals(new_text.data, "comté");
}, "Split text at beginning");

test(function() {
  var text = document.createTextNode("comté");
  var new_text = text.splitText(5);
  assert_equals(text.data, "comté");
  assert_equals(new_text.data, "");
}, "Split text at end");

test(function() {
  var text = document.createTextNode("comté");
  var new_text = text.splitText(3);
  assert_equals(text.data, "com");
  assert_equals(new_text.data, "té");
  assert_equals(new_text.parentNode, null);
}, "Split root");

test(function() {
  var parent = document.createElement('div');
  var text = document.createTextNode("bleu");
  parent.appendChild(text);
  var new_text = text.splitText(2);
  assert_equals(text.data, "bl");
  assert_equals(new_text.data, "eu");
  assert_equals(text.nextSibling, new_text);
  assert_equals(new_text.parentNode, parent);
}, "Split child");
</script>
