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

Side by Side Diff: client/html/src/ElementWrappingImplementation.dart

Issue 9210006: Revert "Add tests for Element#elements." (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 11 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « client/html/release/htmlimpl.dart ('k') | client/html/src/Lists.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 // TODO(jacobr): use Lists.dart to remove some of the duplicated functionality. 5 // TODO(jacobr): use Lists.dart to remove some of the duplicated functionality.
6 class _ChildrenElementList implements ElementList { 6 class _ChildrenElementList implements ElementList {
7 // Raw Element. 7 // Raw Element.
8 final _element; 8 final _element;
9 final _childElements; 9 final _childElements;
10 10
11 _ChildrenElementList._wrap(var element) 11 _ChildrenElementList._wrap(var element)
12 : _childElements = element.children, 12 : _childElements = element.children,
13 _element = element; 13 _element = element;
14 14
15 List<Element> _toList() { 15 List<Element> _toList() {
16 final output = new List(_childElements.length); 16 final output = new List(_childElements.length);
17 for (int i = 0, len = _childElements.length; i < len; i++) { 17 for (int i = 0, len = _childElements.length; i < len; i++) {
18 output[i] = LevelDom.wrapElement(_childElements[i]); 18 output[i] = LevelDom.wrapElement(_childElements[i]);
19 } 19 }
20 return output; 20 return output;
21 } 21 }
22 22
23 Element get first() { 23 Element get first() {
24 return LevelDom.wrapElement(_element.firstElementChild); 24 return LevelDom.wrapElement(_element.firstElementChild);
25 } 25 }
26 26
27 void forEach(void f(Element element)) => _toList().forEach(f); 27 void forEach(void f(Element element)) {
28 for (var element in _childElements) {
29 f(LevelDom.wrapElement(element));
30 }
31 }
28 32
29 Collection map(f(Element element)) => _toList().map(f); 33 Collection map(f(Element element)) {
34 List output = new List();
35 forEach((Element element) {
36 output.add(f(element));
37 });
38 return output;
39 }
30 40
31 Collection<Element> filter(bool f(Element element)) => _toList().filter(f); 41 Collection<Element> filter(bool f(Element element)) {
42 List<Element> output = new List<Element>();
43 forEach((Element element) {
44 if (f(element)) {
45 output.add(element);
46 }
47 });
48 return output;
49 }
32 50
33 bool every(bool f(Element element)) { 51 bool every(bool f(Element element)) {
34 for(Element element in this) { 52 for(Element element in this) {
35 if (!f(element)) { 53 if (!f(element)) {
36 return false; 54 return false;
37 } 55 }
38 }; 56 };
39 return true; 57 return true;
40 } 58 }
41 59
42 bool some(bool f(Element element)) { 60 bool some(bool f(Element element)) {
43 for(Element element in this) { 61 for(Element element in this) {
44 if (f(element)) { 62 if (f(element)) {
45 return true; 63 return true;
46 } 64 }
47 }; 65 };
48 return false; 66 return false;
49 } 67 }
50 68
51 bool isEmpty() { 69 bool isEmpty() {
52 return _element.firstElementChild === null; 70 return _element.firstElementChild !== null;
53 } 71 }
54 72
55 int get length() { 73 int get length() {
56 return _childElements.length; 74 return _childElements.length;
57 } 75 }
58 76
59 Element operator [](int index) { 77 Element operator [](int index) {
60 return LevelDom.wrapElement(_childElements[index]); 78 return LevelDom.wrapElement(_childElements[index]);
61 } 79 }
62 80
(...skipping 22 matching lines...) Expand all
85 } 103 }
86 104
87 void sort(int compare(Element a, Element b)) { 105 void sort(int compare(Element a, Element b)) {
88 throw const UnsupportedOperationException('TODO(jacobr): should we impl?'); 106 throw const UnsupportedOperationException('TODO(jacobr): should we impl?');
89 } 107 }
90 108
91 void copyFrom(List<Object> src, int srcStart, int dstStart, int count) { 109 void copyFrom(List<Object> src, int srcStart, int dstStart, int count) {
92 throw 'Not impl yet. todo(jacobr)'; 110 throw 'Not impl yet. todo(jacobr)';
93 } 111 }
94 112
95 void setRange(int start, int length, List from, [int startFrom = 0]) => 113 void setRange(int start, int length, List from, [int startFrom = 0]) {
96 Lists.setRange(this, start, length, from, startFrom); 114 throw const NotImplementedException();
115 }
97 116
98 void removeRange(int start, int length) => 117 void removeRange(int start, int length) {
99 Lists.removeRange(this, start, length, (i) => this[i].remove()); 118 throw const NotImplementedException();
119 }
100 120
101 void insertRange(int start, int length, [initialValue = null]) { 121 void insertRange(int start, int length, [initialValue = null]) {
102 throw const NotImplementedException(); 122 throw const NotImplementedException();
103 } 123 }
104 124
105 List getRange(int start, int length) => Lists.getRange(this, start, length); 125 List getRange(int start, int length) {
126 throw const NotImplementedException();
127 }
106 128
107 int indexOf(Element element, [int start = 0]) { 129 int indexOf(Element element, [int start = 0]) {
108 return Lists.indexOf(this, element, start, this.length); 130 return _Lists.indexOf(this, element, start, this.length);
109 } 131 }
110 132
111 int lastIndexOf(Element element, [int start = null]) { 133 int lastIndexOf(Element element, [int start = null]) {
112 if (start === null) start = length - 1; 134 if (start === null) start = length - 1;
113 return Lists.lastIndexOf(this, element, start); 135 return _Lists.lastIndexOf(this, element, start);
114 } 136 }
115 137
116 void clear() { 138 void clear() {
117 // It is unclear if we want to keep non element nodes? 139 // It is unclear if we want to keep non element nodes?
118 _element.textContent = ''; 140 _element.textContent = '';
119 } 141 }
120 142
121 Element removeLast() { 143 Element removeLast() {
122 final last = this.last(); 144 final last = this.last();
123 if (last != null) { 145 if (last != null) {
(...skipping 630 matching lines...) Expand 10 before | Expand all | Expand 10 after
754 776
755 ElementEvents get on() { 777 ElementEvents get on() {
756 if (_on === null) { 778 if (_on === null) {
757 _on = new ElementEventsImplementation._wrap(_ptr); 779 _on = new ElementEventsImplementation._wrap(_ptr);
758 } 780 }
759 return _on; 781 return _on;
760 } 782 }
761 783
762 Element clone(bool deep) => super.clone(deep); 784 Element clone(bool deep) => super.clone(deep);
763 } 785 }
OLDNEW
« no previous file with comments | « client/html/release/htmlimpl.dart ('k') | client/html/src/Lists.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698