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

Unified Diff: packages/charted/test.disabled/selection/selection_scope_test.dart

Issue 1400473008: Roll Observatory packages and add a roll script (Closed) Base URL: git@github.com:dart-lang/observatory_pub_packages.git@master
Patch Set: Created 5 years, 2 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
Index: packages/charted/test.disabled/selection/selection_scope_test.dart
diff --git a/packages/charted/test.disabled/selection/selection_scope_test.dart b/packages/charted/test.disabled/selection/selection_scope_test.dart
new file mode 100644
index 0000000000000000000000000000000000000000..dc91cac21020ec6b42ce42e5137c59d2111e865b
--- /dev/null
+++ b/packages/charted/test.disabled/selection/selection_scope_test.dart
@@ -0,0 +1,128 @@
+/*
+ * Copyright 2014 Google Inc. All rights reserved.
+ *
+ * Use of this source code is governed by a BSD-style
+ * license that can be found in the LICENSE file or at
+ * https://developers.google.com/open-source/licenses/bsd
+ */
+
+part of charted.test.selection;
+
+testSelectionScope() {
+ String markup = '<div class="charted-scope-root">'
+ '<div class="charted-scope-inner">'
+ '<div class="charted-scope-leaf"></div>'
+ '<div class="charted-scope-leaf"></div>'
+ '</div>'
+ '</div>';
+ Element root, inner;
+ SelectionScope scope1, scope2, scope3;
+
+ _setup() {
+ root = new Element.html(markup);
+ inner = root.querySelector('.charted-scope-inner');
+
+ document.documentElement.append(root);
+
+ scope1 = new SelectionScope.selector('.charted-scope-root');
+ scope2 = new SelectionScope.element(root);
+ scope3 = new SelectionScope();
+ };
+
+ _teardown() {
+ root.remove();
+ }
+
+ group('Creating SelectionScope', () {
+ setUp(_setup);
+ tearDown(_teardown);
+
+ test('by selector and element should have the same root', () {
+ expect(scope1.root, equals(scope2.root));
+ });
+
+ test('should use documentElement as root when nothing is specified', () {
+ expect(scope3.root, equals(document.documentElement));
+ });
+ });
+
+ group('SelectionScope.associate', () {
+ setUp(_setup);
+ tearDown(_teardown);
+
+ test('should associate data to an element', () {
+ scope1.associate(inner, 10);
+ expect(scope1.datum(inner), equals(10));
+ });
+
+ test('should store the associations on scope', () {
+ scope1.associate(inner, 10);
+ scope2.associate(inner, 20);
+ expect(scope1.datum(inner), equals(10));
+ expect(scope2.datum(inner), equals(20));
+ });
+ });
+
+ group('SelectionScope.select', () {
+ setUp(_setup);
+ tearDown(_teardown);
+
+ test('must create a selection containing atmost one element', () {
+ var selection1 = scope1.select('.charted-scope-inner'),
+ selection2 = scope1.select('.charted-scope-leaf');
+ expect(selection1.length, equals(1));
+ expect(selection2.length, equals(1));
+ });
+
+ test('must create a empty selection when nothing matches', () {
+ var selection = scope1.select('.charted-scope-invalid');
+ expect(selection.length, equals(0));
+ });
+ });
+
+ group('SelectionScope.selectAll', () {
+ setUp(_setup);
+ tearDown(_teardown);
+
+ test('must create a selection containing all matching elements', () {
+ var selection1 = scope1.selectAll('.charted-scope-inner'),
+ selection2 = scope1.selectAll('.charted-scope-leaf'),
+ selection3 = scope1.selectAll('.charted-scope-invalid');
+
+ expect(selection1.length, equals(1));
+ expect(selection1.first.className, equals('charted-scope-inner'));
+ expect(selection2.length, equals(2));
+ expect(selection2.first.className, equals('charted-scope-leaf'));
+ expect(selection3.length, equals(0));
+ });
+ });
+
+ group('SelectionScope.selectElements', () {
+ setUp(_setup);
+ tearDown(_teardown);
+
+ test('must create a selection containing passed elements', () {
+ var elements = scope1.root.querySelectorAll('.charted-scope-leaf'),
+ selection = scope1.selectElements(elements.toList());
+ expect(selection.length, equals(elements.toList().length));
+
+ var selected = [];
+ selection.each((d,i,e) => selected.add(e));
+ expect(selected, unorderedEquals(elements.toList()));
+ });
+ });
+
+ group('SelectionScope.append', () {
+ setUp(_setup);
+ tearDown(_teardown);
+
+ test('must append and element and create a selection', () {
+ var selection1 = scope1.append('charted-test-dummy');
+ expect(selection1.length, equals(1));
+ expect(selection1.first.tagName,
+ equalsIgnoringCase('charted-test-dummy'));
+ expect(scope1.root.querySelector('charted-test-dummy'),
+ isNot(equals(null)));
+ });
+ });
+}

Powered by Google App Engine
This is Rietveld 408576698