Giter Club home page Giter Club logo

Comments (26)

akserg avatar akserg commented on August 20, 2024

I will check this out tomorrow.

Cheers,
Sergey.

On 21 March 2014 12:42, Günter Zöchbauer [email protected] wrote:

I tried to check the status and saw that with Angular 0.9.10 several tests
fail.
This seems to be more a problem with the test framework than with
incompatibilities of AngularDart 0.9.10 and the UI elements implementation.

I started investigating alerts tests:
alert_test.dart contains two tests.
(I commented out all other tests in ui_tests.dart).
When I run those tests I get an exception/stack trace at the end.
When I comment out one of them and run only the lasting one the test
succeeds.

I just wanted to share if anyone else is investigating...
I keep you updated about my progress.

Reply to this email directly or view it on GitHubhttps://github.com//issues/52
.

from angular.dart.ui.

zoechi avatar zoechi commented on August 20, 2024

I failed miserably locating the bug. The exception is thrown after the tests are finished. I have no idea how to debug this. The mirrors library where the exception is thrown is also hard to debug (at some positions it is not possible to set breakpoints) and some relevant fields (like reflectee) won't reveal their content in the debugger. I wasn't able to find out what the code that throws the exception is supposed to do.

What I found out is, that the error changes when the templates (of the test and the alert component are modified, so that they contain no space at the beginning and between tags (only Elements, no TextNodes in HTML)

Setup failed: Caught RangeError: -1

before that change it was

Caught type 'Text' is not a subtype of type 'Element' of 'element'.

this seems to be caused by TextNodes in the templates (I would say this is an Angular bug)

Time for bed ...
Cheers,
Günter

from angular.dart.ui.

zoechi avatar zoechi commented on August 20, 2024

@akserg Did you find time to take a look?
Any revelations?

from angular.dart.ui.

zoechi avatar zoechi commented on August 20, 2024

From @akserg s comment on #53 I learned that I'm not the only one seeing this issue.
I haven't seen any complaints from other Angular developers but I have the impression that many others don't use unittest much and are often not very eager to switch to new releases.
This is the explanation for me why this problem didn't already pop up somewhere else since I hit this issue.

I'll ask some of the AngularDart guys if they have any idea.
I already spent a lot of time debugging and didn't have the impression that I got even close to the cause.

from angular.dart.ui.

zoechi avatar zoechi commented on August 20, 2024

One thing I have to check before is the jasmine unit test code.
As far as I know this code consists of some files just copied from the Angular project.
Maybe something has changed here.
I saw from AngularDart issues that there is some refactoring going on to split AngularDart test utility functions (like jQuery) from jasmine code.

from angular.dart.ui.

akserg avatar akserg commented on August 20, 2024

No one component works in web example. I found a lot of _RangeError_s and type
'Text' is not a subtype of type 'Element' of 'element'
exceptions in log.
This set was generated for alone Accordion on the page:

RangeError: 1

STACKTRACE:
#0 List.
#1 TaggingViewFactory._link
(package:angular/core_dom/tagging_view_factory.dart:73:52)
#2 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:22:12)
#3 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:24:7)
#4 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:24:7)
#5 _ComponentFactory.attachViewToShadowDom
(package:angular/core_dom/view_factory.dart:224:27)
#6 _ComponentFactory.call..
(package:angular/core_dom/view_factory.dart:208:40)
#7 _rootRunUnary (dart:async/zone.dart:717)
#8 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#9 _onRunUnary.
(package:angular/core/zone.dart:70:61)
#10 NgZone._onRunBase (package:angular/core/zone.dart:54:16)
#11 _onRunUnary (package:angular/core/zone.dart:70:15)
#12 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#13 _CustomizedZone.runUnary (dart:async/zone.dart:654)
#14 _Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:439)
#15 _Future._propagateToListeners (dart:async/future_impl.dart:522)
#16 _Future._complete (dart:async/future_impl.dart:303)
#17 _Future._asyncComplete.
(dart:async/future_impl.dart:354)
#18 _rootRun (dart:async/zone.dart:706)
#19 _ZoneDelegate.run (dart:async/zone.dart:440)
#20 _onScheduleMicrotask.
(package:angular/core/zone.dart:74:39)
#21 _rootRun (dart:async/zone.dart:710)
#22 _ZoneDelegate.run (dart:async/zone.dart:440)
#23 NgZone._finishTurn (package:angular/core/zone.dart:94:23)
#24 NgZone._onRunBase (package:angular/core/zone.dart:61:43)
#25 _onRunUnary (package:angular/core/zone.dart:70:15)
#26 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#27 _CustomizedZone.runUnary (dart:async/zone.dart:654)
#28 _BaseZone.runUnaryGuarded (dart:async/zone.dart:569)
#29 _BaseZone.bindUnaryCallback.
(dart:async/zone.dart:595)
type 'Text' is not a subtype of type 'Element' of 'element'.
STACKTRACE:
#0 NgEventDirective.NgEventDirective
(package:angular/directive/ng_events.dart:140:25)
#1 _LocalClassMirror._invokeConstructor
(dart:mirrors-patch/mirrors_impl.dart:922)
#2 _LocalClassMirror.newInstance
(dart:mirrors-patch/mirrors_impl.dart:838)
#3 DynamicInjector.newInstanceOf
(package:di/dynamic_injector.dart:64:35)
#4 _TypeProvider.get (package:di/module.dart:151:29)
#5 Injector._getInstanceByKey (package:di/injector.dart:116:27)
#6 Injector._getInstanceByKey (package:di/injector.dart:120:7)
#7 Injector.get (package:di/injector.dart:170:24)
#8 ElementBinder.bind.
(package:angular/core_dom/element_binder.dart:206:42)
#9 ElementBinder.bind.
(package:angular/core_dom/element_binder.dart:257:9)
#10 ElementBinder.bind.
(package:angular/core_dom/element_binder.dart:257:9)
#11 List.forEach (dart:core-patch/growable_array.dart:240)
#12 ElementBinder.bind
(package:angular/core_dom/element_binder.dart:201:26)
#13 TaggingViewFactory._bindTagged
(package:angular/core_dom/tagging_view_factory.dart:34:51)
#14 TaggingViewFactory._link
(package:angular/core_dom/tagging_view_factory.dart:76:20)
#15 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:22:12)
#16 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:24:7)
#17 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:24:7)
#18 _ComponentFactory.attachViewToShadowDom
(package:angular/core_dom/view_factory.dart:224:27)
#19 _ComponentFactory.call..
(package:angular/core_dom/view_factory.dart:208:40)
#20 _rootRunUnary (dart:async/zone.dart:717)
#21 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#22 _onRunUnary.
(package:angular/core/zone.dart:70:61)
#23 NgZone._onRunBase (package:angular/core/zone.dart:54:16)
#24 _onRunUnary (package:angular/core/zone.dart:70:15)
#25 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#26 _CustomizedZone.runUnary (dart:async/zone.dart:654)
#27 _Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:439)
#28 _Future._propagateToListeners (dart:async/future_impl.dart:522)
#29 _Future._propagateMultipleListeners
(dart:async/future_impl.dart:384)
#30 _Future._propagateToListeners (dart:async/future_impl.dart:411)
#31 _Future._complete (dart:async/future_impl.dart:303)
#32 _Future._asyncComplete.
(dart:async/future_impl.dart:354)
#33 _rootRun (dart:async/zone.dart:706)
#34 _ZoneDelegate.run (dart:async/zone.dart:440)
#35 _onScheduleMicrotask.
(package:angular/core/zone.dart:74:39)
#36 _rootRun (dart:async/zone.dart:710)
#37 _ZoneDelegate.run (dart:async/zone.dart:440)
#38 NgZone._finishTurn (package:angular/core/zone.dart:94:23)
#39 NgZone._onRunBase (package:angular/core/zone.dart:61:43)
#40 _onRunUnary (package:angular/core/zone.dart:70:15)
#41 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#42 _CustomizedZone.runUnary (dart:async/zone.dart:654)
#43 _BaseZone.runUnaryGuarded (dart:async/zone.dart:569)
#44 _BaseZone.bindUnaryCallback.
(dart:async/zone.dart:595)
type 'Text' is not a subtype of type 'Element' of 'element'.
STACKTRACE:
#0 NgEventDirective.NgEventDirective
(package:angular/directive/ng_events.dart:140:25)
#1 _LocalClassMirror._invokeConstructor
(dart:mirrors-patch/mirrors_impl.dart:922)
#2 _LocalClassMirror.newInstance
(dart:mirrors-patch/mirrors_impl.dart:838)
#3 DynamicInjector.newInstanceOf
(package:di/dynamic_injector.dart:64:35)
#4 _TypeProvider.get (package:di/module.dart:151:29)
#5 Injector._getInstanceByKey (package:di/injector.dart:116:27)
#6 Injector._getInstanceByKey (package:di/injector.dart:120:7)
#7 Injector.get (package:di/injector.dart:170:24)
#8 ElementBinder.bind.
(package:angular/core_dom/element_binder.dart:206:42)
#9 ElementBinder.bind.
(package:angular/core_dom/element_binder.dart:257:9)
#10 ElementBinder.bind.
(package:angular/core_dom/element_binder.dart:257:9)
#11 List.forEach (dart:core-patch/growable_array.dart:240)
#12 ElementBinder.bind
(package:angular/core_dom/element_binder.dart:201:26)
#13 TaggingViewFactory._bindTagged
(package:angular/core_dom/tagging_view_factory.dart:34:51)
#14 TaggingViewFactory._link
(package:angular/core_dom/tagging_view_factory.dart:76:20)
#15 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:22:12)
#16 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:24:7)
#17 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:24:7)
#18 _ComponentFactory.attachViewToShadowDom
(package:angular/core_dom/view_factory.dart:224:27)
#19 _ComponentFactory.call..
(package:angular/core_dom/view_factory.dart:208:40)
#20 _rootRunUnary (dart:async/zone.dart:717)
#21 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#22 _onRunUnary.
(package:angular/core/zone.dart:70:61)
#23 NgZone._onRunBase (package:angular/core/zone.dart:54:16)
#24 _onRunUnary (package:angular/core/zone.dart:70:15)
#25 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#26 _CustomizedZone.runUnary (dart:async/zone.dart:654)
#27 _Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:439)
#28 _Future._propagateToListeners (dart:async/future_impl.dart:522)
#29 _Future._propagateMultipleListeners
(dart:async/future_impl.dart:384)
#30 _Future._propagateToListeners (dart:async/future_impl.dart:411)
#31 _Future._complete (dart:async/future_impl.dart:303)
#32 _Future._asyncComplete.
(dart:async/future_impl.dart:354)
#33 _rootRun (dart:async/zone.dart:706)
#34 _ZoneDelegate.run (dart:async/zone.dart:440)
#35 _onScheduleMicrotask.
(package:angular/core/zone.dart:74:39)
#36 _rootRun (dart:async/zone.dart:710)
#37 _ZoneDelegate.run (dart:async/zone.dart:440)
#38 NgZone._finishTurn (package:angular/core/zone.dart:94:23)
#39 NgZone._onRunBase (package:angular/core/zone.dart:61:43)
#40 _onRunUnary (package:angular/core/zone.dart:70:15)
#41 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#42 _CustomizedZone.runUnary (dart:async/zone.dart:654)
#43 _BaseZone.runUnaryGuarded (dart:async/zone.dart:569)
#44 _BaseZone.bindUnaryCallback.
(dart:async/zone.dart:595)
type 'Text' is not a subtype of type 'Element' of 'element'.
STACKTRACE:
#0 NgEventDirective.NgEventDirective
(package:angular/directive/ng_events.dart:140:25)
#1 _LocalClassMirror._invokeConstructor
(dart:mirrors-patch/mirrors_impl.dart:922)
#2 _LocalClassMirror.newInstance
(dart:mirrors-patch/mirrors_impl.dart:838)
#3 DynamicInjector.newInstanceOf
(package:di/dynamic_injector.dart:64:35)
#4 _TypeProvider.get (package:di/module.dart:151:29)
#5 Injector._getInstanceByKey (package:di/injector.dart:116:27)
#6 Injector._getInstanceByKey (package:di/injector.dart:120:7)
#7 Injector.get (package:di/injector.dart:170:24)
#8 ElementBinder.bind.
(package:angular/core_dom/element_binder.dart:206:42)
#9 ElementBinder.bind.
(package:angular/core_dom/element_binder.dart:257:9)
#10 ElementBinder.bind.
(package:angular/core_dom/element_binder.dart:257:9)
#11 List.forEach (dart:core-patch/growable_array.dart:240)
#12 ElementBinder.bind
(package:angular/core_dom/element_binder.dart:201:26)
#13 TaggingViewFactory._bindTagged
(package:angular/core_dom/tagging_view_factory.dart:34:51)
#14 TaggingViewFactory._link
(package:angular/core_dom/tagging_view_factory.dart:76:20)
#15 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:22:12)
#16 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:24:7)
#17 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:24:7)
#18 _ComponentFactory.attachViewToShadowDom
(package:angular/core_dom/view_factory.dart:224:27)
#19 _ComponentFactory.call..
(package:angular/core_dom/view_factory.dart:208:40)
#20 _rootRunUnary (dart:async/zone.dart:717)
#21 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#22 _onRunUnary.
(package:angular/core/zone.dart:70:61)
#23 NgZone._onRunBase (package:angular/core/zone.dart:54:16)
#24 _onRunUnary (package:angular/core/zone.dart:70:15)
#25 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#26 _CustomizedZone.runUnary (dart:async/zone.dart:654)
#27 _Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:439)
#28 _Future._propagateToListeners (dart:async/future_impl.dart:522)
#29 _Future._propagateMultipleListeners
(dart:async/future_impl.dart:384)
#30 _Future._propagateToListeners (dart:async/future_impl.dart:411)
#31 _Future._complete (dart:async/future_impl.dart:303)
#32 _Future._asyncComplete.
(dart:async/future_impl.dart:354)
#33 _rootRun (dart:async/zone.dart:706)
#34 _ZoneDelegate.run (dart:async/zone.dart:440)
#35 _onScheduleMicrotask.
(package:angular/core/zone.dart:74:39)
#36 _rootRun (dart:async/zone.dart:710)
#37 _ZoneDelegate.run (dart:async/zone.dart:440)
#38 NgZone._finishTurn (package:angular/core/zone.dart:94:23)
#39 NgZone._onRunBase (package:angular/core/zone.dart:61:43)
#40 _onRunUnary (package:angular/core/zone.dart:70:15)
#41 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#42 _CustomizedZone.runUnary (dart:async/zone.dart:654)
#43 _BaseZone.runUnaryGuarded (dart:async/zone.dart:569)
#44 _BaseZone.bindUnaryCallback.
(dart:async/zone.dart:595)
type 'Text' is not a subtype of type 'Element' of 'element'.
STACKTRACE:
#0 NgEventDirective.NgEventDirective
(package:angular/directive/ng_events.dart:140:25)
#1 _LocalClassMirror._invokeConstructor
(dart:mirrors-patch/mirrors_impl.dart:922)
#2 _LocalClassMirror.newInstance
(dart:mirrors-patch/mirrors_impl.dart:838)
#3 DynamicInjector.newInstanceOf
(package:di/dynamic_injector.dart:64:35)
#4 _TypeProvider.get (package:di/module.dart:151:29)
#5 Injector._getInstanceByKey (package:di/injector.dart:116:27)
#6 Injector._getInstanceByKey (package:di/injector.dart:120:7)
#7 Injector.get (package:di/injector.dart:170:24)
#8 ElementBinder.bind.
(package:angular/core_dom/element_binder.dart:206:42)
#9 ElementBinder.bind.
(package:angular/core_dom/element_binder.dart:257:9)
#10 ElementBinder.bind.
(package:angular/core_dom/element_binder.dart:257:9)
#11 List.forEach (dart:core-patch/growable_array.dart:240)
#12 ElementBinder.bind
(package:angular/core_dom/element_binder.dart:201:26)
#13 TaggingViewFactory._bindTagged
(package:angular/core_dom/tagging_view_factory.dart:34:51)
#14 TaggingViewFactory._link
(package:angular/core_dom/tagging_view_factory.dart:76:20)
#15 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:22:12)
#16 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:24:7)
#17 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:24:7)
#18 _ComponentFactory.attachViewToShadowDom
(package:angular/core_dom/view_factory.dart:224:27)
#19 _ComponentFactory.call..
(package:angular/core_dom/view_factory.dart:208:40)
#20 _rootRunUnary (dart:async/zone.dart:717)
#21 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#22 _onRunUnary.
(package:angular/core/zone.dart:70:61)
#23 NgZone._onRunBase (package:angular/core/zone.dart:54:16)
#24 _onRunUnary (package:angular/core/zone.dart:70:15)
#25 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#26 _CustomizedZone.runUnary (dart:async/zone.dart:654)
#27 _Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:439)
#28 _Future._propagateToListeners (dart:async/future_impl.dart:522)
#29 _Future._propagateMultipleListeners
(dart:async/future_impl.dart:384)
#30 _Future._propagateToListeners (dart:async/future_impl.dart:411)
#31 _Future._complete (dart:async/future_impl.dart:303)
#32 _Future._asyncComplete.
(dart:async/future_impl.dart:354)
#33 _rootRun (dart:async/zone.dart:706)
#34 _ZoneDelegate.run (dart:async/zone.dart:440)
#35 _onScheduleMicrotask.
(package:angular/core/zone.dart:74:39)
#36 _rootRun (dart:async/zone.dart:710)
#37 _ZoneDelegate.run (dart:async/zone.dart:440)
#38 NgZone._finishTurn (package:angular/core/zone.dart:94:23)
#39 NgZone._onRunBase (package:angular/core/zone.dart:61:43)
#40 _onRunUnary (package:angular/core/zone.dart:70:15)
#41 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#42 _CustomizedZone.runUnary (dart:async/zone.dart:654)
#43 _BaseZone.runUnaryGuarded (dart:async/zone.dart:569)
#44 _BaseZone.bindUnaryCallback.
(dart:async/zone.dart:595)
type 'Text' is not a subtype of type 'Element' of 'element'.
STACKTRACE:
#0 NgEventDirective.NgEventDirective
(package:angular/directive/ng_events.dart:140:25)
#1 _LocalClassMirror._invokeConstructor
(dart:mirrors-patch/mirrors_impl.dart:922)
#2 _LocalClassMirror.newInstance
(dart:mirrors-patch/mirrors_impl.dart:838)
#3 DynamicInjector.newInstanceOf
(package:di/dynamic_injector.dart:64:35)
#4 _TypeProvider.get (package:di/module.dart:151:29)
#5 Injector._getInstanceByKey (package:di/injector.dart:116:27)
#6 Injector._getInstanceByKey (package:di/injector.dart:120:7)
#7 Injector.get (package:di/injector.dart:170:24)
#8 ElementBinder.bind.
(package:angular/core_dom/element_binder.dart:206:42)
#9 ElementBinder.bind.
(package:angular/core_dom/element_binder.dart:257:9)
#10 ElementBinder.bind.
(package:angular/core_dom/element_binder.dart:257:9)
#11 List.forEach (dart:core-patch/growable_array.dart:240)
#12 ElementBinder.bind
(package:angular/core_dom/element_binder.dart:201:26)
#13 TaggingViewFactory._bindTagged
(package:angular/core_dom/tagging_view_factory.dart:34:51)
#14 TaggingViewFactory._link
(package:angular/core_dom/tagging_view_factory.dart:76:20)
#15 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:22:12)
#16 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:24:7)
#17 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:24:7)
#18 _ComponentFactory.attachViewToShadowDom
(package:angular/core_dom/view_factory.dart:224:27)
#19 _ComponentFactory.call..
(package:angular/core_dom/view_factory.dart:208:40)
#20 _rootRunUnary (dart:async/zone.dart:717)
#21 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#22 _onRunUnary.
(package:angular/core/zone.dart:70:61)
#23 NgZone._onRunBase (package:angular/core/zone.dart:54:16)
#24 _onRunUnary (package:angular/core/zone.dart:70:15)
#25 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#26 _CustomizedZone.runUnary (dart:async/zone.dart:654)
#27 _Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:439)
#28 _Future._propagateToListeners (dart:async/future_impl.dart:522)
#29 _Future._propagateMultipleListeners
(dart:async/future_impl.dart:384)
#30 _Future._propagateToListeners (dart:async/future_impl.dart:411)
#31 _Future._complete (dart:async/future_impl.dart:303)
#32 _Future._asyncComplete.
(dart:async/future_impl.dart:354)
#33 _rootRun (dart:async/zone.dart:706)
#34 _ZoneDelegate.run (dart:async/zone.dart:440)
#35 _onScheduleMicrotask.
(package:angular/core/zone.dart:74:39)
#36 _rootRun (dart:async/zone.dart:710)
#37 _ZoneDelegate.run (dart:async/zone.dart:440)
#38 NgZone._finishTurn (package:angular/core/zone.dart:94:23)
#39 NgZone._onRunBase (package:angular/core/zone.dart:61:43)
#40 _onRunUnary (package:angular/core/zone.dart:70:15)
#41 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#42 _CustomizedZone.runUnary (dart:async/zone.dart:654)
#43 _BaseZone.runUnaryGuarded (dart:async/zone.dart:569)
#44 _BaseZone.bindUnaryCallback.
(dart:async/zone.dart:595)

Any thoughts?

On 28 March 2014 08:28, Günter Zöchbauer [email protected] wrote:

From @akserg https://github.com/akserg s comment on #53https://github.com/akserg/angular.dart.ui/issues/53I learned that I'm not the only one seeing this issue.
I haven't seen any complaints from other Angular developers but I have the
impression that many others don't use unittest much and are often not very
eager to switch to new releases.
This is the explanation for me why this problem didn't already pop up
somewhere else since I hit this issue.

I'll ask some of the AngularDart guys if they have any idea.
I already spent a lot of time debugging and didn't have the impression
that I got even close to the cause.

Reply to this email directly or view it on GitHubhttps://github.com//issues/52#issuecomment-38892071
.

from angular.dart.ui.

akserg avatar akserg commented on August 20, 2024

We took files _spec.dart and jasmine_syntax.dart from Angular Dart but
they out of date now.
I think it's time to make refactoring of our tests to move ahead.

On 28 March 2014 08:47, Sergey Akopkokhyants [email protected] wrote:

No one component works in web example. I found a lot of _RangeError_s and type
'Text' is not a subtype of type 'Element' of 'element'
exceptions in
log. This set was generated for alone Accordion on the page:

RangeError: 1

STACKTRACE:
#0 List.
#1 TaggingViewFactory._link
(package:angular/core_dom/tagging_view_factory.dart:73:52)
#2 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:22:12)
#3 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:24:7)
#4 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:24:7)
#5 _ComponentFactory.attachViewToShadowDom
(package:angular/core_dom/view_factory.dart:224:27)
#6 _ComponentFactory.call..
(package:angular/core_dom/view_factory.dart:208:40)
#7 _rootRunUnary (dart:async/zone.dart:717)
#8 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#9 _onRunUnary.
(package:angular/core/zone.dart:70:61)
#10 NgZone._onRunBase (package:angular/core/zone.dart:54:16)
#11 _onRunUnary (package:angular/core/zone.dart:70:15)
#12 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#13 _CustomizedZone.runUnary (dart:async/zone.dart:654)
#14 _Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:439)
#15 _Future._propagateToListeners (dart:async/future_impl.dart:522)
#16 _Future._complete (dart:async/future_impl.dart:303)
#17 _Future._asyncComplete.
(dart:async/future_impl.dart:354)
#18 _rootRun (dart:async/zone.dart:706)
#19 _ZoneDelegate.run (dart:async/zone.dart:440)
#20 _onScheduleMicrotask.
(package:angular/core/zone.dart:74:39)
#21 _rootRun (dart:async/zone.dart:710)
#22 _ZoneDelegate.run (dart:async/zone.dart:440)
#23 NgZone._finishTurn (package:angular/core/zone.dart:94:23)
#24 NgZone._onRunBase (package:angular/core/zone.dart:61:43)
#25 _onRunUnary (package:angular/core/zone.dart:70:15)
#26 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#27 _CustomizedZone.runUnary (dart:async/zone.dart:654)
#28 _BaseZone.runUnaryGuarded (dart:async/zone.dart:569)
#29 _BaseZone.bindUnaryCallback.
(dart:async/zone.dart:595)
type 'Text' is not a subtype of type 'Element' of 'element'.
STACKTRACE:
#0 NgEventDirective.NgEventDirective
(package:angular/directive/ng_events.dart:140:25)
#1 _LocalClassMirror._invokeConstructor
(dart:mirrors-patch/mirrors_impl.dart:922)
#2 _LocalClassMirror.newInstance
(dart:mirrors-patch/mirrors_impl.dart:838)
#3 DynamicInjector.newInstanceOf
(package:di/dynamic_injector.dart:64:35)
#4 _TypeProvider.get (package:di/module.dart:151:29)
#5 Injector._getInstanceByKey (package:di/injector.dart:116:27)
#6 Injector._getInstanceByKey (package:di/injector.dart:120:7)
#7 Injector.get (package:di/injector.dart:170:24)
#8 ElementBinder.bind.
(package:angular/core_dom/element_binder.dart:206:42)
#9 ElementBinder.bind.
(package:angular/core_dom/element_binder.dart:257:9)
#10 ElementBinder.bind.
(package:angular/core_dom/element_binder.dart:257:9)
#11 List.forEach (dart:core-patch/growable_array.dart:240)
#12 ElementBinder.bind
(package:angular/core_dom/element_binder.dart:201:26)
#13 TaggingViewFactory._bindTagged
(package:angular/core_dom/tagging_view_factory.dart:34:51)
#14 TaggingViewFactory._link
(package:angular/core_dom/tagging_view_factory.dart:76:20)
#15 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:22:12)
#16 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:24:7)
#17 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:24:7)
#18 _ComponentFactory.attachViewToShadowDom
(package:angular/core_dom/view_factory.dart:224:27)
#19 _ComponentFactory.call..
(package:angular/core_dom/view_factory.dart:208:40)
#20 _rootRunUnary (dart:async/zone.dart:717)
#21 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#22 _onRunUnary.
(package:angular/core/zone.dart:70:61)
#23 NgZone._onRunBase (package:angular/core/zone.dart:54:16)
#24 _onRunUnary (package:angular/core/zone.dart:70:15)
#25 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#26 _CustomizedZone.runUnary (dart:async/zone.dart:654)
#27 _Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:439)
#28 _Future._propagateToListeners (dart:async/future_impl.dart:522)
#29 _Future._propagateMultipleListeners
(dart:async/future_impl.dart:384)
#30 _Future._propagateToListeners (dart:async/future_impl.dart:411)
#31 _Future._complete (dart:async/future_impl.dart:303)
#32 _Future._asyncComplete.
(dart:async/future_impl.dart:354)
#33 _rootRun (dart:async/zone.dart:706)
#34 _ZoneDelegate.run (dart:async/zone.dart:440)
#35 _onScheduleMicrotask.
(package:angular/core/zone.dart:74:39)
#36 _rootRun (dart:async/zone.dart:710)
#37 _ZoneDelegate.run (dart:async/zone.dart:440)
#38 NgZone._finishTurn (package:angular/core/zone.dart:94:23)
#39 NgZone._onRunBase (package:angular/core/zone.dart:61:43)
#40 _onRunUnary (package:angular/core/zone.dart:70:15)
#41 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#42 _CustomizedZone.runUnary (dart:async/zone.dart:654)
#43 _BaseZone.runUnaryGuarded (dart:async/zone.dart:569)
#44 _BaseZone.bindUnaryCallback.
(dart:async/zone.dart:595)
type 'Text' is not a subtype of type 'Element' of 'element'.
STACKTRACE:
#0 NgEventDirective.NgEventDirective
(package:angular/directive/ng_events.dart:140:25)
#1 _LocalClassMirror._invokeConstructor
(dart:mirrors-patch/mirrors_impl.dart:922)
#2 _LocalClassMirror.newInstance
(dart:mirrors-patch/mirrors_impl.dart:838)
#3 DynamicInjector.newInstanceOf
(package:di/dynamic_injector.dart:64:35)
#4 _TypeProvider.get (package:di/module.dart:151:29)
#5 Injector._getInstanceByKey (package:di/injector.dart:116:27)
#6 Injector._getInstanceByKey (package:di/injector.dart:120:7)
#7 Injector.get (package:di/injector.dart:170:24)
#8 ElementBinder.bind.
(package:angular/core_dom/element_binder.dart:206:42)
#9 ElementBinder.bind.
(package:angular/core_dom/element_binder.dart:257:9)
#10 ElementBinder.bind.
(package:angular/core_dom/element_binder.dart:257:9)
#11 List.forEach (dart:core-patch/growable_array.dart:240)
#12 ElementBinder.bind
(package:angular/core_dom/element_binder.dart:201:26)
#13 TaggingViewFactory._bindTagged
(package:angular/core_dom/tagging_view_factory.dart:34:51)
#14 TaggingViewFactory._link
(package:angular/core_dom/tagging_view_factory.dart:76:20)
#15 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:22:12)
#16 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:24:7)
#17 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:24:7)
#18 _ComponentFactory.attachViewToShadowDom
(package:angular/core_dom/view_factory.dart:224:27)
#19 _ComponentFactory.call..
(package:angular/core_dom/view_factory.dart:208:40)
#20 _rootRunUnary (dart:async/zone.dart:717)
#21 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#22 _onRunUnary.
(package:angular/core/zone.dart:70:61)
#23 NgZone._onRunBase (package:angular/core/zone.dart:54:16)
#24 _onRunUnary (package:angular/core/zone.dart:70:15)
#25 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#26 _CustomizedZone.runUnary (dart:async/zone.dart:654)
#27 _Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:439)
#28 _Future._propagateToListeners (dart:async/future_impl.dart:522)
#29 _Future._propagateMultipleListeners
(dart:async/future_impl.dart:384)
#30 _Future._propagateToListeners (dart:async/future_impl.dart:411)
#31 _Future._complete (dart:async/future_impl.dart:303)
#32 _Future._asyncComplete.
(dart:async/future_impl.dart:354)
#33 _rootRun (dart:async/zone.dart:706)
#34 _ZoneDelegate.run (dart:async/zone.dart:440)
#35 _onScheduleMicrotask.
(package:angular/core/zone.dart:74:39)
#36 _rootRun (dart:async/zone.dart:710)
#37 _ZoneDelegate.run (dart:async/zone.dart:440)
#38 NgZone._finishTurn (package:angular/core/zone.dart:94:23)
#39 NgZone._onRunBase (package:angular/core/zone.dart:61:43)
#40 _onRunUnary (package:angular/core/zone.dart:70:15)
#41 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#42 _CustomizedZone.runUnary (dart:async/zone.dart:654)
#43 _BaseZone.runUnaryGuarded (dart:async/zone.dart:569)
#44 _BaseZone.bindUnaryCallback.
(dart:async/zone.dart:595)
type 'Text' is not a subtype of type 'Element' of 'element'.
STACKTRACE:
#0 NgEventDirective.NgEventDirective
(package:angular/directive/ng_events.dart:140:25)
#1 _LocalClassMirror._invokeConstructor
(dart:mirrors-patch/mirrors_impl.dart:922)
#2 _LocalClassMirror.newInstance
(dart:mirrors-patch/mirrors_impl.dart:838)
#3 DynamicInjector.newInstanceOf
(package:di/dynamic_injector.dart:64:35)
#4 _TypeProvider.get (package:di/module.dart:151:29)
#5 Injector._getInstanceByKey (package:di/injector.dart:116:27)
#6 Injector._getInstanceByKey (package:di/injector.dart:120:7)
#7 Injector.get (package:di/injector.dart:170:24)
#8 ElementBinder.bind.
(package:angular/core_dom/element_binder.dart:206:42)
#9 ElementBinder.bind.
(package:angular/core_dom/element_binder.dart:257:9)
#10 ElementBinder.bind.
(package:angular/core_dom/element_binder.dart:257:9)
#11 List.forEach (dart:core-patch/growable_array.dart:240)
#12 ElementBinder.bind
(package:angular/core_dom/element_binder.dart:201:26)
#13 TaggingViewFactory._bindTagged
(package:angular/core_dom/tagging_view_factory.dart:34:51)
#14 TaggingViewFactory._link
(package:angular/core_dom/tagging_view_factory.dart:76:20)
#15 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:22:12)
#16 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:24:7)
#17 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:24:7)
#18 _ComponentFactory.attachViewToShadowDom
(package:angular/core_dom/view_factory.dart:224:27)
#19 _ComponentFactory.call..
(package:angular/core_dom/view_factory.dart:208:40)
#20 _rootRunUnary (dart:async/zone.dart:717)
#21 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#22 _onRunUnary.
(package:angular/core/zone.dart:70:61)
#23 NgZone._onRunBase (package:angular/core/zone.dart:54:16)
#24 _onRunUnary (package:angular/core/zone.dart:70:15)
#25 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#26 _CustomizedZone.runUnary (dart:async/zone.dart:654)
#27 _Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:439)
#28 _Future._propagateToListeners (dart:async/future_impl.dart:522)
#29 _Future._propagateMultipleListeners
(dart:async/future_impl.dart:384)
#30 _Future._propagateToListeners (dart:async/future_impl.dart:411)
#31 _Future._complete (dart:async/future_impl.dart:303)
#32 _Future._asyncComplete.
(dart:async/future_impl.dart:354)
#33 _rootRun (dart:async/zone.dart:706)
#34 _ZoneDelegate.run (dart:async/zone.dart:440)
#35 _onScheduleMicrotask.
(package:angular/core/zone.dart:74:39)
#36 _rootRun (dart:async/zone.dart:710)
#37 _ZoneDelegate.run (dart:async/zone.dart:440)
#38 NgZone._finishTurn (package:angular/core/zone.dart:94:23)
#39 NgZone._onRunBase (package:angular/core/zone.dart:61:43)
#40 _onRunUnary (package:angular/core/zone.dart:70:15)
#41 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#42 _CustomizedZone.runUnary (dart:async/zone.dart:654)
#43 _BaseZone.runUnaryGuarded (dart:async/zone.dart:569)
#44 _BaseZone.bindUnaryCallback.
(dart:async/zone.dart:595)
type 'Text' is not a subtype of type 'Element' of 'element'.
STACKTRACE:
#0 NgEventDirective.NgEventDirective
(package:angular/directive/ng_events.dart:140:25)
#1 _LocalClassMirror._invokeConstructor
(dart:mirrors-patch/mirrors_impl.dart:922)
#2 _LocalClassMirror.newInstance
(dart:mirrors-patch/mirrors_impl.dart:838)
#3 DynamicInjector.newInstanceOf
(package:di/dynamic_injector.dart:64:35)
#4 _TypeProvider.get (package:di/module.dart:151:29)
#5 Injector._getInstanceByKey (package:di/injector.dart:116:27)
#6 Injector._getInstanceByKey (package:di/injector.dart:120:7)
#7 Injector.get (package:di/injector.dart:170:24)
#8 ElementBinder.bind.
(package:angular/core_dom/element_binder.dart:206:42)
#9 ElementBinder.bind.
(package:angular/core_dom/element_binder.dart:257:9)
#10 ElementBinder.bind.
(package:angular/core_dom/element_binder.dart:257:9)
#11 List.forEach (dart:core-patch/growable_array.dart:240)
#12 ElementBinder.bind
(package:angular/core_dom/element_binder.dart:201:26)
#13 TaggingViewFactory._bindTagged
(package:angular/core_dom/tagging_view_factory.dart:34:51)
#14 TaggingViewFactory._link
(package:angular/core_dom/tagging_view_factory.dart:76:20)
#15 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:22:12)
#16 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:24:7)
#17 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:24:7)
#18 _ComponentFactory.attachViewToShadowDom
(package:angular/core_dom/view_factory.dart:224:27)
#19 _ComponentFactory.call..
(package:angular/core_dom/view_factory.dart:208:40)
#20 _rootRunUnary (dart:async/zone.dart:717)
#21 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#22 _onRunUnary.
(package:angular/core/zone.dart:70:61)
#23 NgZone._onRunBase (package:angular/core/zone.dart:54:16)
#24 _onRunUnary (package:angular/core/zone.dart:70:15)
#25 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#26 _CustomizedZone.runUnary (dart:async/zone.dart:654)
#27 _Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:439)
#28 _Future._propagateToListeners (dart:async/future_impl.dart:522)
#29 _Future._propagateMultipleListeners
(dart:async/future_impl.dart:384)
#30 _Future._propagateToListeners (dart:async/future_impl.dart:411)
#31 _Future._complete (dart:async/future_impl.dart:303)
#32 _Future._asyncComplete.
(dart:async/future_impl.dart:354)
#33 _rootRun (dart:async/zone.dart:706)
#34 _ZoneDelegate.run (dart:async/zone.dart:440)
#35 _onScheduleMicrotask.
(package:angular/core/zone.dart:74:39)
#36 _rootRun (dart:async/zone.dart:710)
#37 _ZoneDelegate.run (dart:async/zone.dart:440)
#38 NgZone._finishTurn (package:angular/core/zone.dart:94:23)
#39 NgZone._onRunBase (package:angular/core/zone.dart:61:43)
#40 _onRunUnary (package:angular/core/zone.dart:70:15)
#41 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#42 _CustomizedZone.runUnary (dart:async/zone.dart:654)
#43 _BaseZone.runUnaryGuarded (dart:async/zone.dart:569)
#44 _BaseZone.bindUnaryCallback.
(dart:async/zone.dart:595)
type 'Text' is not a subtype of type 'Element' of 'element'.
STACKTRACE:
#0 NgEventDirective.NgEventDirective
(package:angular/directive/ng_events.dart:140:25)
#1 _LocalClassMirror._invokeConstructor
(dart:mirrors-patch/mirrors_impl.dart:922)
#2 _LocalClassMirror.newInstance
(dart:mirrors-patch/mirrors_impl.dart:838)
#3 DynamicInjector.newInstanceOf
(package:di/dynamic_injector.dart:64:35)
#4 _TypeProvider.get (package:di/module.dart:151:29)
#5 Injector._getInstanceByKey (package:di/injector.dart:116:27)
#6 Injector._getInstanceByKey (package:di/injector.dart:120:7)
#7 Injector.get (package:di/injector.dart:170:24)
#8 ElementBinder.bind.
(package:angular/core_dom/element_binder.dart:206:42)
#9 ElementBinder.bind.
(package:angular/core_dom/element_binder.dart:257:9)
#10 ElementBinder.bind.
(package:angular/core_dom/element_binder.dart:257:9)
#11 List.forEach (dart:core-patch/growable_array.dart:240)
#12 ElementBinder.bind
(package:angular/core_dom/element_binder.dart:201:26)
#13 TaggingViewFactory._bindTagged
(package:angular/core_dom/tagging_view_factory.dart:34:51)
#14 TaggingViewFactory._link
(package:angular/core_dom/tagging_view_factory.dart:76:20)
#15 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:22:12)
#16 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:24:7)
#17 TaggingViewFactory.call
(package:angular/core_dom/tagging_view_factory.dart:24:7)
#18 _ComponentFactory.attachViewToShadowDom
(package:angular/core_dom/view_factory.dart:224:27)
#19 _ComponentFactory.call..
(package:angular/core_dom/view_factory.dart:208:40)
#20 _rootRunUnary (dart:async/zone.dart:717)
#21 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#22 _onRunUnary.
(package:angular/core/zone.dart:70:61)
#23 NgZone._onRunBase (package:angular/core/zone.dart:54:16)
#24 _onRunUnary (package:angular/core/zone.dart:70:15)
#25 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#26 _CustomizedZone.runUnary (dart:async/zone.dart:654)
#27 _Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:439)
#28 _Future._propagateToListeners (dart:async/future_impl.dart:522)
#29 _Future._propagateMultipleListeners
(dart:async/future_impl.dart:384)
#30 _Future._propagateToListeners (dart:async/future_impl.dart:411)
#31 _Future._complete (dart:async/future_impl.dart:303)
#32 _Future._asyncComplete.
(dart:async/future_impl.dart:354)
#33 _rootRun (dart:async/zone.dart:706)
#34 _ZoneDelegate.run (dart:async/zone.dart:440)
#35 _onScheduleMicrotask.
(package:angular/core/zone.dart:74:39)
#36 _rootRun (dart:async/zone.dart:710)
#37 _ZoneDelegate.run (dart:async/zone.dart:440)
#38 NgZone._finishTurn (package:angular/core/zone.dart:94:23)
#39 NgZone._onRunBase (package:angular/core/zone.dart:61:43)
#40 _onRunUnary (package:angular/core/zone.dart:70:15)
#41 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#42 _CustomizedZone.runUnary (dart:async/zone.dart:654)
#43 _BaseZone.runUnaryGuarded (dart:async/zone.dart:569)
#44 _BaseZone.bindUnaryCallback.
(dart:async/zone.dart:595)

Any thoughts?

On 28 March 2014 08:28, Günter Zöchbauer [email protected] wrote:

From @akserg https://github.com/akserg s comment on #53https://github.com/akserg/angular.dart.ui/issues/53I learned that I'm not the only one seeing this issue.
I haven't seen any complaints from other Angular developers but I have
the impression that many others don't use unittest much and are often not
very eager to switch to new releases.
This is the explanation for me why this problem didn't already pop up
somewhere else since I hit this issue.

I'll ask some of the AngularDart guys if they have any idea.
I already spent a lot of time debugging and didn't have the impression
that I got even close to the cause.

Reply to this email directly or view it on GitHubhttps://github.com//issues/52#issuecomment-38892071
.

from angular.dart.ui.

zoechi avatar zoechi commented on August 20, 2024

'Text' is not a subtype of type 'Element' of 'element' was one of the errors I got.
I think this one is a bug in AngularDart.
I got away (as mentioned) when removing all line-breaks and spaces between tags in templates (component and test).
But that just led to other errors.

What do you mean by refactoring?

from angular.dart.ui.

akserg avatar akserg commented on August 20, 2024

Our tests were written by different people following different patterns to
how write the tests. I think we need review tests and change them to be
similar and simpler. We have questions (why do we need use microLeap method
two times and others) and we need to have answers on them to fix or maybe
change wrong decisions.

On 28 March 2014 09:43, Günter Zöchbauer [email protected] wrote:

'Text' is not a subtype of type 'Element' of 'element' was one of the
errors I got.
I think this one is a bug in AngularDart.
I got away (as mentioned) when removing all line-breaks and spaces between
tags in templates (component and test).
But that just led to other errors.

What do you mean by refactoring?

Reply to this email directly or view it on GitHubhttps://github.com//issues/52#issuecomment-38895179
.

from angular.dart.ui.

ufoscout avatar ufoscout commented on August 20, 2024

'Text' is not a subtype of type 'Element' .... uhm... it reminds me something. I had this issue time ago in some unit tests. If I'm not wrong, it was related to the fact that a node in the test html was a simple string without html tags. E.g. 'html content' instead of <span>html content</span>.

from angular.dart.ui.

akserg avatar akserg commented on August 20, 2024

That issue happens in all web examples.

On 28 March 2014 11:02, Francesco [email protected] wrote:

'Text' is not a subtype of type 'Element' .... uhm... it reminds me
something. I had this issue time ago in some unit tests. If I'm not wrong,
it was related to the fact that a node in the test html was a simple string
without html tags. E.g. 'html content' instead of 'html content'.

Reply to this email directly or view it on GitHubhttps://github.com//issues/52#issuecomment-38899346
.

from angular.dart.ui.

zoechi avatar zoechi commented on August 20, 2024

There aren't many other AngularDart components to learn from how to write good unit tests.
It would be helpful if there were more tests from the AngularDart team itself to learn from.

I saw the microLeap for example somewhere in AngularDart tests I don't remember if the test did or didn't run without it (I don't even know if I wrote the test you refer to).
I just remember playing this this microLeap a while ago to make tests run.

Currently there seems to be some refactoring/change going on in the AngularDart project about unit test related code.
If it was for me, I wouldn't need the jasmine syntax.
Does it really improve anything except renaming group and test.
I stuck with it because some AngularDart test utility functions where included (like jQuery) but what I have seen this is currently being refactored to split jasmine from AngularDart test utility code.
What do you think about it?

What I found weird is the use of

beforeEach(xxx);
beforeEach(yyy);
beforeEach(zzz);

instead of

beforeEach(() {
  () => xxx();
  () => yyy();
  () => zzz();
});

I think the tests should be organized in a way that it is possible to executed just the tests for one component.
In addition there should be a script that calls all other tests.

from angular.dart.ui.

ufoscout avatar ufoscout commented on August 20, 2024

"If it was for me, I wouldn't need the jasmine syntax." -> I agree.
However, the jasmine_syntax.dart file provides some handy methods like expect(...).toBe(...) or expect(...).toBeNull() and so on.

from angular.dart.ui.

zoechi avatar zoechi commented on August 20, 2024

The matchers of Darts unittest library do the same, don't they. Just a little different syntax. expect(..., equals(...)) or expect(..., isNull)

from angular.dart.ui.

akserg avatar akserg commented on August 20, 2024

Set of "handy methods" help us migrate test from "Angular UI" to "Angular
Dart UI" smoothly enough. They are very handy, because Angular Dart team
still use them in their tests and I use them long enough as examples to
write my tests.

On 28 March 2014 19:22, Günter Zöchbauer [email protected] wrote:

The matchers of Darts unittest library do the same, don't they. Just a
little different syntax. expect(..., equals(...)) or expect(..., isNull)

Reply to this email directly or view it on GitHubhttps://github.com//issues/52#issuecomment-38945157
.

from angular.dart.ui.

zoechi avatar zoechi commented on August 20, 2024

I don't say that this was a wrong decision. I still think it was the right thing to do at the time.
I know there are handy methods but for me expect or toBeXxx are not one of them.

What I have seen from AngularDart issues is that they are refactoring this test related code to split AngularDart test utility methods and classes from Jasmine syntax code.
And I was asking if the different names and slightly different syntax are worth the additional Jasmine code.
I made the experience when I started tests that not even simple string comparsion worked reliable expect('xxx').toBe('xxx') failed. (I didn't have this recently).

But for me the conclusion was that Jasmine makes more troubles than it's worth.
And if it's true that AngularDart is splitting Jasmine from AngularDart test code I think its worth a discussion if we should stick with Jasmine.

from angular.dart.ui.

akserg avatar akserg commented on August 20, 2024

Global functions, you called toBeXxx, are parts of Angular's spec file and
call unittests functions, nothing else. Integration functions of Jasmin
only needs if we really use nodejs to organise our tests automation and
could be excluded at all with similar startup and teardown analogues.
Question - do we really want create them?

On 29 March 2014 18:56, Günter Zöchbauer [email protected] wrote:

I don't say that this was a wrong decision. I still think it was the right
thing to do at the time.
I know there are handy methods but for me expect or toBeXxx are not one
of them.

What I have seen from AngularDart issues is that they are refactoring this
test related code to split AngularDart test utility methods and classes
from Jasmine syntax code.
And I was asking if the different names and slightly different syntax are
worth the additional Jasmine code.
I made the experience when I started tests that not even simple string
comparsion worked reliable expect('xxx').toBe('xxx') failed. (I didn't
have this recently).

But for me the conclusion was that Jasmine makes more troubles than it's
worth.
And if it's true that AngularDart is splitting Jasmine from AngularDart
test code I think its worth a discussion if we should stick with Jasmine.

Reply to this email directly or view it on GitHubhttps://github.com//issues/52#issuecomment-39001461
.

from angular.dart.ui.

zoechi avatar zoechi commented on August 20, 2024

They just call other functions, this is why I wonder if we need this,
and I wonder if they contribute to difficulties with debugging unit tests.
I mostly wanted to hear your opinions.
There is no pressure/urgency to do this.

from angular.dart.ui.

zoechi avatar zoechi commented on August 20, 2024

We have to wait until the changes have landed in a release anyway and then we could verify if it makes sense.

from angular.dart.ui.

wstrange avatar wstrange commented on August 20, 2024

Just a shot in the dark - but could this be related:
Timeout.call. (package:angular_ui/utils/timeout.dart:77:21)

Calls scope.$apply() - which has been renamed scope.apply() in the latest angular. Perhaps there are a few of the $xxxx methods that need to be renamed.

from angular.dart.ui.

akserg avatar akserg commented on August 20, 2024

Thanks Warren. :)

On 31 March 2014 23:51, Warren Strange [email protected] wrote:

Just a shot in the dark that could be related to this bug:
Timeout.call. (package:angular_ui/utils/timeout.dart:77:21)

Calls scope.$apply() - which has been renamed scope.apply() in the latest
angular. Perhaps there are a few of the $xxxx methods that need to be
renamed.

Reply to this email directly or view it on GitHubhttps://github.com//issues/52#issuecomment-39146754
.

from angular.dart.ui.

akserg avatar akserg commented on August 20, 2024

I have raised bug in Angular Dart. Directive 'ng-include' works incorrect if html template has comments. So simple removing comments from all examples does help to fix the problem.

I'm still checking and fixing problem with unittests.

from angular.dart.ui.

zoechi avatar zoechi commented on August 20, 2024

I upgraded to Angular from github repo (master) and solved all errors the analyzer showed, but now every test fails (have yet to investigate)

from angular.dart.ui.

akserg avatar akserg commented on August 20, 2024

I have committed code, all tests passed, published.
Done.

Regards,
Sergey.

On 1 April 2014 14:30, Günter Zöchbauer [email protected] wrote:

I upgraded to Angular from github repo (master) and solved all errors the
analyzer showed, but now every test fails (have yet to investigate)

Reply to this email directly or view it on GitHubhttps://github.com//issues/52#issuecomment-39199336
.

from angular.dart.ui.

akserg avatar akserg commented on August 20, 2024

Fixed.

from angular.dart.ui.

zoechi avatar zoechi commented on August 20, 2024

Great!

from angular.dart.ui.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.