-
Notifications
You must be signed in to change notification settings - Fork 27.4k
Conversation
a554311
to
875b84f
Compare
Edge times out on one single test in the whole suite! And it makes no sense why exactly this test. There are also some input and ngTouch failures( the latter actually abort the test run completely ...) |
327164e
to
6c0c66d
Compare
Hey @Narretz! We recently ran into the same-ish issue onboarding Angular into our Edge regression testing and filed an internal bug. The good news is it was patched recently 😎 |
|
||
helper.changeInputValueTo('10123-03'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Narretz when you were preparing this change, were you able to determine the root cause of these inputSpec failures? I've been looking at these failures recently as part of the work @jdalton mentioned to include AngularJS tests in our Edge Regression testing. I have concluded that this line helper.changeInputValueTo('10123-03');
is failing to set the .value
property on the HTML element in Edge, which is what results in the eventual failure, but I had to stop before getting to "why" the value property isn't getting set.
If there is an Edge bug behind this I'd love to make sure it gets filed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@AmazingJaze I assumed that Edge simply doesn't allow setting years with more than 4 digits in all the date input elements, so when you enter 10123-03
etc. the input has no value (because it's invalid) and we don't get a value to work with. But I haven't actually checked if this is the Edge bug.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is indeed the case that Edge does not support dates with years past 9999.
The spec does explicitly allow years with more than 4 digits (but not all browsers support it).
See #13735 for some context.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking at this plnkr, http://plnkr.co/edit/TkRo7GD139Pab0qC5ZEm?p=preview it seems to be the case that there is no way to enter a year with more than 4 digits in Edge currently. In Chrome, I can always use the keyboard to input the parts of the date, and so I can also enter 5 digit dates. In Edge it looks like I can only select a date from the picker. Is this correct? This seems like a UX issue to me, and a bug in Edge.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
AFAIK, it is indeed not possible to set the date without using the picker (unless you open up dev tools and set the value
property directly). I guess it is a conscious choice (albeit one I'm not a big fan of 😛).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @jdalton thanks for the heads-up! Do you know when a new stable version is scheduled for release? |
Not at the moment. I don't believe the patch has made it into our insider builds yet. |
@Narretz |
@jdalton Here's the console output from such a failed test: https://s3.amazonaws.com/archive.travis-ci.org/jobs/121916115/log.txt (Search for "heartbeat") |
@Narretz did you encounter any trouble getting $$cookieReader and $$cookieWriter tests to successfully pass on Edge? When I try to run Angular.js tests in Edge, those tests would constantly fail for me, but I was able to get them working with a small change to the test code. Should I send a PR? |
@AmazingJaze No, there weren't any problems with the cookie services. But I was only able to test on microsoftedge 25.10586 (in Saucelabs) so maybe it's a problem introduced in later versions. You can open a PR and I'll take a look! |
6c0c66d
to
cd3125d
Compare
@Narretz there is no "IE Edge", it's just "Edge" or "Microsoft Edge"; commit messages should be updated. Have you tried it again recently? Are there any further problems? |
cd3125d
to
c83df6a
Compare
We found a Contributor License Agreement for you (the sender of this pull request) and all commit authors, but as best as we can tell these commits were authored by someone else. If that's the case, please add them to this pull request and have them confirm that they're okay with these commits being contributed to Google. If we're mistaken and you did author these commits, just reply here to confirm. |
1 similar comment
We found a Contributor License Agreement for you (the sender of this pull request) and all commit authors, but as best as we can tell these commits were authored by someone else. If that's the case, please add them to this pull request and have them confirm that they're okay with these commits being contributed to Google. If we're mistaken and you did author these commits, just reply here to confirm. |
6d8151c
to
adf5687
Compare
CLAs look good, thanks! |
1 similar comment
CLAs look good, thanks! |
adf5687
to
27a14b7
Compare
Here's the last test that is currently failing in Edge which I don't know how to handle: angular.js/test/AngularSpec.js Line 1776 in 136a42a
It concerns the auto-bootstrap prevention we built in. The problem is that Edge doesn't set the origin property on a elements, at least not in Microsoft Edge 38.14393.0.0, EdgeHTML 14.14393.MDN indicates that origin should be available, but it's unclear since which version: https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/origin (check history of this page)
I assume we can try to test again when the Creators Update goes live later in April. |
27a14b7
to
eeb583c
Compare
@Narretz I don't believe that will be resolved with the Creators update since it's not resolved in the insider preview. I did find that this worked though: new URL(someAnchorElement).origin |
Hi @jdalton , thanks for looking into this. Unfortunately in my local version,
So in short, if the link has the scheme Should I open an issue for that? And regarding the |
I opened an internal issue for that, but an external to link to wouldn't hurt.
Yes, for the Regarding your detection. Isn't the protocol something you can use to as well when deciding to allow auto-bootstrapping? |
It seems like returning "null" from the scheme / protocol |
We need to check the origin because we want to allow autobootstrap within an extension only if the extension is loading the angular.js script from the same extension. It is not enough to know that we are in an extension. If we cannot identify the origin then cannot assert that we are not crossing from one extension to another. The simple workaround (and best practice) is to always manually bootstrap AngularJS within an extension. This will always work on all browsers. Until we can find a way to identify that the angular.js script is being loading into the same extension from which it is being sourced, we will not be able to allow auto bootstrapping within MS Edge extensions. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
browserName: 'microsoftedge', | ||
platform: 'Windows 10', | ||
version: '14' | ||
}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you also add a BrowserStack entry?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added
scripts/travis/build.sh
Outdated
@@ -11,7 +11,7 @@ elif [ "$JOB" == "unit" ]; then | |||
if [ "$BROWSER_PROVIDER" == "browserstack" ]; then | |||
BROWSERS="BS_Chrome,BS_Safari,BS_Firefox,BS_IE_9,BS_IE_10,BS_IE_11,BS_iOS" | |||
else | |||
BROWSERS="SL_Chrome,SL_Firefox,SL_Safari_8,SL_Safari_9,SL_IE_9,SL_IE_10,SL_IE_11,SL_iOS" | |||
BROWSERS="SL_Chrome,SL_Firefox,SL_Safari_8,SL_Safari_9,SL_IE_9,SL_IE_10,SL_IE_11,SL_EDGE,SL_iOS" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The BrowserStack section can be extended as well.
Remember to change the commit message when landing! (you could also update the title of this PR to say just "Edge" instead of "IE Edge"). |
6ea1309
to
1ab05bf
Compare
Closes #13687