Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
seleniumhq
GitHub Repository: seleniumhq/selenium
Path: blob/trunk/third_party/closure/goog/dom/pattern/text.js
2868 views
1
// Copyright 2007 The Closure Library Authors. All Rights Reserved.
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS-IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
15
/**
16
* @fileoverview DOM pattern to match a text node.
17
*
18
* @author [email protected] (Robby Walker)
19
*/
20
21
goog.provide('goog.dom.pattern.Text');
22
23
goog.require('goog.dom.NodeType');
24
goog.require('goog.dom.pattern');
25
goog.require('goog.dom.pattern.AbstractPattern');
26
goog.require('goog.dom.pattern.MatchType');
27
28
29
30
/**
31
* Pattern object that matches text by exact matching or regular expressions.
32
*
33
* @param {string|RegExp} match String or regular expression to match against.
34
* @constructor
35
* @extends {goog.dom.pattern.AbstractPattern}
36
* @final
37
*/
38
goog.dom.pattern.Text = function(match) {
39
/**
40
* The text or regular expression to match.
41
*
42
* @private {string|RegExp}
43
*/
44
this.match_ = match;
45
};
46
goog.inherits(goog.dom.pattern.Text, goog.dom.pattern.AbstractPattern);
47
48
49
/**
50
* Test whether the given token is a text token which matches the string or
51
* regular expression provided in the constructor.
52
*
53
* @param {Node} token Token to match against.
54
* @param {goog.dom.TagWalkType} type The type of token.
55
* @return {goog.dom.pattern.MatchType} <code>MATCH</code> if the pattern
56
* matches, <code>NO_MATCH</code> otherwise.
57
* @override
58
*/
59
goog.dom.pattern.Text.prototype.matchToken = function(token, type) {
60
if (token.nodeType == goog.dom.NodeType.TEXT &&
61
goog.dom.pattern.matchStringOrRegex(this.match_, token.nodeValue)) {
62
this.matchedNode = token;
63
return goog.dom.pattern.MatchType.MATCH;
64
}
65
66
return goog.dom.pattern.MatchType.NO_MATCH;
67
};
68
69