// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
info: Correct interpretation of RUSSIAN ALPHABET
es6id: 11.6
description: Check RUSSIAN SMALL ALPHABET
---*/

var а = 1;
assert.sameValue(а, 1);

var б = 1;
assert.sameValue(б, 1);

var в = 1;
assert.sameValue(в, 1);

var г = 1;
assert.sameValue(г, 1);

var д = 1;
assert.sameValue(д, 1);

var е = 1;
assert.sameValue(е, 1);

var ж = 1;
assert.sameValue(ж, 1);

var з = 1;
assert.sameValue(з, 1);

var и = 1;
assert.sameValue(и, 1);

var й = 1;
assert.sameValue(й, 1);

var к = 1;
assert.sameValue(к, 1);

var л = 1;
assert.sameValue(л, 1);

var м = 1;
assert.sameValue(м, 1);

var н = 1;
assert.sameValue(н, 1);

var о = 1;
assert.sameValue(о, 1);

var п = 1;
assert.sameValue(п, 1);

var р = 1;
assert.sameValue(р, 1);

var с = 1;
assert.sameValue(с, 1);

var т = 1;
assert.sameValue(т, 1);

var у = 1;
assert.sameValue(у, 1);

var ф = 1;
assert.sameValue(ф, 1);

var х = 1;
assert.sameValue(х, 1);

var ц = 1;
assert.sameValue(ц, 1);

var ч = 1;
assert.sameValue(ч, 1);

var ш = 1;
assert.sameValue(ш, 1);

var щ = 1;
assert.sameValue(щ, 1);

var ъ = 1;
assert.sameValue(ъ, 1);

var ы = 1;
assert.sameValue(ы, 1);

var ь = 1;
assert.sameValue(ь, 1);

var э = 1;
assert.sameValue(э, 1);

var ю = 1;
assert.sameValue(ю, 1);

var я = 1;
assert.sameValue(я, 1);

var ё = 1;
assert.sameValue(ё, 1);
