Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add idlharness.js test for Fullscreen #5903

Merged
merged 1 commit into from May 15, 2017
Merged

Add idlharness.js test for Fullscreen #5903

merged 1 commit into from May 15, 2017

Conversation

foolip
Copy link
Member

@foolip foolip commented May 12, 2017

Adding a whole other spec's IDL as untested isn't commonly done, so this
ran into multiple problems in idlharness.js, which were fixed:

  • test_primary_interface_of and test_interface_of were missing untested checks
  • the readonly (no setter) checks didn't know about [LenientSetter]

There's still no coverage for [LenientSetter] actually working.


This change is Reviewable

Adding a whole other spec's IDL as untested isn't commonly done, so this
ran into multiple problems in idlharness.js, which were fixed:
 * test_primary_interface_of and test_interface_of were missing untested checks
 * the readonly (no setter) checks didn't know about [LenientSetter]

There's still no coverage for [LenientSetter] actually working.
@w3c-bots
Copy link

w3c-bots commented May 12, 2017

View the complete job log.

Firefox (nightly)

Testing web-platform-tests at revision 1bca831
Ignoring 1 changed files:
Using browser at version BuildID 20170511133312; SourceStamp 838652a84b76c273e084d0705f3f4f3be89520a8
Starting 10 test iterations
All results were stable

All results

1 test ran
/fullscreen/interfaces.html
Subtest Results Messages
OK
Test driver PASS
Document interface: attribute fullscreenEnabled PASS
Document interface: attribute fullscreen PASS
Document interface: operation exitFullscreen() FAIL assert_unreached: Throws "TypeError: 'exitFullscreen' called on an object that does not implement interface Document." instead of rejecting promise Reached unreachable code
Document interface: attribute onfullscreenchange PASS
Document interface: attribute onfullscreenerror PASS
Document interface: attribute fullscreenElement PASS
Document must be primary interface of new Document PASS
Stringification of new Document PASS
Document interface: new Document must inherit property "fullscreenEnabled" with the proper type (29) PASS
Document interface: new Document must inherit property "fullscreen" with the proper type (30) PASS
Document interface: new Document must inherit property "exitFullscreen" with the proper type (31) PASS
Document interface: new Document must inherit property "onfullscreenchange" with the proper type (32) PASS
Document interface: new Document must inherit property "onfullscreenerror" with the proper type (33) PASS
Document interface: new Document must inherit property "fullscreenElement" with the proper type (35) PASS
ShadowRoot interface: attribute fullscreenElement FAIL assert_true: The prototype object must have a property "fullscreenElement" expected true got false
Element interface: operation requestFullscreen() FAIL assert_unreached: Throws "TypeError: 'requestFullscreen' called on an object that does not implement interface Element." instead of rejecting promise Reached unreachable code
Element must be primary interface of document.createElementNS(null, "test") PASS
Stringification of document.createElementNS(null, "test") PASS
Element interface: document.createElementNS(null, "test") must inherit property "requestFullscreen" with the proper type (34) PASS

@w3c-bots
Copy link

w3c-bots commented May 12, 2017

View the complete job log.

Chrome (unstable)

Testing web-platform-tests at revision 1bca831
Ignoring 1 changed files:
Using browser at version 60.0.3095.5 dev
Starting 10 test iterations
All results were stable

All results

1 test ran
/fullscreen/interfaces.html
Subtest Results Messages
OK
Test driver PASS
Document interface: attribute fullscreenEnabled FAIL assert_true: The prototype object must have a property "fullscreenEnabled" expected true got false
Document interface: attribute fullscreen FAIL assert_true: The prototype object must have a property "fullscreen" expected true got false
Document interface: operation exitFullscreen() FAIL assert_own_property: interface prototype object missing non-static operation expected property "exitFullscreen" missing
Document interface: attribute onfullscreenchange FAIL assert_true: The prototype object must have a property "onfullscreenchange" expected true got false
Document interface: attribute onfullscreenerror FAIL assert_true: The prototype object must have a property "onfullscreenerror" expected true got false
Document interface: attribute fullscreenElement FAIL assert_true: The prototype object must have a property "fullscreenElement" expected true got false
Document must be primary interface of new Document FAIL assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Illegal constructor"
Stringification of new Document FAIL assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Illegal constructor"
Document interface: new Document must inherit property "fullscreenEnabled" with the proper type (29) FAIL assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Illegal constructor"
Document interface: new Document must inherit property "fullscreen" with the proper type (30) FAIL assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Illegal constructor"
Document interface: new Document must inherit property "exitFullscreen" with the proper type (31) FAIL assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Illegal constructor"
Document interface: new Document must inherit property "onfullscreenchange" with the proper type (32) FAIL assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Illegal constructor"
Document interface: new Document must inherit property "onfullscreenerror" with the proper type (33) FAIL assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Illegal constructor"
Document interface: new Document must inherit property "fullscreenElement" with the proper type (35) FAIL assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: Illegal constructor"
ShadowRoot interface: attribute fullscreenElement FAIL assert_true: The prototype object must have a property "fullscreenElement" expected true got false
Element interface: operation requestFullscreen() FAIL assert_own_property: interface prototype object missing non-static operation expected property "requestFullscreen" missing
Element must be primary interface of document.createElementNS(null, "test") PASS
Stringification of document.createElementNS(null, "test") PASS
Element interface: document.createElementNS(null, "test") must inherit property "requestFullscreen" with the proper type (34) FAIL assert_inherits: property "requestFullscreen" not found in prototype chain

@@ -1684,6 +1691,9 @@ IdlInterface.prototype.test_interface_of = function(desc, obj, exception, expect
for (var i = 0; i < this.members.length; i++)
{
var member = this.members[i];
if (member.untested) {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the style in this file is inconsistent, so I tried to be locally consistent.

@upsuper
Copy link
Member

upsuper commented May 14, 2017

I'm not quite familiar with IDL tests... so probably @annevk should review this.

@jgraham jgraham requested a review from annevk May 14, 2017 10:59
@annevk
Copy link
Member

annevk commented May 14, 2017

I don't know the IDL harness code. I was actually asking on IRC who can so I'm surprised @jgraham assigns me! Having said that, if this runs I'd be okay with landing it...

@foolip
Copy link
Member Author

foolip commented May 15, 2017

Looks like @Ms2ger and @ayg are the top committers in idlharness.js. Would either of you care to vet the changes in that file?

@foolip
Copy link
Member Author

foolip commented May 15, 2017

@annevk says not to expect speedy responses from @Ms2ger or @ayg, so I'll just go ahead and merge this. It will affect other tests using testharness.js, but should in those cases too only be skipping tests that should have been skipped all along.

I checked XMLHttpRequest/interfaces.html and html/dom/interfaces.html before and after and as expected there's a reduction in the number of tests.

@foolip foolip merged commit cc4790c into master May 15, 2017
@foolip foolip deleted the fullscreen-interfaces branch May 15, 2017 10:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants