| 442 | |
| 443 | // pseudo selector :contains(text), containsOwn(text) |
| 444 | private Evaluator contains(boolean own) { |
| 445 | String query = own ? ":containsOwn" : ":contains"; |
| 446 | String searchText = TokenQueue.unescape(consumeParens()); |
| 447 | Validate.notEmpty(searchText, query + "(text) query must not be empty"); |
| 448 | |
| 449 | if (inNodeContext) |
| 450 | return new NodeEvaluator.ContainsValue(searchText); |
| 451 | |
| 452 | return own |
| 453 | ? new Evaluator.ContainsOwnText(searchText) |
| 454 | : new Evaluator.ContainsText(searchText); |
| 455 | } |
| 456 | |
| 457 | private Evaluator containsWholeText(boolean own) { |
| 458 | String query = own ? ":containsWholeOwnText" : ":containsWholeText"; |