4d357c5148
match Dartium semantics (Issue 14238). In particular:
- only one script tag is allowed per document
- initPolymer can be call from init.dart or the users main method, the build
process knows how to call the user's main given the new Dartium semantics.
R=jmesserly@google.com
Review URL: https://codereview.chromium.org//27903006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28971 260f80e4-7a28-3924-810f-c04153c831b5
40 lines
1.3 KiB
Dart
40 lines
1.3 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:html';
|
|
import 'package:unittest/unittest.dart';
|
|
import 'package:unittest/html_config.dart';
|
|
import 'package:polymer/polymer.dart';
|
|
|
|
// Note: we use @CustomTag to make this type reflectable.
|
|
@CustomTag('my-element')
|
|
class MyElement extends PolymerElement {
|
|
MyElement.created() : super.created();
|
|
|
|
// This is here so that [attributes] can be read via mirrors in polymer
|
|
// expressions (@CustomTag in this class makes the attribute reflectable).
|
|
get attributes => super.attributes;
|
|
}
|
|
|
|
main() {
|
|
initPolymer();
|
|
useHtmlConfiguration();
|
|
|
|
setUp(() => Polymer.onReady);
|
|
|
|
test('attributes were deserialized', () {
|
|
var elem = query('my-element');
|
|
|
|
expect(elem.attributes, {'foo': '123', 'bar': 'hi', 'baz': 'world'},
|
|
reason: 'attributes should be copied to instance');
|
|
|
|
var text = elem.shadowRoot.text;
|
|
// Collapse adjacent whitespace like a browser would:
|
|
text = text.replaceAll('\n', ' ').replaceAll(new RegExp(r'\s+'), ' ');
|
|
|
|
expect(text, " foo: 123 bar: hi baz: world ",
|
|
reason: 'text should match expected HTML template');
|
|
});
|
|
}
|