text: // DATA_TEMPLATE: dom_data
  oTest.fnStart("fnCreatedRow tests");
  
  $(document).ready(function () {
      var tmp = 0;
  
      $('#example').dataTable({
          fnCreatedRow: function () {
              tmp++;
          }
      });
  
      oTest.fnTest(
          "Row created is called once for each row on init",
          null,
          function () {
              return tmp === 57;
          }
      );
  
      oTest.fnTest(
          "Created isn't called back on other draws",
          function () {
              $('#example th:eq(1)').click();
          },
          function () {
              return tmp === 57;
          }
      );
  
      oTest.fnTest(
          "Three arguments for the function",
          function () {
              oSession.fnRestore();
              tmp = true;
  
              $('#example').dataTable({
                  fnCreatedRow: function () {
                      if (arguments.length !== 3) {
                          tmp = false;
                      }
                  }
              });
          },
          function () {
              return tmp;
          }
      );
  
      oTest.fnTest(
          "First argument is a TR element",
          function () {
              oSession.fnRestore();
              tmp = true;
  
              $('#example').dataTable({
                  fnCreatedRow: function () {
                      if (arguments[0].nodeName !== "TR") {
                          tmp = false;
                      }
                  }
              });
          },
          function () {
              return tmp;
          }
      );
  
      oTest.fnTest(
          "Second argument is an array with 5 elements",
          function () {
              oSession.fnRestore();
              tmp = true;
  
              $('#example').dataTable({
                  fnCreatedRow: function () {
                      if (arguments[1].length !== 5) {
                          tmp = false;
                      }
                  }
              });
          },
          function () {
              return tmp;
          }
      );
  
      oTest.fnTest(
          "Third argument is the data source for the row",
          function () {
              oSession.fnRestore();
              tmp = true;
  
              $('#example').dataTable({
                  fnCreatedRow: function () {
                      if (arguments[1] !== this.fnSettings().aoData[ arguments[2] ]._aData) {
                          tmp = false;
                      }
                  }
              });
          },
          function () {
              return tmp;
          }
      );
  
      oTest.fnTest(
          "TR element is tied to the correct data",
          function () {
              oSession.fnRestore();
              tmp = false;
  
              $('#example').dataTable({
                  fnCreatedRow: function (tr, data, index) {
                      if (data[1] === "Firefox 1.0") {
                          if ($('td:eq(3)', tr).html() == "1.7") {
                              tmp = true;
                          }
                      }
                  }
              });
          },
          function () {
              return tmp;
          }
      );
  
  
      oTest.fnComplete();
  });