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