|  | // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file | 
|  | // for details. All rights reserved. Use of this source code is governed by a | 
|  | // BSD-style license that can be found in the LICENSE file. | 
|  |  | 
|  | import "package:expect/expect.dart"; | 
|  |  | 
|  | // Regression test for a bug in dart2js where global names could | 
|  | // collide. | 
|  |  | 
|  | var i = 'top level'; | 
|  |  | 
|  | var i0 = 'top level zero'; | 
|  |  | 
|  | var i00 = 'top level zero zero'; | 
|  |  | 
|  | var i2 = 'top level too'; | 
|  |  | 
|  | class A { | 
|  | static var i = 'A'; | 
|  | } | 
|  |  | 
|  | var j = 'top level'; | 
|  |  | 
|  | var j0 = 'top level zero'; | 
|  |  | 
|  | var j00 = 'top level zero zero'; | 
|  |  | 
|  | var j2 = 'top level too'; | 
|  |  | 
|  | class B { | 
|  | static var j = 'B'; | 
|  | } | 
|  |  | 
|  | var k = 'top level'; | 
|  |  | 
|  | var k0 = 'top level zero'; | 
|  |  | 
|  | var k00 = 'top level zero zero'; | 
|  |  | 
|  | var k2 = 'top level too'; | 
|  |  | 
|  | class C { | 
|  | static var k = 'C'; | 
|  | } | 
|  |  | 
|  | main() { | 
|  | // Order matters. This sequence triggered the bug. | 
|  | Expect.equals('top level', i); | 
|  | Expect.equals('A', A.i); | 
|  | Expect.equals('top level too', i2); | 
|  | Expect.equals('top level zero zero', i00); | 
|  | Expect.equals('top level zero', i0); | 
|  |  | 
|  | Expect.equals('top level zero zero', j00); | 
|  | Expect.equals('top level', j); | 
|  | Expect.equals('top level too', j2); | 
|  | Expect.equals('top level zero', j0); | 
|  | Expect.equals('B', B.j); | 
|  |  | 
|  | Expect.equals('top level too', k2); | 
|  | Expect.equals('top level zero', k0); | 
|  | Expect.equals('top level', k); | 
|  | Expect.equals('C', C.k); | 
|  | Expect.equals('top level zero zero', k00); | 
|  | } |