function testSplit_Case3() {
  var tree = insertToTree(20);
  var expected =
      '11[27]\n' +
      '_{2|12}_\n' +
      '2[5|13|21]  12[31|45]\n' +
      '_{0|13|1|3}11  2{5|7|9}11\n' +
      '0[1|3]  13[5|9|11]  1[13|14|15|17]  3[21|22|23|25]' +
      '  5[27|29]  7[31|38]  9[45|47|49]\n' +
      '_{1/3}2  0{5/9/11}2  13{13/14/15/17}2  1{21/22/23/25}2' +
      '  3{27/29}12  5{31/38}12  7{45/47/49}12\n';
  assertEquals(expected, tree.toString());

  // Serialize and deserialize should have no problem.
  var expected2 =
      '16[27]\n' +
      '_{17|18}_\n' +
      '17[5|13|21]  18[31|45]\n' +
      '_{0|13|1|3}16  17{5|7|9}16\n' +
      '0[1|3]  13[5|9|11]  1[13|14|15|17]  3[21|22|23|25]' +
      '  5[27|29]  7[31|38]  9[45|47|49]\n' +
      '_{1/3}17  0{5/9/11}17  13{13/14/15/17}17  1{21/22/23/25}17' +
      '  3{27/29}18  5{31/38}18  7{45/47/49}18\n';
  var rows = tree.serialize();
  assertEquals(7, rows.length);
  var tree2 = deserializeTree(rows);
  assertEquals(expected2, tree2.toString());
}
Split of leaf node promoting a new key in internal node.

                             27
                /                            \
             13|21                         31|45
    /          |            \          /     |      \
3|5|9|11  13|14|15|17  21|22|23|25  27|29  31|38  45|47|49

insert 1
                              27
              /                              \
           5|13|21                         31|45
 /      /         \            \          /     |      \
1|3  5|9|11  13|14|15|17  21|22|23|25  27|29  31|38  45|47|49