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

Unified Diff: third_party/pkg/angular/test/core_dom/ng_element_spec.dart

Issue 257423008: Update all Angular libs (run update_all.sh). (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 8 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: third_party/pkg/angular/test/core_dom/ng_element_spec.dart
diff --git a/third_party/pkg/angular/test/core_dom/ng_element_spec.dart b/third_party/pkg/angular/test/core_dom/ng_element_spec.dart
new file mode 100644
index 0000000000000000000000000000000000000000..40aa76247b918356108a20293b7b19656b7e4cad
--- /dev/null
+++ b/third_party/pkg/angular/test/core_dom/ng_element_spec.dart
@@ -0,0 +1,147 @@
+library ng_element_spec;
+
+import '../_specs.dart';
+
+void main() {
+ describe('ngElement', () {
+
+ describe('classes', () {
+ it('should add classes to the element on domWrite',
+ (TestBed _, Animate animate) {
+
+ var scope = _.rootScope;
+ var element = e('<div></div>');
+ var ngElement = new NgElement(element, scope, animate);
+
+ ngElement..addClass('one')..addClass('two three');
+
+ ['one', 'two', 'three'].forEach((className) {
+ expect(element).not.toHaveClass(className);
+ });
+
+ scope.apply();
+
+ ['one', 'two', 'three'].forEach((className) {
+ expect(element).toHaveClass(className);
+ });
+ });
+
+ it('should remove classes from the element on domWrite',
+ (TestBed _, Animate animate) {
+
+ var scope = _.rootScope;
+ var element = e('<div class="one two three four"></div>');
+ var ngElement = new NgElement(element, scope, animate);
+
+ ngElement..removeClass('one')
+ ..removeClass('two')
+ ..removeClass('three');
+
+ ['one', 'two', 'three', 'four'].forEach((className) {
+ expect(element).toHaveClass(className);
+ });
+
+ scope.apply();
+
+ ['one', 'two', 'three'].forEach((className) {
+ expect(element).not.toHaveClass(className);
+ });
+ expect(element).toHaveClass('four');
+ });
+
+ it('should always apply the last dom operation on the given className',
+ (TestBed _, Animate animate) {
+
+ var scope = _.rootScope;
+ var element = e('<div></div>');
+ var ngElement = new NgElement(element, scope, animate);
+
+ ngElement..addClass('one')
+ ..addClass('one')
+ ..removeClass('one');
+
+ expect(element).not.toHaveClass('one');
+
+ scope.apply();
+
+ expect(element).not.toHaveClass('one');
+
+ ngElement..removeClass('one')
+ ..removeClass('one')
+ ..addClass('one');
+
+ scope.apply();
+
+ expect(element).toHaveClass('one');
+ });
+ });
+ });
+
+ describe('attributes', () {
+ it('should set attributes on domWrite to the element',
+ (TestBed _, Animate animate) {
+
+ var scope = _.rootScope;
+ var element = e('<div></div>');
+ var ngElement = new NgElement(element, scope, animate);
+
+ ngElement.setAttribute('id', 'foo');
+ ngElement.setAttribute('title', 'bar');
+
+ ['id', 'title'].forEach((name) {
+ expect(element).not.toHaveAttribute(name);
+ });
+
+ scope.apply();
+
+ expect(element).toHaveAttribute('id', 'foo');
+ expect(element).toHaveAttribute('title', 'bar');
+ });
+
+ it('should remove attributes from the element on domWrite ',
+ (TestBed _, Animate animate) {
+
+ var scope = _.rootScope;
+ var element = e('<div id="foo" title="bar"></div>');
+ var ngElement = new NgElement(element, scope, animate);
+
+ ngElement..removeAttribute('id')
+ ..removeAttribute('title');
+
+ expect(element).toHaveAttribute('id', 'foo');
+ expect(element).toHaveAttribute('title', 'bar');
+
+ scope.apply();
+
+ expect(element).not.toHaveAttribute('id');
+ expect(element).not.toHaveAttribute('title');
+ });
+
+ it('should always apply the last operation on the attribute',
+ (TestBed _, Animate animate) {
+
+ var scope = _.rootScope;
+ var element = e('<div></div>');
+ var ngElement = new NgElement(element, scope, animate);
+
+ ngElement..setAttribute('id', 'foo')
+ ..setAttribute('id', 'foo')
+ ..removeAttribute('id');
+
+ expect(element).not.toHaveAttribute('id');
+
+ scope.apply();
+
+ expect(element).not.toHaveAttribute('id');
+
+ ngElement..removeAttribute('id')
+ ..setAttribute('id', 'foobar')
+ ..setAttribute('id', 'foo');
+
+ scope.apply();
+
+ expect(element).toHaveAttribute('id', 'foo');
+
+ });
+ });
+}

Powered by Google App Engine
This is Rietveld 408576698