Exemplo n.º 1
0
 it('should select by many attributes and independent of the value', () => {
   matcher.addSelectables(s1 = CssSelector.parse('input[type=text][control]'), 1);
   var cssSelector = new CssSelector();
   cssSelector.setElement('input');
   cssSelector.addAttribute('type', 'text');
   cssSelector.addAttribute('control', 'one');
   expect(matcher.match(cssSelector, selectableCollector)).toEqual(true);
   expect(matched).toEqual([s1[0], 1]);
 });
Exemplo n.º 2
0
  elementMatches(node, selector: string, matcher = null): boolean {
    var result = false;
    if (selector && selector.charAt(0) == "#") {
      result = this.getAttribute(node, 'id') == selector.substring(1);
    } else if (selector) {
      var result = false;
      if (matcher == null) {
        matcher = new SelectorMatcher();
        matcher.addSelectables(CssSelector.parse(selector));
      }

      var cssSelector = new CssSelector();
      cssSelector.setElement(this.tagName(node));
      if (node.attribs) {
        for (var attrName in node.attribs) {
          cssSelector.addAttribute(attrName, node.attribs[attrName]);
        }
      }
      var classList = this.classList(node);
      for (var i = 0; i < classList.length; i++) {
        cssSelector.addClassName(classList[i]);
      }

      matcher.match(cssSelector, function(selector, cb) { result = true; });
    }
    return result;
  }
Exemplo n.º 3
0
 it('should select by attr name only once if the value is from the DOM', () => {
   matcher.addSelectables(s1 = CssSelector.parse('[some-decor]'), 1);
   var elementSelector = new CssSelector();
   var element = el('<div attr></div>');
   var empty = DOM.getAttribute(element, 'attr');
   elementSelector.addAttribute('some-decor', empty);
   matcher.match(elementSelector, selectableCollector);
   expect(matched).toEqual([s1[0], 1]);
 });
Exemplo n.º 4
0
 (attrValue, attrName) => { cssSelector.addAttribute(attrName, attrValue); });
Exemplo n.º 5
0
 MapWrapper.forEach(attrs, (attrValue, attrName) => {
   cssSelector.addAttribute(attrName, attrValue);
 });