mirror of
https://github.com/google/pebble.git
synced 2025-03-20 02:51:21 +00:00
176 lines
4.4 KiB
JavaScript
176 lines
4.4 KiB
JavaScript
// Copyright 2015 Samsung Electronics Co., Ltd.
|
|
// Copyright 2015 University of Szeged.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
var t;
|
|
|
|
t = new RegExp ("^alma$").exec("alma");
|
|
assert (t == "alma");
|
|
|
|
t = new RegExp ("^alma$").exec("almaa");
|
|
assert (t == undefined);
|
|
|
|
t = new RegExp ("^alma$").exec("aalma");
|
|
assert (t == undefined);
|
|
|
|
t = new RegExp ("^alma").exec("alma");
|
|
assert (t == "alma");
|
|
|
|
t = new RegExp ("^alma").exec("almaa");
|
|
assert (t == "alma");
|
|
|
|
t = new RegExp ("^alma").exec("aalma");
|
|
assert (t == undefined);
|
|
|
|
t = new RegExp ("alma$").exec("alma");
|
|
assert (t == "alma");
|
|
|
|
t = new RegExp ("alma$").exec("almaa");
|
|
assert (t == undefined);
|
|
|
|
t = new RegExp ("alma$").exec("aalma");
|
|
assert (t == "alma");
|
|
|
|
t = new RegExp ("\\bis\\b").exec("This island is beautiful");
|
|
assert (t == "is");
|
|
|
|
t = new RegExp ("\\Bis\\B").exec("This island is beautiful");
|
|
assert (t == undefined);
|
|
|
|
t = new RegExp ("\\Bis").exec("This island is beautiful");
|
|
assert (t == "is");
|
|
|
|
t = new RegExp ("is\\B").exec("This island is beautiful");
|
|
assert (t == "is");
|
|
|
|
t = new RegExp ("\\Bis\\b").exec("This island is beautiful");
|
|
assert (t == "is");
|
|
|
|
t = new RegExp ("\\bis\\B").exec("This island is beautiful");
|
|
assert (t == "is");
|
|
|
|
t = new RegExp ("al(?=(ma))").exec("al");
|
|
assert (t == undefined);
|
|
|
|
t = new RegExp ("al(?!(ma))").exec("ala");
|
|
assert (t[0] == "al");
|
|
assert (t[1] == undefined);
|
|
|
|
t = new RegExp ("al(?=(ma))").exec("alma");
|
|
assert (t[0] == "al");
|
|
assert (t[1] == "ma");
|
|
|
|
t = new RegExp ("al(?=(ma))").exec("almama");
|
|
assert (t[0] == "al");
|
|
assert (t[1] == "ma");
|
|
|
|
t = new RegExp ("(al)(?=(ma))ma").exec("al");
|
|
assert (t == undefined);
|
|
|
|
t = new RegExp ("(al)(?=(ma)ma)").exec("al");
|
|
assert (t == undefined);
|
|
|
|
t = new RegExp ("al(?=(ma))*ma").exec("alma");
|
|
assert (t[0] == "alma");
|
|
assert (t[1] == undefined);
|
|
|
|
t = new RegExp ("al(?!(ma))*ma").exec("alma");
|
|
assert (t[0] == "alma");
|
|
assert (t[1] == undefined);
|
|
|
|
t = new RegExp ("al(?=(ma))ma").exec("alma");
|
|
assert (t[0] == "alma");
|
|
assert (t[1] == "ma");
|
|
|
|
t = new RegExp ("al(?!(ma))ma").exec("alma");
|
|
assert (t == undefined);
|
|
|
|
t = new RegExp ("(al)(?=(ma))ma").exec("almama");
|
|
t = new RegExp ("(al)(?=(ma)ma)").exec("almama");
|
|
|
|
t = new RegExp ("al(?=(ma))ma").exec("almama");
|
|
assert (t[0] == "alma");
|
|
assert (t[1] == "ma");
|
|
|
|
t = new RegExp ("al(?=(ma)ma)").exec("almama");
|
|
assert (t[0] == "al");
|
|
assert (t[1] == "ma");
|
|
|
|
t = new RegExp ("al(?!(ma))ma").exec("almama");
|
|
assert (t == undefined);
|
|
|
|
t = new RegExp ("a(?=(a)(a))aab|aaac").exec("aaac");
|
|
t = new RegExp ("a(?=(a)(a))aab|aaac").exec("aaab");
|
|
|
|
t = new RegExp ("(?!(a)b)|ab").exec("ab");
|
|
assert (t[0] == "ab");
|
|
assert (t[1] == undefined);
|
|
|
|
t = new RegExp ("(?=(a)b)|ab").exec("ab");
|
|
assert (t[0] == "");
|
|
assert (t[1] == "a");
|
|
|
|
t = new RegExp ("(?=a|.)Dt").exec("Dt");
|
|
assert (t == "Dt");
|
|
|
|
t = new RegExp ("(?=.|a)Dt").exec("Dt");
|
|
assert (t == "Dt");
|
|
|
|
t = new RegExp ("(?=a|b)Dt").exec("Dt");
|
|
assert (t == undefined);
|
|
|
|
t = new RegExp ("(?=.|P)").exec("a");
|
|
assert (t == "");
|
|
|
|
t = new RegExp ("(?=.)").exec("a");
|
|
assert (t == "");
|
|
|
|
t = new RegExp ("(?!a|.)Dt").exec("Dt");
|
|
assert (t == undefined);
|
|
|
|
t = new RegExp ("(?!.|a)Dt").exec("Dt");
|
|
assert (t == undefined);
|
|
|
|
t = new RegExp ("(?!a|b)Dt").exec("Dt");
|
|
assert (t == "Dt");
|
|
|
|
t = new RegExp ("(?!.|P)").exec("a");
|
|
assert (t == "");
|
|
|
|
t = new RegExp ("(?!.)").exec("a");
|
|
assert (t == "");
|
|
|
|
t = new RegExp ("abc","g");
|
|
t.lastIndex = {toString: function () { return "4"}};
|
|
var result = t.exec("abc abc");
|
|
assert(result[0] === "abc");
|
|
assert(result.index === 6);
|
|
|
|
t = new RegExp ("abc","g");
|
|
t.lastIndex = {valueOf: function () { return "4"}};
|
|
var result = t.exec("abc abc");
|
|
assert(result[0] === "abc");
|
|
assert(result.index === 6);
|
|
|
|
t = new RegExp ("abc","g");
|
|
t.lastIndex = "2"
|
|
var result = t.exec("abc abc");
|
|
assert(result[0] === "abc");
|
|
assert(result.index === 6);
|
|
|
|
t = new RegExp ("abc","g");
|
|
t.lastIndex = -12;
|
|
result = t.exec("abc abc");
|
|
assert(!result);
|
|
assert(t.lastIndex === 0);
|