// Copyright 2009 the Sputnik authors.  All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
info: |
    White Space and Line Terminator between EqualityExpression and "===" or
    between "===" and RelationalExpression are allowed
es5id: 11.9.4_A1
description: Checking by using eval
---*/

//CHECK#1
if (!(eval("1\u0009===\u00091"))) {
  $ERROR('#1: 1\\u0009===\\u00091');
}

//CHECK#2
if (!(eval("1\u000B===\u000B1"))) {
  $ERROR('#2: 1\\u000B===\\u000B1');  
}

//CHECK#3
if (!(eval("1\u000C===\u000C1"))) {
  $ERROR('#3: 1\\u000C===\\u000C1');
}

//CHECK#4
if (!(eval("1\u0020===\u00201"))) {
  $ERROR('#4: 1\\u0020===\\u00201');
}

//CHECK#5
if (!(eval("1\u00A0===\u00A01"))) {
  $ERROR('#5: 1\\u00A0===\\u00A01');
}

//CHECK#6
if (!(eval("1\u000A===\u000A1"))) {
  $ERROR('#6: 1\\u000A===\\u000A1');  
}

//CHECK#7
if (!(eval("1\u000D===\u000D1"))) {
  $ERROR('#7: 1\\u000D===\\u000D1');
}

//CHECK#8
if (!(eval("1\u2028===\u20281"))) {
  $ERROR('#8: 1\\u2028===\\u20281');
}

//CHECK#9
if (!(eval("1\u2029===\u20291"))) {
  $ERROR('#9: 1\\u2029===\\u20291');
}

//CHECK#10
if (!(eval("1\u0009\u000B\u000C\u0020\u00A0\u000A\u000D\u2028\u2029===\u0009\u000B\u000C\u0020\u00A0\u000A\u000D\u2028\u20291"))) {
  $ERROR('#10: 1\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u2029===\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u20291');
}
