| OLD | NEW | 
|---|
|  | (Empty) | 
| 1 // Copyright (c) 2011, the Dart project authors.  Please see the AUTHORS file |  | 
| 2 // for details. All rights reserved. Use of this source code is governed by a |  | 
| 3 // BSD-style license that can be found in the LICENSE file. |  | 
| 4 |  | 
| 5 #library("declaration_tests"); |  | 
| 6 #import("../../css/css.dart"); |  | 
| 7 |  | 
| 8 void main() { |  | 
| 9   initCssWorld(); |  | 
| 10 |  | 
| 11   testSimpleTerms(); |  | 
| 12   testMoreDecls(); |  | 
| 13   testIdentifiers(); |  | 
| 14   testComposites(); |  | 
| 15   testNewerCss(); |  | 
| 16   testCssFile(); |  | 
| 17 } |  | 
| 18 |  | 
| 19 void testSimpleTerms() { |  | 
| 20   final String input = |  | 
| 21     ".foo {\n" + |  | 
| 22     "  background-color: #191919;\n" + |  | 
| 23     "  width: 10PX;\n" + |  | 
| 24     "  height: 22mM !important;\n" + |  | 
| 25     "  border-width: 20cm;\n" + |  | 
| 26     "  margin-width: 33%;\n" + |  | 
| 27     "  border-height: 30EM;\n" + |  | 
| 28     "  width: .6in;\n" + |  | 
| 29     "  length: 1.2in;\n" + |  | 
| 30     "  -web-stuff: -10Px;\n" + |  | 
| 31     "}\n"; |  | 
| 32   final String generated = |  | 
| 33     "\n" + |  | 
| 34     ".foo {\n" + |  | 
| 35     "  background-color: #191919;\n" + |  | 
| 36     "  width: 10px;\n" + |  | 
| 37     "  height: 22mm !important;\n" + |  | 
| 38     "  border-width: 20cm;\n" + |  | 
| 39     "  margin-width: 33%;\n" + |  | 
| 40     "  border-height: 30em;\n" + |  | 
| 41     "  width: .6in;\n" +          // Check double values. |  | 
| 42     "  length: 1.2in;\n" + |  | 
| 43     "  -web-stuff: -10px;\n" + |  | 
| 44     "}\n"; |  | 
| 45 |  | 
| 46   Parser parser = |  | 
| 47       new Parser(new SourceFile(SourceFile.IN_MEMORY_FILE, input)); |  | 
| 48 |  | 
| 49   Stylesheet stylesheet = parser.parse(); |  | 
| 50   Expect.isNotNull(stylesheet); |  | 
| 51 |  | 
| 52   Expect.equals(generated, stylesheet.toString()); |  | 
| 53 } |  | 
| 54 |  | 
| 55 void testMoreDecls() { |  | 
| 56   final String input = |  | 
| 57     ".more {\n" + |  | 
| 58       "  color: red;\n" + |  | 
| 59       "  color: #aabbcc;  /* test -- 3 */\n" + |  | 
| 60       "  color: blue;\n" + |  | 
| 61       "  background-image: url(http://test.jpeg);\n" + |  | 
| 62       "  background-image: url(\"http://double_quote.html\");\n" + |  | 
| 63       "  background-image: url('http://single_quote.html');\n" + |  | 
| 64       "  color: rgba(10,20,255);  <!-- test CDO/CDC  -->\n" + |  | 
| 65       "  color: #123aef;   /* hex # part integer and part identifier */\n" + |  | 
| 66       "}\n"; |  | 
| 67   final String generated = |  | 
| 68     "\n" + |  | 
| 69     ".more {\n" + |  | 
| 70       "  color: #ff0000;\n" + |  | 
| 71       "  color: #aabbcc;\n" + |  | 
| 72       "  color: #0ff;\n" + |  | 
| 73       "  background-image: url(http://test.jpeg);\n" + |  | 
| 74       "  background-image: url(http://double_quote.html);\n" + |  | 
| 75       "  background-image: url(http://single_quote.html);\n" + |  | 
| 76       "  color: rgba(10, 20, 255);\n" + |  | 
| 77       "  color: #123aef;\n" + |  | 
| 78       "}\n"; |  | 
| 79 |  | 
| 80   Parser parser = |  | 
| 81     new Parser(new SourceFile(SourceFile.IN_MEMORY_FILE, input)); |  | 
| 82 |  | 
| 83   Stylesheet stylesheet = parser.parse(); |  | 
| 84   Expect.isNotNull(stylesheet); |  | 
| 85 |  | 
| 86   Expect.equals(generated, stylesheet.toString()); |  | 
| 87 } |  | 
| 88 |  | 
| 89 void testIdentifiers() { |  | 
| 90   final String input = |  | 
| 91     // Make sure identifiers that could look like hex are handled. |  | 
| 92     "#da {\n" + |  | 
| 93     "  height: 100px;\n" + |  | 
| 94     "}\n" + |  | 
| 95     // Make sure elements that contain a leading dash (negative) are valid. |  | 
| 96     "#-foo {\n" + |  | 
| 97     "  width: 10px;\n" + |  | 
| 98     "  color: #ff00cc;\n" + |  | 
| 99     "}\n"; |  | 
| 100   final String generated = |  | 
| 101     "\n" + |  | 
| 102     "#da {\n" + |  | 
| 103     "  height: 100px;\n" + |  | 
| 104     "}\n" + |  | 
| 105     "\n" + |  | 
| 106     "#-foo {\n" + |  | 
| 107     "  width: 10px;\n" + |  | 
| 108     "  color: #ff00cc;\n" + |  | 
| 109     "}\n"; |  | 
| 110 |  | 
| 111   Parser parser = |  | 
| 112     new Parser(new SourceFile(SourceFile.IN_MEMORY_FILE, input)); |  | 
| 113 |  | 
| 114   Stylesheet stylesheet = parser.parse(); |  | 
| 115   Expect.isNotNull(stylesheet); |  | 
| 116 |  | 
| 117   Expect.equals(generated, stylesheet.toString()); |  | 
| 118 } |  | 
| 119 |  | 
| 120 void testComposites() { |  | 
| 121   final String input = |  | 
| 122     // Composites |  | 
| 123     ".xyzzy {\n" + |  | 
| 124     "  border: 10px 80px 90px 100px;\n" + |  | 
| 125     "  width: 99%;\n" + |  | 
| 126     "}\n" + |  | 
| 127     "@-webkit-keyframes pulsate {\n" + |  | 
| 128     "  0% {\n" + |  | 
| 129     "    -webkit-transform: translate3d(0, 0, 0) scale(1.0);\n" + |  | 
| 130     "  }\n" + |  | 
| 131     "}\n"; |  | 
| 132   final String generated = |  | 
| 133     "\n" + |  | 
| 134     ".xyzzy {\n" + |  | 
| 135     "  border: 10px 80px 90px 100px;\n" + |  | 
| 136     "  width: 99%;\n" + |  | 
| 137     "}\n" + |  | 
| 138     "@-webkit-keyframes pulsate {\n" + |  | 
| 139     "  0% {\n" + |  | 
| 140     "  -webkit-transform: translate3d(0, 0, 0) scale(1.0);\n" + |  | 
| 141     "  }\n" + |  | 
| 142     "}\n"; |  | 
| 143   Parser parser = |  | 
| 144     new Parser(new SourceFile(SourceFile.IN_MEMORY_FILE, input)); |  | 
| 145 |  | 
| 146   Stylesheet stylesheet = parser.parse(); |  | 
| 147   Expect.isNotNull(stylesheet); |  | 
| 148 |  | 
| 149   Expect.equals(generated, stylesheet.toString()); |  | 
| 150 } |  | 
| 151 |  | 
| 152 void testNewerCss() { |  | 
| 153   final String input = |  | 
| 154     // Newer things in CSS |  | 
| 155     "@media screen,print {\n" + |  | 
| 156     "  .foobar_screen {\n" + |  | 
| 157     "    width: 10px;\n" + |  | 
| 158     "  }\n" + |  | 
| 159     "}\n" + |  | 
| 160     "@page : test {\n" + |  | 
| 161     "  width: 10px;\n" + |  | 
| 162     "}\n" + |  | 
| 163     "@page {\n" + |  | 
| 164     "  height: 22px;\n" + |  | 
| 165     "}\n"; |  | 
| 166   final String generated = |  | 
| 167     "@media screen,print {\n" + |  | 
| 168     "\n" + |  | 
| 169     ".foobar_screen {\n" + |  | 
| 170     "  width: 10px;\n" + |  | 
| 171     "}\n" + |  | 
| 172     "\n" + |  | 
| 173     "}\n" + |  | 
| 174     "@page : test {\n" + |  | 
| 175     "  width: 10px;\n" + |  | 
| 176     "\n" + |  | 
| 177     "}\n" + |  | 
| 178     "@page {\n" + |  | 
| 179     "  height: 22px;\n" + |  | 
| 180     "\n" + |  | 
| 181     "}\n"; |  | 
| 182 |  | 
| 183   Parser parser = |  | 
| 184     new Parser(new SourceFile(SourceFile.IN_MEMORY_FILE, input)); |  | 
| 185 |  | 
| 186   Stylesheet stylesheet = parser.parse(); |  | 
| 187   Expect.isNotNull(stylesheet); |  | 
| 188 |  | 
| 189   Expect.equals(generated, stylesheet.toString()); |  | 
| 190 } |  | 
| 191 |  | 
| 192 void testCssFile() { |  | 
| 193   final String scss = |  | 
| 194     "@import 'simple.css'\n" + |  | 
| 195     "@import \"test.css\" print\n" + |  | 
| 196     "@import url(test.css) screen, print\n" + |  | 
| 197 |  | 
| 198     "div[href^='test'] {\n" + |  | 
| 199     "  height: 10px;\n" + |  | 
| 200     "}\n" + |  | 
| 201 |  | 
| 202     "@-webkit-keyframes pulsate {\n" + |  | 
| 203     "  from {\n" + |  | 
| 204     "    -webkit-transform: translate3d(0, 0, 0) scale(1.0);\n" + |  | 
| 205     "  }\n" + |  | 
| 206     "  10% {\n" + |  | 
| 207     "    -webkit-transform: translate3d(0, 0, 0) scale(1.0);\n" + |  | 
| 208     "  }\n" + |  | 
| 209     "  30% {\n" + |  | 
| 210     "    -webkit-transform: translate3d(0, 2, 0) scale(1.0);\n" + |  | 
| 211     "  }\n" + |  | 
| 212     "}\n" + |  | 
| 213 |  | 
| 214     ".foobar {\n" + |  | 
| 215     "    grid-columns: 10px (\"content\" 1fr 10px)[4];\n" + |  | 
| 216     "}\n"; |  | 
| 217 |  | 
| 218   final String generated = |  | 
| 219     "@import url(simple.css)\n" + |  | 
| 220     "@import url(test.css) print\n" + |  | 
| 221     "@import url(test.css) screen,print\n" + |  | 
| 222     "\n" + |  | 
| 223     "div[href ^= \"test\"] {\n" + |  | 
| 224     "  height: 10px;\n" + |  | 
| 225     "}\n" + |  | 
| 226     "@-webkit-keyframes pulsate {\n" + |  | 
| 227     "  from {\n" + |  | 
| 228     "  -webkit-transform: translate3d(0, 0, 0) scale(1.0);\n" + |  | 
| 229     "  }\n" + |  | 
| 230     "  10% {\n" + |  | 
| 231     "  -webkit-transform: translate3d(0, 0, 0) scale(1.0);\n" + |  | 
| 232     "  }\n" + |  | 
| 233     "  30% {\n" + |  | 
| 234     "  -webkit-transform: translate3d(0, 2, 0) scale(1.0);\n" + |  | 
| 235     "  }\n" + |  | 
| 236     "}\n" + |  | 
| 237     "\n" + |  | 
| 238     ".foobar {\n" + |  | 
| 239     "  grid-columns: 10px (\"content\" 1fr 10px) [4];\n" + |  | 
| 240     "}\n"; |  | 
| 241 |  | 
| 242   Parser parser = |  | 
| 243     new Parser(new SourceFile(SourceFile.IN_MEMORY_FILE, scss)); |  | 
| 244 |  | 
| 245   Stylesheet stylesheet = parser.parse(); |  | 
| 246   Expect.isNotNull(stylesheet); |  | 
| 247 |  | 
| 248   Expect.equals(generated, stylesheet.toString()); |  | 
| 249 } |  | 
| OLD | NEW | 
|---|