mirror of
https://github.com/TracksApp/tracks.git
synced 2026-01-29 20:26:11 +01:00
Removed superfluous 'tracks' directory at the root of the repository.
Testing commits to github.
This commit is contained in:
parent
6a42901514
commit
4cbf5a34d3
2269 changed files with 0 additions and 0 deletions
142
vendor/selenium/lib/cssQuery/src/cssQuery-level2.js
vendored
Normal file
142
vendor/selenium/lib/cssQuery/src/cssQuery-level2.js
vendored
Normal file
|
|
@ -0,0 +1,142 @@
|
|||
/*
|
||||
cssQuery, version 2.0.2 (2005-08-19)
|
||||
Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
|
||||
License: http://creativecommons.org/licenses/LGPL/2.1/
|
||||
*/
|
||||
|
||||
cssQuery.addModule("css-level2", function() {
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
// selectors
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
// child selector
|
||||
selectors[">"] = function($results, $from, $tagName, $namespace) {
|
||||
var $element, i, j;
|
||||
for (i = 0; i < $from.length; i++) {
|
||||
var $subset = childElements($from[i]);
|
||||
for (j = 0; ($element = $subset[j]); j++)
|
||||
if (compareTagName($element, $tagName, $namespace))
|
||||
$results.push($element);
|
||||
}
|
||||
};
|
||||
|
||||
// sibling selector
|
||||
selectors["+"] = function($results, $from, $tagName, $namespace) {
|
||||
for (var i = 0; i < $from.length; i++) {
|
||||
var $element = nextElementSibling($from[i]);
|
||||
if ($element && compareTagName($element, $tagName, $namespace))
|
||||
$results.push($element);
|
||||
}
|
||||
};
|
||||
|
||||
// attribute selector
|
||||
selectors["@"] = function($results, $from, $attributeSelectorID) {
|
||||
var $test = attributeSelectors[$attributeSelectorID].test;
|
||||
var $element, i;
|
||||
for (i = 0; ($element = $from[i]); i++)
|
||||
if ($test($element)) $results.push($element);
|
||||
};
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
// pseudo-classes
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
pseudoClasses["first-child"] = function($element) {
|
||||
return !previousElementSibling($element);
|
||||
};
|
||||
|
||||
pseudoClasses["lang"] = function($element, $code) {
|
||||
$code = new RegExp("^" + $code, "i");
|
||||
while ($element && !$element.getAttribute("lang")) $element = $element.parentNode;
|
||||
return $element && $code.test($element.getAttribute("lang"));
|
||||
};
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
// attribute selectors
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
// constants
|
||||
AttributeSelector.NS_IE = /\\:/g;
|
||||
AttributeSelector.PREFIX = "@";
|
||||
// properties
|
||||
AttributeSelector.tests = {};
|
||||
// methods
|
||||
AttributeSelector.replace = function($match, $attribute, $namespace, $compare, $value) {
|
||||
var $key = this.PREFIX + $match;
|
||||
if (!attributeSelectors[$key]) {
|
||||
$attribute = this.create($attribute, $compare || "", $value || "");
|
||||
// store the selector
|
||||
attributeSelectors[$key] = $attribute;
|
||||
attributeSelectors.push($attribute);
|
||||
}
|
||||
return attributeSelectors[$key].id;
|
||||
};
|
||||
AttributeSelector.parse = function($selector) {
|
||||
$selector = $selector.replace(this.NS_IE, "|");
|
||||
var $match;
|
||||
while ($match = $selector.match(this.match)) {
|
||||
var $replace = this.replace($match[0], $match[1], $match[2], $match[3], $match[4]);
|
||||
$selector = $selector.replace(this.match, $replace);
|
||||
}
|
||||
return $selector;
|
||||
};
|
||||
AttributeSelector.create = function($propertyName, $test, $value) {
|
||||
var $attributeSelector = {};
|
||||
$attributeSelector.id = this.PREFIX + attributeSelectors.length;
|
||||
$attributeSelector.name = $propertyName;
|
||||
$test = this.tests[$test];
|
||||
$test = $test ? $test(this.getAttribute($propertyName), getText($value)) : false;
|
||||
$attributeSelector.test = new Function("e", "return " + $test);
|
||||
return $attributeSelector;
|
||||
};
|
||||
AttributeSelector.getAttribute = function($name) {
|
||||
switch ($name.toLowerCase()) {
|
||||
case "id":
|
||||
return "e.id";
|
||||
case "class":
|
||||
return "e.className";
|
||||
case "for":
|
||||
return "e.htmlFor";
|
||||
case "href":
|
||||
if (isMSIE) {
|
||||
// IE always returns the full path not the fragment in the href attribute
|
||||
// so we RegExp it out of outerHTML. Opera does the same thing but there
|
||||
// is no way to get the original attribute.
|
||||
return "String((e.outerHTML.match(/href=\\x22?([^\\s\\x22]*)\\x22?/)||[])[1]||'')";
|
||||
}
|
||||
}
|
||||
return "e.getAttribute('" + $name.replace($NAMESPACE, ":") + "')";
|
||||
};
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
// attribute selector tests
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
AttributeSelector.tests[""] = function($attribute) {
|
||||
return $attribute;
|
||||
};
|
||||
|
||||
AttributeSelector.tests["="] = function($attribute, $value) {
|
||||
return $attribute + "==" + Quote.add($value);
|
||||
};
|
||||
|
||||
AttributeSelector.tests["~="] = function($attribute, $value) {
|
||||
return "/(^| )" + regEscape($value) + "( |$)/.test(" + $attribute + ")";
|
||||
};
|
||||
|
||||
AttributeSelector.tests["|="] = function($attribute, $value) {
|
||||
return "/^" + regEscape($value) + "(-|$)/.test(" + $attribute + ")";
|
||||
};
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
// parsing
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
// override parseSelector to parse out attribute selectors
|
||||
var _parseSelector = parseSelector;
|
||||
parseSelector = function($selector) {
|
||||
return _parseSelector(AttributeSelector.parse($selector));
|
||||
};
|
||||
|
||||
}); // addModule
|
||||
Loading…
Add table
Add a link
Reference in a new issue