Files
sdk/pkg/polymer/test/instance_attrs_test.dart
T
sigmund@google.com 4d357c5148 Improves how to initialize polymer apps and fixes polymer build and linter to
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
2013-10-21 23:30:23 +00:00

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');
});
}