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

Unified Diff: third_party/pkg/di/test/main.dart

Issue 180843004: Revert revision 33053 (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 6 years, 10 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 | « third_party/pkg/di/test/generator_test.dart ('k') | third_party/pkg/di/test/type_factories_gen.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/pkg/di/test/main.dart
===================================================================
--- third_party/pkg/di/test/main.dart (revision 33054)
+++ third_party/pkg/di/test/main.dart (working copy)
@@ -32,12 +32,12 @@
// just some classes for testing
@Injectable()
class Engine {
- final String id = 'v8-id';
+ String id = 'v8-id';
}
@Injectable()
class MockEngine implements Engine {
- final String id = 'mock-id';
+ String id = 'mock-id';
}
@Injectable()
@@ -45,10 +45,6 @@
String id = 'mock-id-2';
}
-class HiddenConstructor {
- HiddenConstructor._();
-}
-
@Injectable()
class Car {
Engine engine;
@@ -57,13 +53,6 @@
Car(this.engine, this.injector);
}
-class Lemon {
- final engine;
- final Injector injector;
-
- Lemon(this.engine, this.injector);
-}
-
class NumDependency {
NumDependency(num value) {}
}
@@ -100,7 +89,9 @@
class WithTypeDefDependency {
CompareInt compare;
- WithTypeDefDependency(this.compare);
+ WithTypeDefDependency(CompareInt c) {
+ compare = c;
+ }
}
class MultipleConstructors {
@@ -119,23 +110,6 @@
}
@Injectable()
-class ParameterizedType<T1, T2> {
- ParameterizedType();
-}
-
-@Injectable()
-class ParameterizedDependency {
- final ParameterizedType<bool, int> _p;
- ParameterizedDependency(this._p);
-}
-
-@Injectable()
-class GenericParameterizedDependency {
- final ParameterizedType _p;
- GenericParameterizedDependency(this._p);
-}
-
-@Injectable()
class Log {
var log = [];
@@ -150,12 +124,12 @@
createInjectorSpec('DynamicInjector',
(modules, [name]) => new DynamicInjector(modules: modules, name: name));
+ // Initialize generated type factories.
+ type_factories_gen.main();
+
createInjectorSpec('StaticInjector',
(modules, [name]) => new StaticInjector(modules: modules, name: name,
typeFactories: type_factories_gen.typeFactories));
-
- dynamicInjectorTest();
- staticInjectorTest();
}
typedef Injector InjectorFactory(List<Module> modules, [String name]);
@@ -190,25 +164,6 @@
});
- it('should inject generic parameterized types', () {
- var injector = injectorFactory([new Module()
- ..type(ParameterizedType)
- ..type(GenericParameterizedDependency)
- ]);
- expect(injector.get(GenericParameterizedDependency),
- new isInstanceOf<GenericParameterizedDependency>());
- });
-
-
- xit('should error while resolving parameterized types', () {
- var injector = injectorFactory([new Module()
- ..type(ParameterizedType)
- ..type(ParameterizedDependency)
- ]);
- expect(() => injector.get(ParameterizedDependency), throws);
- });
-
-
it('should allow modules and overriding providers', () {
var module = new Module()..type(Engine, implementedBy: MockEngine);
@@ -338,7 +293,8 @@
});
- it('should inject a typedef', () {
+ // Typedef injection is not supported in dart2js: http://dartbug.com/11612
+ xit('should inject a typedef', () {
var module = new Module()..value(CompareInt, compareIntAsc);
var injector = injectorFactory([module]);
@@ -349,12 +305,14 @@
});
- it('should throw an exception when injecting typedef without providing it', () {
+ // Typedef injection is not supported in dart2js: http://dartbug.com/11612
+ xit('should throw an exception when injecting typedef without providing it', () {
var injector = injectorFactory([new Module()..type(WithTypeDefDependency)]);
expect(() {
injector.get(WithTypeDefDependency);
- }, throws);
+ }, toThrow(NoProviderError, 'No provider found for CompareInt! '
+ '(resolving WithTypeDefDependency -> CompareInt)'));
});
@@ -559,134 +517,3 @@
});
}
-
-void dynamicInjectorTest() {
- describe('DynamicInjector', () {
-
- it('should throw a comprehensible error message on untyped argument', () {
- var module = new Module()..type(Lemon)..type(Engine);
- var injector = new DynamicInjector(modules : [module]);
-
- expect(() {
- injector.get(Lemon);
- }, toThrow(NoProviderError, "The 'engine' parameter must be typed "
- "(resolving Lemon)"));
- });
-
- it('should throw a comprehensible error message when no default constructor found', () {
- var module = new Module()..type(HiddenConstructor);
- var injector = new DynamicInjector(modules: [module]);
-
- expect(() {
- injector.get(HiddenConstructor);
- }, toThrow(NoProviderError, startsWith('Unable to find default '
- 'constructor for HiddenConstructor. Make sure class has a '
- 'default constructor.')));
- });
-
- });
-}
-
-void staticInjectorTest() {
- describe('StaticInjector', () {
-
- it('should use type factories passed in the constructor', () {
- var module = new Module()
- ..type(Engine);
- var injector = new StaticInjector(modules: [module], typeFactories: {
- Engine: (f) => new Engine()
- });
-
- var engine;
- expect(() {
- engine = injector.get(Engine);
- }, isNot(throws));
- expect(engine, new isInstanceOf<Engine>());
- });
-
- it('should use type factories passes in one module', () {
- var module = new Module()
- ..type(Engine)
- ..typeFactories = {
- Engine: (f) => new Engine()
- };
- var injector = new StaticInjector(modules: [module]);
-
- var engine;
- expect(() {
- engine = injector.get(Engine);
- }, isNot(throws));
- expect(engine, new isInstanceOf<Engine>());
- });
-
- it('should use type factories passes in many modules', () {
- var module1 = new Module()
- ..type(Engine)
- ..typeFactories = {
- Engine: (f) => new Engine()
- };
- var module2 = new Module()
- ..type(Car)
- ..typeFactories = {
- Car: (f) => new Car(f(Engine), f(Injector))
- };
-
- var injector = new StaticInjector(modules: [module1, module2]);
-
- var engine;
- expect(() {
- engine = injector.get(Car);
- }, isNot(throws));
- expect(engine, new isInstanceOf<Car>());
- });
-
- it('should use type factories passes in hierarchical module', () {
- var module = new Module()
- ..type(Engine)
- ..typeFactories = {
- Engine: (f) => new Engine()
- };
-
- module.install(new Module()
- ..type(Car)
- ..typeFactories = {
- Car: (f) => new Car(f(Engine), f(Injector))
- });
-
- var injector = new StaticInjector(modules: [module]);
-
- var engine;
- expect(() {
- engine = injector.get(Car);
- }, isNot(throws));
- expect(engine, new isInstanceOf<Car>());
- });
-
- it('should find type factories from parent injector', () {
- var module1 = new Module()
- ..type(Engine)
- ..typeFactories = {
- Engine: (f) => new Engine()
- };
- var module2 = new Module()
- ..type(Car)
- ..typeFactories = {
- Car: (f) => new Car(f(Engine), f(Injector))
- };
-
- var rootInjector = new StaticInjector(modules: [module1]);
- var childInjector = rootInjector.createChild([module2]);
-
- expect(() {
- rootInjector.get(Car);
- }, throws);
-
- var engine;
- expect(() {
- engine = childInjector.get(Car);
- }, isNot(throws));
- expect(engine, new isInstanceOf<Car>());
- });
-
- });
-}
« no previous file with comments | « third_party/pkg/di/test/generator_test.dart ('k') | third_party/pkg/di/test/type_factories_gen.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698