Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(17)

Unified Diff: pkg/stub_core_library/test/stub_test.dart

Issue 1134583005: Remove the core library stubbing infrastructure. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/stub_core_library/pubspec.yaml ('k') | tools/create_sdk.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/stub_core_library/test/stub_test.dart
diff --git a/pkg/stub_core_library/test/stub_test.dart b/pkg/stub_core_library/test/stub_test.dart
deleted file mode 100644
index 5cdb775f7caebda90d05732af4c99870078cd6a6..0000000000000000000000000000000000000000
--- a/pkg/stub_core_library/test/stub_test.dart
+++ /dev/null
@@ -1,428 +0,0 @@
-// Copyright (c) 2014, 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 stub_core_libraries.test;
-
-import 'dart:io';
-
-import 'package:path/path.dart' as p;
-import 'package:stub_core_library/stub_core_library.dart';
-import 'package:unittest/unittest.dart';
-
-String sandbox;
-
-main() {
- setUp(() {
- sandbox = Directory.systemTemp.createTempSync('stub_core_library_').path;
- });
-
- tearDown(() => new Directory(sandbox).deleteSync(recursive: true));
-
- group("imports", () {
- test("dart: imports are preserved by default", () {
- expectStub("""
- import "dart:core";
- import "dart:html";
- import "dart:fblthp";
- """, """
- import "dart:core";
- import "dart:html";
- import "dart:fblthp";
- """);
- });
-
- test("internal dart: imports are removed", () {
- expectStub("""
- import "dart:_internal";
- import "dart:_blink" as _blink;
- import "dart:_fblthp";
- """, "");
- });
-
- test("replaced imports are replaced", () {
- expectStub("""
- import "dart:html";
- import "foo.dart" as foo;
- """, """
- import "dart_html.dart";
- import "bar.dart" as foo;
- """, {
- "dart:html": "dart_html.dart",
- "foo.dart": "bar.dart"
- });
- });
-
- test("exports are replaced as well", () {
- expectStub("""
- export "dart:html";
- export "foo.dart" show foo;
- """, """
- export "dart_html.dart";
- export "bar.dart" show foo;
- """, {
- "dart:html": "dart_html.dart",
- "foo.dart": "bar.dart"
- });
- });
- });
-
- test("a parted file is stubbed and included inline", () {
- new File(p.join(sandbox, "part.dart")).writeAsStringSync("""
- part of lib;
- void foo() => print('foo!');
- """);
-
- expectStub("""
- library lib;
- part "part.dart";
- """, """
- library lib;
- void foo() { ${unsupported("foo()")}; }
- """);
- });
-
- test("a class declaration's native clause is removed", () {
- expectStub("class Foo native 'Foo' {}", "class Foo {}");
- });
-
- group("constructors", () {
- test("a constructor's body is stubbed out", () {
- expectStub("""
- class Foo {
- Foo() { print("Created a foo!"); }
- }
- """, """
- class Foo {
- Foo() { ${unsupported("new Foo()")}; }
- }
- """);
- });
-
- test("a constructor's empty body is stubbed out", () {
- expectStub("class Foo { Foo(); }", """
- class Foo {
- Foo() { ${unsupported("new Foo()")}; }
- }
- """);
- });
-
- test("a constructor's external declaration is removed", () {
- expectStub("class Foo { external Foo(); }", """
- class Foo {
- Foo() { ${unsupported("new Foo()")}; }
- }
- """);
- });
-
- test("a constructor's field initializers are removed", () {
- expectStub("""
- class Foo {
- final _field1;
- final _field2;
-
- Foo()
- : _field1 = 1,
- _field2 = 2;
- }
- """, """
- class Foo {
- Foo() { ${unsupported("new Foo()")}; }
- }
- """);
- });
-
- test("a constructor's redirecting initializers are removed", () {
- expectStub("""
- class Foo {
- Foo() : this.create();
- Foo.create();
- }
- """, """
- class Foo {
- Foo() { ${unsupported("new Foo()")}; }
- Foo.create() { ${unsupported("new Foo.create()")}; }
- }
- """);
- });
-
- test("a constructor's superclass calls are preserved", () {
- expectStub("""
- class Foo {
- Foo(int i, int j, {int k});
- }
-
- class Bar extends Foo {
- Bar() : super(1, 2, k: 3);
- }
- """, """
- class Foo {
- Foo(int i, int j, {int k}) { ${unsupported("new Foo()")}; }
- }
-
- class Bar extends Foo {
- Bar()
- : super(${unsupported("new Bar()")}, null) {
- ${unsupported("new Bar()")};
- }
- }
- """);
- });
-
- test("a constructor's initializing formals are replaced with normal "
- "parameters", () {
- expectStub("""
- class Foo {
- final int _i;
- var _j;
- final List<int> _k;
-
- Foo(this._i, this._j, this._k);
- }
- """, """
- class Foo {
- Foo(int _i, _j, List<int> _k) { ${unsupported("new Foo()")}; }
- }
- """);
- });
-
- test("a const constructor isn't stubbed", () {
- expectStub("class Foo { const Foo(); }", "class Foo { const Foo(); }");
- });
-
- test("a const constructor's superclass calls are fully preserved", () {
- expectStub("""
- class Foo {
- const Foo(int i, int j, int k);
- }
-
- class Bar extends Foo {
- const Bar() : super(1, 2, 3);
- }
- """, """
- class Foo {
- const Foo(int i, int j, int k);
- }
-
- class Bar extends Foo {
- const Bar() : super(1, 2, 3);
- }
- """);
- });
-
- test("a redirecting const constructor stops redirecting", () {
- expectStub("""
- class Foo {
- const Foo.named(int i, int j, int k)
- : this(i, j, k);
- const Foo(int i, int j, int k);
- }
- """, """
- class Foo {
- const Foo.named(int i, int j, int k);
- const Foo(int i, int j, int k);
- }
- """);
- });
- });
-
- group("functions", () {
- test("stubs a top-level function", () {
- expectStub("void foo() => print('hello!');",
- "void foo() { ${unsupported('foo()')}; }");
- });
-
- test("stubs a private top-level function", () {
- expectStub("void _foo() => print('hello!');",
- "void _foo() { ${unsupported('_foo()')}; }");
- });
-
- test("stubs a method", () {
- expectStub("""
- class Foo {
- foo() => print("hello!");
- }
- """, """
- class Foo {
- foo() { ${unsupported('Foo.foo()')}; }
- }
- """);
- });
-
- test("empties a method in an unconstructable class", () {
- expectStub("""
- class Foo {
- Foo();
- foo() => print("hello!");
- }
- """, """
- class Foo {
- Foo() { ${unsupported('new Foo()')}; }
- foo() {}
- }
- """);
- });
-
- test("removes a private instance method", () {
- expectStub("""
- class Foo {
- _foo() => print("hello!");
- }
- """, "class Foo {}");
- });
-
- test("stubs a private static method", () {
- expectStub("""
- class Foo {
- static _foo() => print("hello!");
- }
- """, """
- class Foo {
- static _foo() { ${unsupported('Foo._foo()')}; }
- }
- """);
- });
-
- test("preserves an abstract instance method", () {
- expectStub("abstract class Foo { foo(); }",
- "abstract class Foo { foo(); }");
- });
-
- test("removes a native function body", () {
- expectStub("void foo() native 'foo';",
- "void foo() { ${unsupported('foo()')}; }");
- });
- });
-
- group("top-level fields", () {
- test("stubs out a top-level field", () {
- expectStub("int foo;", """
- int get foo => ${unsupported('foo')};
- set foo(int _) { ${unsupported('foo=')}; }
- """);
- });
-
- test("stubs out a top-level field with a value", () {
- expectStub("int foo = 12;", """
- int get foo => ${unsupported('foo')};
- set foo(int _) { ${unsupported('foo=')}; }
- """);
- });
-
- test("stubs out a final top-level field", () {
- expectStub("final int foo = 12;",
- "int get foo => ${unsupported('foo')};");
- });
-
- test("preserves a const top-level field", () {
- expectStub("const foo = 12;", "const foo = 12;");
- });
-
- test("removes a private top-level field", () {
- expectStub("int _foo = 12;", "");
- });
-
- test("preserves a private const top-level field", () {
- expectStub("const _foo = 12;", "const _foo = 12;");
- });
-
- test("splits a multiple-declaration top-level field", () {
- expectStub("int foo, bar, baz;", """
- int get foo => ${unsupported('foo')};
- set foo(int _) { ${unsupported('foo=')}; }
- int get bar => ${unsupported('bar')};
- set bar(int _) { ${unsupported('bar=')}; }
- int get baz => ${unsupported('baz')};
- set baz(int _) { ${unsupported('baz=')}; }
- """);
- });
- });
-
- group("instance fields", () {
- test("stubs out an instance field", () {
- expectStub("class Foo { int foo; }", """
- class Foo {
- int get foo => ${unsupported('Foo.foo')};
- set foo(int _) { ${unsupported('Foo.foo=')}; }
- }
- """);
- });
-
- test("stubs out an instance field with a value", () {
- expectStub("class Foo { int foo = 12; }", """
- class Foo {
- int get foo => ${unsupported('Foo.foo')};
- set foo(int _) { ${unsupported('Foo.foo=')}; }
- }
- """);
- });
-
- test("stubs out a final instance field", () {
- expectStub("class Foo { final int foo = 12; }", """
- class Foo {
- int get foo => ${unsupported('Foo.foo')};
- }
- """);
- });
-
- test("removes a private instance field", () {
- expectStub("class Foo { int _foo = 12; }", "class Foo { }");
- });
-
- test("stubs out a static instance field", () {
- expectStub("class Foo { static int foo = 12; }", """
- class Foo {
- static int get foo => ${unsupported('Foo.foo')};
- static set foo(int _) { ${unsupported('Foo.foo=')}; }
- }
- """);
- });
-
- test("removes a private static instance field", () {
- expectStub("class Foo { static int _foo = 12; }", "class Foo { }");
- });
-
- test("preserves a static const instance field", () {
- expectStub("class Foo { static const foo = 12; }",
- "class Foo { static const foo = 12; }");
- });
-
- test("nulls a field for an unconstructable class", () {
- expectStub("""
- class Foo {
- Foo();
- final foo = 12;
- }
- """, """
- class Foo {
- Foo() { ${unsupported("new Foo()")}; }
- final foo = null;
- }
- """);
- });
-
- test("splits a multiple-declaration instance field", () {
- expectStub("class Foo { int foo, bar, baz; }", """
- class Foo {
- int get foo => ${unsupported('Foo.foo')};
- set foo(int _) { ${unsupported('Foo.foo=')}; }
- int get bar => ${unsupported('Foo.bar')};
- set bar(int _) { ${unsupported('Foo.bar=')}; }
- int get baz => ${unsupported('Foo.baz')};
- set baz(int _) { ${unsupported('Foo.baz=')}; }
- }
- """);
- });
- });
-}
-
-/// Expects that [source] will transform into [expected] when stubbed.
-void expectStub(String source, String expected,
- [Map<String, String> importReplacements]) {
- expect(stubCode(source, p.join(sandbox, 'source.dart'), importReplacements),
- equalsIgnoringWhitespace(expected));
-}
-
-/// Returns code for throwing an [UnsupportedError] for the given name.
-String unsupported(String name) => 'throw new UnsupportedError("$name is '
- 'unsupported on this platform.")';
« no previous file with comments | « pkg/stub_core_library/pubspec.yaml ('k') | tools/create_sdk.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698