Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 package com.google.javascript.jscomp; | 5 package com.google.javascript.jscomp; |
| 6 | 6 |
| 7 /** | 7 /** |
| 8 * Tests {@link ChromePass}. | 8 * Tests {@link ChromePass}. |
| 9 */ | 9 */ |
| 10 public class ChromePassTest extends CompilerTestCase { | 10 public class ChromePassTest extends CompilerTestCase { |
| (...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 219 "a.b.c;"); | 219 "a.b.c;"); |
| 220 } | 220 } |
| 221 | 221 |
| 222 public void testCrDefinePropertyInvalidPropertyKind() | 222 public void testCrDefinePropertyInvalidPropertyKind() |
| 223 throws Exception { | 223 throws Exception { |
| 224 test( | 224 test( |
| 225 "cr.defineProperty(a.b, 'c', cr.PropertyKind.INEXISTENT_KIND);", | 225 "cr.defineProperty(a.b, 'c', cr.PropertyKind.INEXISTENT_KIND);", |
| 226 null, ChromePass.CR_DEFINE_PROPERTY_INVALID_PROPERTY_KIND); | 226 null, ChromePass.CR_DEFINE_PROPERTY_INVALID_PROPERTY_KIND); |
| 227 } | 227 } |
| 228 | 228 |
| 229 public void testCrExportPath() throws Exception { | |
| 230 test( | |
| 231 "cr.exportPath('a.b.c');", | |
| 232 "var a = a || {};\n" + | |
| 233 "a.b = a.b || {};\n" + | |
| 234 "a.b.c = a.b.c || {};\n" + | |
| 235 "cr.exportPath('a.b.c');"); | |
| 236 } | |
| 237 | |
| 238 public void testCrDefineCreatesEveryObjectOnlyOnce() throws Exception { | |
| 239 test( | |
| 240 "cr.define('a.b.c.d', function() {\n" + | |
| 241 " return {};\n" + | |
| 242 "});" + | |
| 243 "cr.define('a.b.e.f', function() {\n" + | |
| 244 " return {};\n" + | |
| 245 "});", | |
| 246 "var a = a || {};\n" + | |
| 247 "a.b = a.b || {};\n" + | |
| 248 "a.b.c = a.b.c || {};\n" + | |
| 249 "a.b.c.d = a.b.c.d || {};\n" + | |
| 250 "cr.define('a.b.c.d', function() {\n" + | |
| 251 " return {};\n" + | |
| 252 "});" + | |
| 253 "a.b.e = a.b.e || {};\n" + | |
| 254 "a.b.e.f = a.b.e.f || {};\n" + | |
| 255 "cr.define('a.b.e.f', function() {\n" + | |
| 256 " return {};\n" + | |
| 257 "});"); | |
| 258 } | |
| 259 | |
| 260 public void testCrDefineAndCrExportPathCreateEveryObjectOnlyOnce() throws Ex ception { | |
|
Dan Beam
2014/08/14 02:23:02
Creates
Vitaly Pavlenko
2014/08/14 02:40:59
CrDefine and CrExportPath, so they Create.
| |
| 261 test( | |
| 262 "cr.exportPath('a.b.c.d');\n" + | |
| 263 "cr.define('a.b.e.f', function() {\n" + | |
| 264 " return {};\n" + | |
| 265 "});", | |
| 266 "var a = a || {};\n" + | |
| 267 "a.b = a.b || {};\n" + | |
| 268 "a.b.c = a.b.c || {};\n" + | |
| 269 "a.b.c.d = a.b.c.d || {};\n" + | |
| 270 "cr.exportPath('a.b.c.d');\n" + | |
| 271 "a.b.e = a.b.e || {};\n" + | |
| 272 "a.b.e.f = a.b.e.f || {};\n" + | |
| 273 "cr.define('a.b.e.f', function() {\n" + | |
| 274 " return {};\n" + | |
| 275 "});"); | |
| 276 } | |
| 277 | |
| 278 public void testCrDefineDoesntRedefineCrVar() throws Exception { | |
| 279 test( | |
| 280 "cr.define('cr.ui', function() {\n" + | |
| 281 " return {};\n" + | |
| 282 "});", | |
| 283 "cr.ui = cr.ui || {};\n" + | |
| 284 "cr.define('cr.ui', function() {\n" + | |
| 285 " return {};\n" + | |
| 286 "});"); | |
| 287 } | |
| 288 | |
| 289 public void testCrExportPathInvalidNumberOfArguments() throws Exception { | |
| 290 test("cr.exportPath();", null, ChromePass.CR_EXPORT_PATH_WRONG_NUMBER_OF _ARGUMENTS); | |
| 291 } | |
| 292 | |
| 229 } | 293 } |
| OLD | NEW |