Reviewed by Darin. Patch by James G. Speth.
- Tests for http://bugzilla.opendarwin.org/show_bug.cgi?id=8843
add a way to build Objective-C test cases in HTML
* plugins/jsobjc-dom-wrappers-expected.txt: Added.
* plugins/jsobjc-dom-wrappers.html: Added.
* plugins/jsobjc-simple-expected.txt: Added.
* plugins/jsobjc-simple.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15022
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2006-06-24 James G. Speth <speth@end.com>
+
+ Reviewed by Darin.
+
+ - Tests for http://bugzilla.opendarwin.org/show_bug.cgi?id=8843
+ add a way to build Objective-C test cases in HTML
+
+ * plugins/jsobjc-dom-wrappers-expected.txt: Added.
+ * plugins/jsobjc-dom-wrappers.html: Added.
+ * plugins/jsobjc-simple-expected.txt: Added.
+ * plugins/jsobjc-simple.html: Added.
+
2006-06-24 Rob Buis <buis@kde.org>
Reviewed by Darin.
--- /dev/null
+document.childNodes == DOMNodeList ? -> PASS
+
+document.body.attributes == DOMNamedNodeMap ? -> PASS
+
+document.styleSheets == DOMStyleSheetList ? -> PASS
+
+document.styleSheets[0] == DOMCSSStyleSheet ? -> PASS
+
+document.styleSheets[0].media == DOMMediaList ? -> PASS
+
+document.styleSheets[0].cssRules == DOMCSSRuleList ? -> PASS
+
+document.styleSheets[0].cssRules[0] == DOMCSSStyleRule ? -> PASS
+
+document.styleSheets[0].cssRules[0].style == DOMCSSStyleDeclaration ? -> PASS
+
+document.styleSheets[0].cssRules[0].style.getPropertyCSSValue("font") == DOMCSSValue ? -> PASS
+
+document.styleSheets[0].cssRules[0].style.getPropertyCSSValue("width") == DOMCSSPrimitiveValue ? -> PASS
--- /dev/null
+<html>
+<head><title> wrappers.html </title>
+<style>
+ BODY { font: 11px 'Lucida Grande'; width: 90%; padding: 10px; }
+ .box { border: 1px solid gray; background-color: #EEE; margin: 10px; }
+</style>
+<script>
+function print(message) {
+ var paragraph = document.createElement('p');
+ paragraph.appendChild(document.createTextNode(message));
+ document.getElementById('console').appendChild(paragraph);
+}
+function check(exp, value) {
+ var obj = eval(exp);
+ var name = objc.classNameOfObject_(obj);
+ var result = (name == value) ? 'PASS' : 'FAIL';
+ print('' + exp + ' == ' + value + ' ? -> ' + result);
+}
+function test() {
+ if (window.layoutTestController)
+ layoutTestController.dumpAsText();
+ if (!window.objCPlugin)
+ return print('FAIL - no objCPlugin');
+ objCPlugin.removeBridgeRestrictions_(window);
+ if (!window.objc)
+ return print('FAIL - no window.objc');
+
+ check('document.childNodes', 'DOMNodeList');
+ check('document.body.attributes', 'DOMNamedNodeMap');
+ check('document.styleSheets', 'DOMStyleSheetList');
+ check('document.styleSheets[0]', 'DOMCSSStyleSheet');
+ check('document.styleSheets[0].media', 'DOMMediaList');
+ check('document.styleSheets[0].cssRules', 'DOMCSSRuleList');
+ check('document.styleSheets[0].cssRules[0]', 'DOMCSSStyleRule');
+ check('document.styleSheets[0].cssRules[0].style', 'DOMCSSStyleDeclaration');
+ check('document.styleSheets[0].cssRules[0].style.getPropertyCSSValue("font")', 'DOMCSSValue');
+ check('document.styleSheets[0].cssRules[0].style.getPropertyCSSValue("width")', 'DOMCSSPrimitiveValue');
+
+}
+</script>
+</head>
+<body onload="test();">
+<div id='console'/>
+</body>
+</html>
--- /dev/null
+got class: NSCell
+
+created object: <NSCell>
+
+set string value: zoe
+
+PASS
--- /dev/null
+<html>
+<head><title> simple.html </title>
+<script>
+function print(message) {
+ var paragraph = document.createElement('p');
+ paragraph.appendChild(document.createTextNode(message));
+ document.getElementById('console').appendChild(paragraph);
+}
+
+function test() {
+ if (window.layoutTestController)
+ layoutTestController.dumpAsText();
+ if (!window.objCPlugin)
+ return print('FAIL - no objCPlugin');
+ objCPlugin.removeBridgeRestrictions_(window);
+ if (!window.objc)
+ return print('FAIL - no window.objc');
+
+ // test creating an obj-c object
+ var NSCell = objc('NSCell');
+ print('got class: ' + NSCell);
+ var cell = NSCell.alloc().init();
+ print('created object: <' + cell.className() + '>');
+ cell.setValue_forKey_('zoe', 'stringValue');
+ print('set string value: ' + cell.stringValue());
+ if (cell.stringValue() == 'zoe')
+ print('PASS');
+ else
+ print('FAIL');
+}
+</script>
+</head>
+<body onload="test();">
+<div id='console'/>
+</body>
+</html>