| Index: pkg/polymer/test/build/css_test.dart | 
| diff --git a/pkg/polymer/test/build/css_test.dart b/pkg/polymer/test/build/css_test.dart | 
| deleted file mode 100644 | 
| index 9f4c73419b832d300d0dbd125214a68a76971011..0000000000000000000000000000000000000000 | 
| --- a/pkg/polymer/test/build/css_test.dart | 
| +++ /dev/null | 
| @@ -1,500 +0,0 @@ | 
| -// Copyright (c) 2013, 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. | 
| - | 
| -library css_test; | 
| - | 
| -import 'package:path/path.dart' as path; | 
| -import 'package:polymer/src/messages.dart'; | 
| -import 'package:polymer/src/utils.dart' as utils; | 
| -import 'package:unittest/compact_vm_config.dart'; | 
| -import 'package:unittest/unittest.dart'; | 
| - | 
| -import 'testing.dart'; | 
| - | 
| -test_simple_var() { | 
| -  Map createFiles() { | 
| -    return { | 
| -      'index.html': | 
| -        '<!DOCTYPE html>' | 
| -        '<html lang="en">' | 
| -          '<head>' | 
| -            '<meta charset="utf-8">' | 
| -          '</head>' | 
| -          '<body>' | 
| -            '<style>' | 
| -              '@main_color: var(b);' | 
| -              '@b: var(c);' | 
| -              '@c: red;' | 
| -            '</style>' | 
| -            '<style>' | 
| -              '.test { color: var(main_color); }' | 
| -            '</style>' | 
| -            '<script type="application/dart">main() {}</script>' | 
| -          '</body>' | 
| -        '</html>', | 
| -    }; | 
| -  } | 
| - | 
| -  var messages = new Messages.silent(); | 
| -  var compiler = createCompiler(createFiles(), messages, errors: true, | 
| -      scopedCss: true); | 
| - | 
| -  compiler.run().then(expectAsync1((e) { | 
| -    MockFileSystem fs = compiler.fileSystem; | 
| -    expect(fs.readCount, equals({ | 
| -      'index.html': 1, | 
| -    }), reason: 'Actual:\n  ${fs.readCount}'); | 
| - | 
| -    var htmlInfo = compiler.info['index.html']; | 
| -    expect(htmlInfo.styleSheets.length, 2); | 
| -    expect(prettyPrintCss(htmlInfo.styleSheets[0]), ''); | 
| -    expect(prettyPrintCss(htmlInfo.styleSheets[1]), '.test { color: red; }'); | 
| -  })); | 
| -} | 
| - | 
| -test_var() { | 
| -  Map createFiles() { | 
| -    return { | 
| -      'index.html': | 
| -        '<!DOCTYPE html>' | 
| -        '<html lang="en">' | 
| -          '<head>' | 
| -            '<meta charset="utf-8">' | 
| -          '</head>' | 
| -          '<body>' | 
| -            '<style>' | 
| -              '@main-color: var(b);' | 
| -              '@b: var(c);' | 
| -              '@c: red;' | 
| -              '@d: var(main-color-1, green);' | 
| -              '@border-pen: solid;' | 
| -              '@inset: 5px;' | 
| -              '@frame-color: solid orange;' | 
| -              '@big-border: 2px 2px 2px;' | 
| -              '@border-stuff: 3px dashed var(main-color);' | 
| -              '@border-2: 3px var(big-border) dashed var(main-color-1, green);' | 
| -              '@blue-border: bold var(not-found, 1px 10px blue)' | 
| -            '</style>' | 
| -            '<style>' | 
| -              '.test-1 { color: var(main-color-1, blue); }' | 
| -              '.test-2 { color: var(main-color-1, var(main-color)); }' | 
| -              '.test-3 { color: var(d, yellow); }' | 
| -              '.test-4 { color: var(d-1, yellow); }' | 
| -              '.test-5 { color: var(d-1, var(d)); }' | 
| -              '.test-6 { border: var(inset) var(border-pen) var(d); }' | 
| -              '.test-7 { border: 10px var(border-pen) var(d); }' | 
| -              '.test-8 { border: 20px var(border-pen) yellow; }' | 
| -              '.test-9 { border: 30px dashed var(d); }' | 
| -              '.test-10 { border: 40px var(frame-color);}' | 
| -              '.test-11 { border: 40px var(frame-color-1, blue);}' | 
| -              '.test-12 { border: 40px var(frame-color-1, solid blue);}' | 
| -              '.test-13 {' | 
| -                 'border: 40px var(x1, var(x2, var(x3, var(frame-color)));' | 
| -              '}' | 
| -              '.test-14 { border: 40px var(x1, var(frame-color); }' | 
| -              '.test-15 { border: 40px var(x1, solid blue);}' | 
| -              '.test-16 { border: 1px 1px 2px 3px var(frame-color);}' | 
| -              '.test-17 { border: 1px 1px 2px 3px var(x1, solid blue);}' | 
| -              '.test-18 { border: 1px 1px 2px var(border-stuff);}' | 
| -              '.test-19 { border: var(big-border) var(border-stuff);}' | 
| -              '.test-20 { border: var(border-2);}' | 
| -              '.test-21 { border: var(blue-border);}' | 
| -            '</style>' | 
| -            '<script type="application/dart">main() {}</script>' | 
| -          '</body>' | 
| -        '</html>', | 
| -    }; | 
| -  } | 
| - | 
| -  var messages = new Messages.silent(); | 
| -  var compiler = createCompiler(createFiles(), messages, errors: true, | 
| -    scopedCss: true); | 
| - | 
| -  compiler.run().then(expectAsync1((e) { | 
| -    MockFileSystem fs = compiler.fileSystem; | 
| -    expect(fs.readCount, equals({ | 
| -      'index.html': 1, | 
| -    }), reason: 'Actual:\n  ${fs.readCount}'); | 
| - | 
| -    var htmlInfo = compiler.info['index.html']; | 
| -    expect(htmlInfo.styleSheets.length, 2); | 
| -    expect(prettyPrintCss(htmlInfo.styleSheets[0]), ''); | 
| -    expect(prettyPrintCss(htmlInfo.styleSheets[1]), | 
| -        '.test-1 { color: blue; } ' | 
| -        '.test-2 { color: red; } ' | 
| -        '.test-3 { color: green; } ' | 
| -        '.test-4 { color: yellow; } ' | 
| -        '.test-5 { color: green; } ' | 
| -        '.test-6 { border: 5px solid green; } ' | 
| -        '.test-7 { border: 10px solid green; } ' | 
| -        '.test-8 { border: 20px solid yellow; } ' | 
| -        '.test-9 { border: 30px dashed green; } ' | 
| -        '.test-10 { border: 40px solid orange; } ' | 
| -        '.test-11 { border: 40px blue; } ' | 
| -        '.test-12 { border: 40px solid blue; } ' | 
| -        '.test-13 { border: 40px solid orange; } ' | 
| -        '.test-14 { border: 40px solid orange; } ' | 
| -        '.test-15 { border: 40px solid blue; } ' | 
| -        '.test-16 { border: 1px 1px 2px 3px solid orange; } ' | 
| -        '.test-17 { border: 1px 1px 2px 3px solid blue; } ' | 
| -        '.test-18 { border: 1px 1px 2px 3px dashed red; } ' | 
| -        '.test-19 { border: 2px 2px 2px 3px dashed red; } ' | 
| -        '.test-20 { border: 3px 2px 2px 2px dashed green; } ' | 
| -        '.test-21 { border: bold 1px 10px blue; }'); | 
| -  })); | 
| -} | 
| - | 
| -test_simple_import() { | 
| -  Map createFiles() { | 
| -    return { | 
| -      'foo.css':  r'''@main_color: var(b); | 
| -        @b: var(c); | 
| -        @c: red;''', | 
| -      'index.html': | 
| -        '<!DOCTYPE html>' | 
| -        '<html lang="en">' | 
| -          '<head>' | 
| -             '<meta charset="utf-8">' | 
| -          '</head>' | 
| -          '<body>' | 
| -            '<style>' | 
| -              '@import "foo.css";' | 
| -              '.test { color: var(main_color); }' | 
| -            '</style>' | 
| -            '<script type="application/dart">main() {}</script>' | 
| -          '</body>' | 
| -        '</html>', | 
| -    }; | 
| -  } | 
| - | 
| -  var messages = new Messages.silent(); | 
| -  var compiler = createCompiler(createFiles(), messages, errors: true, | 
| -      scopedCss: true); | 
| - | 
| -  compiler.run().then(expectAsync1((e) { | 
| -    MockFileSystem fs = compiler.fileSystem; | 
| -    expect(fs.readCount, equals({ | 
| -      'foo.css': 1, | 
| -      'index.html': 1, | 
| -    }), reason: 'Actual:\n  ${fs.readCount}'); | 
| - | 
| -    var cssInfo = compiler.info['foo.css']; | 
| -    expect(cssInfo.styleSheets.length, 1); | 
| -    expect(prettyPrintCss(cssInfo.styleSheets[0]), ''); | 
| - | 
| -    var htmlInfo = compiler.info['index.html']; | 
| -    expect(htmlInfo.styleSheets.length, 1); | 
| -    expect(prettyPrintCss(htmlInfo.styleSheets[0]), | 
| -        '@import url(foo.css); .test { color: red; }'); | 
| -  })); | 
| -} | 
| - | 
| -test_imports() { | 
| -  Map createFiles() { | 
| -    return { | 
| -      'first.css': | 
| -        '@import "third.css";' | 
| -        '@main-width: var(main-width-b);' | 
| -        '@main-width-b: var(main-width-c);' | 
| -        '@main-width-c: var(wide-width);', | 
| -      'second.css': | 
| -        '@import "fourth.css";' | 
| -        '@main-color: var(main-color-b);' | 
| -        '@main-color-b: var(main-color-c);' | 
| -        '@main-color-c: var(color-value);', | 
| -      'third.css': | 
| -        '@wide-width: var(wide-width-b);' | 
| -        '@wide-width-b: var(wide-width-c);' | 
| -        '@wide-width-c: 100px;', | 
| -      'fourth.css': | 
| -        '@color-value: var(color-value-b);' | 
| -        '@color-value-b: var(color-value-c);' | 
| -        '@color-value-c: red;', | 
| -      'index.html': | 
| -        '<!DOCTYPE html>' | 
| -        '<html lang="en">' | 
| -          '<head>' | 
| -            '<meta charset="utf-8">' | 
| -            '<link rel="stylesheet" href="first.css">' | 
| -          '</head>' | 
| -          '<body>' | 
| -            '<style>' | 
| -              '@import "first.css";' | 
| -              '@import "second.css";' | 
| -              '.test-1 { color: var(main-color); }' | 
| -              '.test-2 { width: var(main-width); }' | 
| -            '</style>' | 
| -            '<script type="application/dart">main() {}</script>' | 
| -          '</body>' | 
| -        '</html>', | 
| -    }; | 
| -  } | 
| - | 
| -  var messages = new Messages.silent(); | 
| -  var compiler = createCompiler(createFiles(), messages, errors: true, | 
| -      scopedCss: true); | 
| - | 
| -  compiler.run().then(expectAsync1((e) { | 
| -    MockFileSystem fs = compiler.fileSystem; | 
| -    expect(fs.readCount, equals({ | 
| -      'first.css': 1, | 
| -      'second.css': 1, | 
| -      'third.css': 1, | 
| -      'fourth.css': 1, | 
| -      'index.html': 1, | 
| -    }), reason: 'Actual:\n  ${fs.readCount}'); | 
| - | 
| -    var firstInfo = compiler.info['first.css']; | 
| -    expect(firstInfo.styleSheets.length, 1); | 
| -    expect(prettyPrintCss(firstInfo.styleSheets[0]), '@import url(third.css);'); | 
| - | 
| -    var secondInfo = compiler.info['second.css']; | 
| -    expect(secondInfo.styleSheets.length, 1); | 
| -    expect(prettyPrintCss(secondInfo.styleSheets[0]), | 
| -        '@import url(fourth.css);'); | 
| - | 
| -    var thirdInfo = compiler.info['third.css']; | 
| -    expect(thirdInfo.styleSheets.length, 1); | 
| -    expect(prettyPrintCss(thirdInfo.styleSheets[0]), ''); | 
| - | 
| -    var fourthInfo = compiler.info['fourth.css']; | 
| -    expect(fourthInfo.styleSheets.length, 1); | 
| -    expect(prettyPrintCss(fourthInfo.styleSheets[0]), ''); | 
| - | 
| -    var htmlInfo = compiler.info['index.html']; | 
| -    expect(htmlInfo.styleSheets.length, 1); | 
| -    expect(prettyPrintCss(htmlInfo.styleSheets[0]), | 
| -        '@import url(first.css); ' | 
| -        '@import url(second.css); ' | 
| -        '.test-1 { color: red; } ' | 
| -        '.test-2 { width: 100px; }'); | 
| -  })); | 
| -} | 
| - | 
| -test_component_var() { | 
| -  Map createFiles() { | 
| -    return { | 
| -      'index.html': '<!DOCTYPE html>' | 
| -                    '<html lang="en">' | 
| -                      '<head>' | 
| -                        '<meta charset="utf-8">' | 
| -                        '<link rel="import" href="foo.html">' | 
| -                      '</head>' | 
| -                      '<body>' | 
| -                        '<x-foo></x-foo>' | 
| -                        '<script type="application/dart">main() {}</script>' | 
| -                      '</body>' | 
| -                    '</html>', | 
| -      'foo.html': '<!DOCTYPE html>' | 
| -                  '<html lang="en">' | 
| -                    '<head>' | 
| -                      '<meta charset="utf-8">' | 
| -                    '</head>' | 
| -                    '<body>' | 
| -                      '<polymer-element name="x-foo" constructor="Foo">' | 
| -                        '<template>' | 
| -                          '<style scoped>' | 
| -                            '@import "foo.css";' | 
| -                            '.main { color: var(main_color); }' | 
| -                            '.test-background { ' | 
| -                              'background:  url(http://www.foo.com/bar.png);' | 
| -                            '}' | 
| -                          '</style>' | 
| -                        '</template>' | 
| -                      '</polymer-element>' | 
| -                    '</body>' | 
| -                  '</html>', | 
| -      'foo.css':  r'''@main_color: var(b); | 
| -                      @b: var(c); | 
| -                      @c: red; | 
| - | 
| -                      @one: var(two); | 
| -                      @two: var(one); | 
| - | 
| -                      @four: var(five); | 
| -                      @five: var(six); | 
| -                      @six: var(four); | 
| - | 
| -                      @def-1: var(def-2); | 
| -                      @def-2: var(def-3); | 
| -                      @def-3: var(def-2);''', | 
| -    }; | 
| -  } | 
| - | 
| -  test('var- and Less @define', () { | 
| -    var messages = new Messages.silent(); | 
| -    var compiler = createCompiler(createFiles(), messages, errors: true, | 
| -      scopedCss: true); | 
| - | 
| -    compiler.run().then(expectAsync1((e) { | 
| -      MockFileSystem fs = compiler.fileSystem; | 
| -      expect(fs.readCount, equals({ | 
| -        'index.html': 1, | 
| -        'foo.html': 1, | 
| -        'foo.css': 1 | 
| -      }), reason: 'Actual:\n  ${fs.readCount}'); | 
| - | 
| -      var cssInfo = compiler.info['foo.css']; | 
| -      expect(cssInfo.styleSheets.length, 1); | 
| -      var htmlInfo = compiler.info['foo.html']; | 
| -      expect(htmlInfo.styleSheets.length, 0); | 
| -      expect(htmlInfo.declaredComponents.length, 1); | 
| -      expect(htmlInfo.declaredComponents[0].styleSheets.length, 1); | 
| - | 
| -      // TODO(sigmund,terry): reenable | 
| -      //   if (file.path == 'out/index.html.css') { | 
| -      //     expect(file.contents, | 
| -      //         '/* Auto-generated from components style tags. */\n' | 
| -      //         '/* DO NOT EDIT. */\n\n' | 
| -      //         '/* ==================================================== \n' | 
| -      //         '   Component x-foo stylesheet \n' | 
| -      //         '   ==================================================== */\n' | 
| -      //         '@import "foo.css";\n' | 
| -      //         '[is="x-foo"] .main {\n' | 
| -      //         '  color: #f00;\n' | 
| -      //         '}\n' | 
| -      //         '[is="x-foo"] .test-background {\n' | 
| -      //         '  background: url("http://www.foo.com/bar.png");\n' | 
| -      //         '}\n\n'); | 
| -      //   } else if (file.path == 'out/foo.css') { | 
| -      //     expect(file.contents, | 
| -      //         '/* Auto-generated from style sheet href = foo.css */\n' | 
| -      //         '/* DO NOT EDIT. */\n\n\n\n'); | 
| -      //   } | 
| - | 
| -      // Check for warning messages about var- cycles in no expected order. | 
| -      expect(messages.messages.length, 8); | 
| -      int testBitMap = 0; | 
| -      for (var errorMessage in messages.messages) { | 
| -        var message = errorMessage.message; | 
| -        if (message.contains('var cycle detected var-def-1')) { | 
| -          expect(errorMessage.span, isNotNull); | 
| -          expect(errorMessage.span.start.line, 11); | 
| -          expect(errorMessage.span.start.column, 22); | 
| -          expect(errorMessage.span.text, '@def-1: var(def-2)'); | 
| -          testBitMap |= 1 << 0; | 
| -        } else if (message.contains('var cycle detected var-five')) { | 
| -          expect(errorMessage.span, isNotNull); | 
| -          expect(errorMessage.span.start.line, 8); | 
| -          expect(errorMessage.span.start.column, 22); | 
| -          expect(errorMessage.span.text, '@five: var(six)'); | 
| -          testBitMap |= 1 << 1; | 
| -        } else if (message.contains('var cycle detected var-six')) { | 
| -          expect(errorMessage.span, isNotNull); | 
| -          expect(errorMessage.span.start.line, 9); | 
| -          expect(errorMessage.span.start.column, 22); | 
| -          expect(errorMessage.span.text, '@six: var(four)'); | 
| -          testBitMap |= 1 << 2; | 
| -        } else if (message.contains('var cycle detected var-def-3')) { | 
| -          expect(errorMessage.span, isNotNull); | 
| -          expect(errorMessage.span.start.line, 13); | 
| -          expect(errorMessage.span.start.column, 22); | 
| -          expect(errorMessage.span.text, '@def-3: var(def-2)'); | 
| -          testBitMap |= 1 << 3; | 
| -        } else if (message.contains('var cycle detected var-two')) { | 
| -          expect(errorMessage.span, isNotNull); | 
| -          expect(errorMessage.span.start.line, 5); | 
| -          expect(errorMessage.span.start.column, 22); | 
| -          expect(errorMessage.span.text, '@two: var(one)'); | 
| -          testBitMap |= 1 << 4; | 
| -        } else if (message.contains('var cycle detected var-def-2')) { | 
| -          expect(errorMessage.span, isNotNull); | 
| -          expect(errorMessage.span.start.line, 12); | 
| -          expect(errorMessage.span.start.column, 22); | 
| -          expect(errorMessage.span.text, '@def-2: var(def-3)'); | 
| -          testBitMap |= 1 << 5; | 
| -        } else if (message.contains('var cycle detected var-one')) { | 
| -          expect(errorMessage.span, isNotNull); | 
| -          expect(errorMessage.span.start.line, 4); | 
| -          expect(errorMessage.span.start.column, 22); | 
| -          expect(errorMessage.span.text, '@one: var(two)'); | 
| -          testBitMap |= 1 << 6; | 
| -        } else if (message.contains('var cycle detected var-four')) { | 
| -          expect(errorMessage.span, isNotNull); | 
| -          expect(errorMessage.span.start.line, 7); | 
| -          expect(errorMessage.span.start.column, 22); | 
| -          expect(errorMessage.span.text, '@four: var(five)'); | 
| -          testBitMap |= 1 << 7; | 
| -        } | 
| -      } | 
| -      expect(testBitMap, equals((1 << 8) - 1)); | 
| -    })); | 
| -  }); | 
| -} | 
| - | 
| -test_pseudo_element() { | 
| -  var messages = new Messages.silent(); | 
| -  var compiler = createCompiler({ | 
| -    'index.html': '<head>' | 
| -                  '<link rel="import" href="foo.html">' | 
| -                  '<style>' | 
| -                    '.test::x-foo { background-color: red; }' | 
| -                    '.test::x-foo1 { color: blue; }' | 
| -                    '.test::x-foo2 { color: green; }' | 
| -                  '</style>' | 
| -                  '<body>' | 
| -                    '<x-foo class=test></x-foo>' | 
| -                    '<x-foo></x-foo>' | 
| -                  '<script type="application/dart">main() {}</script>', | 
| -    'foo.html': '<head>' | 
| -                '<body><polymer-element name="x-foo" constructor="Foo">' | 
| -                '<template>' | 
| -                  '<div pseudo="x-foo">' | 
| -                    '<div>Test</div>' | 
| -                  '</div>' | 
| -                  '<div pseudo="x-foo1 x-foo2">' | 
| -                  '<div>Test</div>' | 
| -                  '</div>' | 
| -                '</template>', | 
| -    }, messages, scopedCss: true); | 
| - | 
| -    compiler.run().then(expectAsync1((e) { | 
| -      MockFileSystem fs = compiler.fileSystem; | 
| -      expect(fs.readCount, equals({ | 
| -        'index.html': 1, | 
| -        'foo.html': 1, | 
| -      }), reason: 'Actual:\n  ${fs.readCount}'); | 
| - | 
| -      // TODO(sigmund, terry): reenable | 
| -      // expect(compiler.output.last.contents, contains( | 
| -      //     '<div pseudo="x-foo_0">' | 
| -      //       '<div>Test</div>' | 
| -      //     '</div>' | 
| -      //     '<div pseudo="x-foo1_1 x-foo2_2">' | 
| -      //     '<div>Test</div>' | 
| -      //     '</div>')); | 
| -      // expect(compiler.output.last.contents, contains( | 
| -      //     '<style>.test > *[pseudo="x-foo_0"] {\n' | 
| -      //       '  background-color: #f00;\n' | 
| -      //     '}\n' | 
| -      //     '.test > *[pseudo="x-foo1_1"] {\n' | 
| -      //     '  color: #00f;\n' | 
| -      //     '}\n' | 
| -      //     '.test > *[pseudo="x-foo2_2"] {\n' | 
| -      //     '  color: #008000;\n' | 
| -      //     '}' | 
| -      //     '</style>')); | 
| -    })); | 
| -} | 
| - | 
| -main() { | 
| -  useCompactVMConfiguration(); | 
| - | 
| -  group('css', () { | 
| -    setUp(() { | 
| -      utils.path = new path.Builder(style: path.Style.posix); | 
| -    }); | 
| - | 
| -    tearDown(() { | 
| -      utils.path = new path.Builder(); | 
| -    }); | 
| - | 
| -    test('test_simple_var', test_simple_var); | 
| -    test('test_var', test_var); | 
| -    test('test_simple_import', test_simple_import); | 
| -    test('test_imports', test_imports); | 
| -    group('test_component_var', test_component_var); | 
| -    test('test_pseudo_element', test_pseudo_element); | 
| -  }); | 
| -} | 
|  |