Skip to content

Commit

Permalink
fix(test_lib): remove getDistributedNodes emulation in NodeJS
Browse files Browse the repository at this point in the history
  • Loading branch information
marclaval committed Mar 12, 2015
1 parent dd3e627 commit c67194a
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 34 deletions.
32 changes: 4 additions & 28 deletions modules/angular2/src/test_lib/test_lib.es6
Original file line number Diff line number Diff line change
Expand Up @@ -153,9 +153,8 @@ export class SpyObject {


function elementText(n) {
var hasNodes = (n) => {var children = DOM.childNodes(n); return children && children.length > 0;}
if (!IS_NODEJS) {
var hasNodes = (n) => {var children = DOM.childNodes(n); return children && children.length > 0;}

if (n instanceof Comment) return '';

if (n instanceof Array) return n.map((nn) => elementText(nn)).join("");
Expand All @@ -166,33 +165,10 @@ function elementText(n) {

return n.textContent;
} else {
if (DOM.hasShadowRoot(n)) {
return elementText(DOM.getShadowRoot(n).childNodes);
} else if (n instanceof Array) {
if (n instanceof Array) {
return n.map((nn) => elementText(nn)).join("");
} else if (DOM.tagName(n) == 'content') {
//minimal implementation of getDistributedNodes()
var host = null;
var temp = n;
while (temp.parent) {
if (DOM.hasShadowRoot(temp)) {
host = temp;
}
temp = temp.parent;
}
if (host) {
var list = [];
var select = DOM.getAttribute(n, "select");
var selectClass = select? select.substring(1): null;
DOM.childNodes(host).forEach((child) => {
var classList = DOM.classList(child);
if (selectClass && classList.indexOf(selectClass) > -1 || selectClass == null && classList.length == 0) {
list.push(child);
}
});
return list.length > 0? elementText(list): "";
}
return "";
} else if (hasNodes(n)) {
return elementText(DOM.childNodesAsList(n));
} else {
return DOM.getText(n);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {describe, xit, it, expect, beforeEach, ddescribe, iit, el} from 'angular2/test_lib';
import {describe, xit, it, expect, beforeEach, ddescribe, iit, el, IS_NODEJS} from 'angular2/test_lib';

import {StringMapWrapper, List} from 'angular2/src/facade/collection';
import {Type} from 'angular2/src/facade/lang';
Expand Down Expand Up @@ -40,12 +40,15 @@ export function main() {
var urlResolver = new UrlResolver();
var styleUrlResolver = new StyleUrlResolver(urlResolver);
var styleInliner = new StyleInliner(null, styleUrlResolver, urlResolver);
var strategies = {
"scoped" : new EmulatedScopedShadowDomStrategy(styleInliner, styleUrlResolver, DOM.createElement('div')),
"unscoped" : new EmulatedUnscopedShadowDomStrategy(styleUrlResolver, DOM.createElement('div'))
}
if (!IS_NODEJS) {
StringMapWrapper.set(strategies, "native", new NativeShadowDomStrategy(styleUrlResolver));
}

StringMapWrapper.forEach({
"native" : new NativeShadowDomStrategy(styleUrlResolver),
"scoped" : new EmulatedScopedShadowDomStrategy(styleInliner, styleUrlResolver, DOM.createElement('div')),
"unscoped" : new EmulatedUnscopedShadowDomStrategy(styleUrlResolver, DOM.createElement('div')),
},
StringMapWrapper.forEach(strategies,
(strategy, name) => {

describe(`${name} shadow dom strategy`, () => {
Expand Down

0 comments on commit c67194a

Please sign in to comment.