From 9114f815a02bd82a9ed52feb70d2a94c28c9e50d Mon Sep 17 00:00:00 2001
From: Mike Pennisi <mike@mikepennisi.com>
Date: Tue, 28 Jun 2016 16:51:38 -0400
Subject: [PATCH] Add test for '^' assertion with 'm' flag

The specification contains an explicit informative NOTE explaining that
the 'm' flag does not effect the behavior of the '^' assertion. Add a
test to verify this.
---
 .../literals/regexp/y-assertion-start.js      | 46 +++++++++++++++++++
 1 file changed, 46 insertions(+)
 create mode 100644 test/language/literals/regexp/y-assertion-start.js

diff --git a/test/language/literals/regexp/y-assertion-start.js b/test/language/literals/regexp/y-assertion-start.js
new file mode 100644
index 0000000000..efeb0ae78f
--- /dev/null
+++ b/test/language/literals/regexp/y-assertion-start.js
@@ -0,0 +1,46 @@
+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-assertion
+es6id: 21.2.2.6
+description: The `y` flag has no effect on the `^` assertion
+info: >
+  Even when the y flag is used with a pattern, ^ always matches only at the
+  beginning of Input, or (if Multiline is true) at the beginning of a line.
+---*/
+
+var re;
+
+re = /^a/y;
+
+re.lastIndex = 0;
+assert.sameValue(
+  re.test('a'), true, 'positive: beginning of input (without `m`)'
+);
+
+re.lastIndex = 1;
+assert.sameValue(
+  re.test(' a'), false, 'negative: within a line (without `m`)'
+);
+
+re.lastIndex = 1;
+assert.sameValue(
+  re.test('\na'), false, 'negative: beginning of line (without `m`)'
+);
+
+re = /^a/my;
+
+re.lastIndex = 0;
+assert.sameValue(
+  re.test('a'), true, 'positive: beginning of input (with `m`)'
+);
+
+re.lastIndex = 1;
+assert.sameValue(
+  re.test(' a'), false, 'negative: within a line (with `m`)'
+);
+
+re.lastIndex = 1;
+assert.sameValue(
+  re.test('\na'), true, 'positive: beginning of line (with `m`)'
+);
-- 
GitLab