Code coverage report for lib/section/node.js

Statements: 63.64% (14 / 22)      Branches: 50% (1 / 2)      Functions: 50% (5 / 10)      Lines: 66.67% (14 / 21)      Ignored: none     

All files » lib/section/ » node.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 911 1 1         1 22 22           1           11                                                       15             1             11             1               1                     1  
var DocumentSection = require("document-section").Section;
var protoclass      = require("protoclass");
var utils           = require("../utils");
 
/**
 */
 
function NodeSection(document, node, _rnode) {
  this.node = node;
  this.document = document;
}
 
/**
 */
 
protoclass(NodeSection, {
 
  /**
   */
 
  rootNode: function() {
    return this.node;
  },
 
  /**
   */
 
  createMarker: function() {
    return new Marker(this.document, utils.getNodePath(this.node));
  },
 
  /**
   */
 
  appendChild: function(child) {
    this.node.appendChild(child);
  },
 
  /**
   */
 
  removeAll: function() {
    this.node.innerHTML = "";
  },
 
  /**
   */
 
  render: function() {
    return this.node;
  },
 
  /**
   */
 
  remove: function() {
    Iif (this.node.parentNode) this.node.parentNode.removeChild(this.node);
  },
 
  /**
   */
 
  clone: function() {
    return new NodeSection(this.document, this.node.cloneNode(true));
  }
});
 
/**
 */
 
function Marker(document, nodePath) {
  this.nodePath    = nodePath;
  this.document = document;
}
 
/**
 */
 
protoclass(Marker, {
 
  /**
   */
 
  getSection: function(rootNode) {
    var start = utils.getNodeByPath(rootNode, this.nodePath);
    return new NodeSection(this.document, start);
  }
});
 
module.exports = NodeSection;