c574e860ec
R=sigmund@google.com Review URL: https://codereview.chromium.org//50703009 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29505 260f80e4-7a28-3924-810f-c04153c831b5
55 lines
1.4 KiB
Dart
55 lines
1.4 KiB
Dart
// Copyright (c) 2013, 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.
|
|
|
|
import 'dart:async';
|
|
import 'dart:html';
|
|
import 'package:polymer/polymer.dart';
|
|
import 'package:unittest/unittest.dart';
|
|
import 'package:unittest/html_config.dart';
|
|
import 'package:unittest/matcher.dart';
|
|
|
|
@CustomTag('x-bar')
|
|
class XBar extends PolymerElement {
|
|
XBar.created() : super.created();
|
|
|
|
get testValue => true;
|
|
}
|
|
|
|
@CustomTag('x-foo')
|
|
class XFoo extends PolymerElement {
|
|
@observable var foo = 'foo!';
|
|
final _testDone = new Completer();
|
|
Future get onTestDone => _testDone.future;
|
|
|
|
XFoo.created() : super.created();
|
|
|
|
_runTest(_) {
|
|
expect($['bindId'].text.trim(), 'bar!');
|
|
|
|
expect(foo, $['foo'].attributes['foo']);
|
|
expect($['bool'].attributes['foo'], '');
|
|
expect($['bool'].attributes, isNot(contains('foo?')));
|
|
expect($['content'].innerHtml, foo);
|
|
|
|
expect(foo, $['bar'].attributes['foo']);
|
|
expect($['barBool'].attributes['foo'], '');
|
|
expect($['barBool'].attributes, isNot(contains('foo?')));
|
|
expect($['barContent'].innerHtml, foo);
|
|
_testDone.complete();
|
|
}
|
|
|
|
ready() {
|
|
onMutation($['bindId']).then(_runTest);
|
|
}
|
|
}
|
|
|
|
main() {
|
|
initPolymer();
|
|
useHtmlConfiguration();
|
|
|
|
setUp(() => Polymer.onReady);
|
|
|
|
test('ready called', () => (query('x-foo') as XFoo).onTestDone);
|
|
}
|