64d7bc5acf
Review URL: https://chromiumcodereview.appspot.com//10248007 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7101 260f80e4-7a28-3924-810f-c04153c831b5
52 lines
1010 B
Dart
52 lines
1010 B
Dart
// Copyright (c) 2011, 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.
|
|
//
|
|
|
|
// Test that a factory provider can provide for more than one interface.
|
|
|
|
interface A default F {
|
|
A(var secret);
|
|
|
|
GetSecret();
|
|
}
|
|
|
|
class AImpl implements A {
|
|
String _secret;
|
|
|
|
AImpl(String one, String two) : _secret = "${one}${two}";
|
|
|
|
String GetSecret() { return _secret; }
|
|
}
|
|
|
|
interface B default F {
|
|
B(var secret);
|
|
|
|
GetSecret();
|
|
}
|
|
|
|
class BImpl implements B {
|
|
String _secret;
|
|
|
|
BImpl(String one, String two) : _secret = "${two}${one}";
|
|
|
|
String GetSecret() { return _secret; }
|
|
}
|
|
|
|
|
|
// One factory provider for two interfaces.
|
|
class F {
|
|
factory A(var secret) {
|
|
return new AImpl(secret, 'A');
|
|
}
|
|
|
|
factory B(var secret) {
|
|
return new BImpl(secret, 'B');
|
|
}
|
|
}
|
|
|
|
main() {
|
|
Expect.equals('1A', new A('1').GetSecret());
|
|
Expect.equals('B2', new B('2').GetSecret());
|
|
}
|