new style for JavaScript layout tests
Hi everyone, I've redone most of our JavaScript layout tests (in LayoutTests/fast/ js to use a new style based on how the KDE JS tests work. I'd like to ask that all new JavaScript layout tests be done with this new style. To make a new-style JS tests, you make a new .js file in LayoutTests/ fast/js/resources using shouldBe() assertions. Then run the new make- js-test-wrappers script in WebKitTools/Scripts, and a new .html file that loads your script will be generated in LayoutTests/fast/js Here's an example of a test JavaScript file, has-own-propery.js: description( "This test verifies the behaviour of Object.prototype.hasOwnProperty, as documented in ECMA-262 rev3 section 15.2.4.5." ); shouldBe("typeof {foo : 'yum'}.hasOwnProperty", '"function"'); shouldBeTrue("({foo : 'yum'}).hasOwnProperty('foo')"); shouldBeTrue("''.hasOwnProperty('length')"); shouldBeFalse("({foo : 'yum'}).hasOwnProperty('bar')"); shouldBeFalse("({foo : 'yum'}).hasOwnProperty('toString')"); shouldBeFalse("''.hasOwnProperty('toString')"); var successfullyParsed = true; When you load has-own-property.html in a web browser, the results look like this: This test verifies the behaviour of Object.prototype.hasOwnProperty, as documented in ECMA-262 rev3 section 15.2.4.5. On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". PASS typeof {foo : 'yum'}.hasOwnProperty is "function" PASS ({foo : 'yum'}).hasOwnProperty('foo') is true PASS ''.hasOwnProperty('length') is true PASS ({foo : 'yum'}).hasOwnProperty('bar') is false PASS ({foo : 'yum'}).hasOwnProperty('toString') is false PASS ''.hasOwnProperty('toString') is false PASS successfullyParsed is true TEST COMPLETE In addition to shouldBe, shouldBeTrue and shouldBeFalse, there are also shouldBeUndefined, shouldBeNaN and shouldThrow assertions. Regards, Maciej
participants (1)
-
Maciej Stachowiak