Вход Регистрация
Файл: library/wysihtml5/test/dom/get_parent_element_test.js
Строк: 224
<?php
module
("wysihtml5.dom.getParentElement", {
  
setup: function() {
    
this.container document.createElement("div");
  }
});


test("Basic test - nodeName only", function() {
  
this.container.innerHTML "<ul><li>foo</li></ul>";
  
  var 
listItem this.container.querySelector("li"),
      
textNode listItem.firstChild,
      list     = 
this.container.querySelector("ul");
  
equal(wysihtml5.dom.getParentElement(listItem, { nodeName"LI" }), listItem);
  
equal(wysihtml5.dom.getParentElement(listItem, { nodeName: ["LI""UL"] }), listItem);
  
equal(wysihtml5.dom.getParentElement(listItem, { nodeName"UL" }), list);
  
equal(wysihtml5.dom.getParentElement(textNode, { nodeName"UL" }), list);
  
equal(wysihtml5.dom.getParentElement(listItem, { nodeName"ul" }), null);
  
equal(wysihtml5.dom.getParentElement(listItem, { nodeName"SPAN" }), null);
});


test("Check 'levels' param - nodeName only", function() {
  
this.container.innerHTML "<div><div><ul><li></li></ul></div></div>";
  
  var 
listItem  this.container.querySelector("li"),
      
nestedDiv this.container.querySelector("div").querySelector("div");
  
equal(wysihtml5.dom.getParentElement(listItem, { nodeName"DIV" }, 2), null);
  
equal(wysihtml5.dom.getParentElement(listItem, { nodeName"DIV" }, 3), nestedDiv);
  
});


test("Basic test - nodeName + className", function() {
  
this.container.innerHTML '<span class="wysiwyg-color-red wysiwyg-color-green">foo</span>';
  
  var 
spanElement this.container.firstChild,
      
textNode    this.container.firstChild.firstChild,
      
result;
  
  
result wysihtml5.dom.getParentElement(textNode, {
    
nodeName:   "SPAN",
    
className:  "wysiwyg-color-green",
    
classRegExp: /wysiwyg-color-[a-z]+/g
  
});
  
equal(resultspanElement);
  
  
result wysihtml5.dom.getParentElement(textNode, {
    
nodeName:   ["STRONG""SPAN"],
    
className:  "wysiwyg-color-green",
    
classRegExp: /wysiwyg-color-[a-z]+/g
  
});
  
equal(resultspanElement);
  
  
result wysihtml5.dom.getParentElement(textNode, {
    
nodeName:   ["STRONG"],
    
className:  "wysiwyg-color-green",
    
classRegExp: /wysiwyg-color-[a-z]+/g
  
});
  
equal(resultnull);
  
  
result wysihtml5.dom.getParentElement(textNode, {
    
nodeName:   "DIV",
    
className:  "wysiwyg-color-green",
    
classRegExp: /wysiwyg-color-[a-z]+/g
  
});
  
equal(resultnull);
  
  
result wysihtml5.dom.getParentElement(textNode, {
    
nodeName:   "SPAN",
    
className:  "wysiwyg-color-blue",
    
classRegExp: /wysiwyg-color-[a-z]+/g
  
});
  
equal(resultnull);
  
  
result wysihtml5.dom.getParentElement(textNode, {
    
nodeName:   "SPAN",
    
className:  "wysiwyg-color-red",
    
classRegExp: /wysiwyg-color-[a-z]+/g
  
});
  
equal(resultnull);
  
  
result wysihtml5.dom.getParentElement(spanElement, {
    
nodeName:   "SPAN",
    
className:  "wysiwyg-color-green",
    
classRegExp: /wysiwyg-color-[a-z]+/g
  
});
  
equal(resultspanElement);
  
  
result wysihtml5.dom.getParentElement(spanElement, {
    
nodeName:   "span",
    
className:  "wysiwyg-color-green",
    
classRegExp: /wysiwyg-color-[a-z]+/g
  
});
  
equal(resultnull);
});


test("Check 'levels' param - nodeName + className", function() {
  
this.container.innerHTML '<div class="wysiwyg-color-green"><div class="wysiwyg-color-green"><ul><li></li></ul></blockquote></div></div>';
  
  var 
listItem  this.container.querySelector("li"),
      
nestedDiv this.container.querySelector("div").querySelector("div"),
      
result;
  
  
result wysihtml5.dom.getParentElement(listItem, {
    
nodeName:     "DIV",
    
className:    "wysiwyg-color-green",
    
classRegExp:  /wysiwyg-color-[a-z]+/g
  
}, 2);
  
equal(resultnull);
  
  
result wysihtml5.dom.getParentElement(listItem, {
    
nodeName:     "DIV",
    
className:    "wysiwyg-color-green",
    
classRegExp:  /wysiwyg-color-[a-z]+/g
  
}, 3);
  
equal(resultnestedDiv);
});


test("Check  - no nodeName", function() {
  
this.container.innerHTML '<div><div class="wysiwyg-text-align-right"><span>foo</span></div></div>';
  
  var 
spanElement this.container.querySelector("span"),
      
alignedDiv  this.container.querySelector("div").querySelector("div"),
      
result;
  
  
result wysihtml5.dom.getParentElement(spanElement, {
    
className:    "wysiwyg-text-align-right",
    
classRegExp:  /wysiwyg-text-align-[a-z]+/g
  
});
  
equal(resultalignedDiv);
});

test("Test - with no nodeName", function() {
  
this.container.innerHTML '<div><div class="wysiwyg-text-align-right"><span>foo</span></div></div>';
  
  var 
spanElement this.container.querySelector("span"),
      
alignedDiv  this.container.querySelector("div").querySelector("div"),
      
result;
  
  
result wysihtml5.dom.getParentElement(spanElement, {
    
className:    "wysiwyg-text-align-right",
    
classRegExp:  /wysiwyg-text-align-[a-z]+/g
  
});
  
equal(resultalignedDiv);
});

test("Test - with only a classRegExp", function() {
  
this.container.innerHTML '<div><div class="wysiwyg-text-align-right"><span>foo</span></div></div>';
  
  var 
spanElement this.container.querySelector("span"),
      
alignedDiv  this.container.querySelector("div").querySelector("div"),
      
result;
  
  
result wysihtml5.dom.getParentElement(spanElement, {
    
classRegExp:  /wysiwyg-text-align-[a-z]+/g
  
});
  
equal(resultalignedDiv);
});
?>
Онлайн: 1
Реклама