diff options
author | Vincent Sanders <vincent.sanders@collabora.co.uk> | 2012-10-23 18:40:34 +0100 |
---|---|---|
committer | Vincent Sanders <vincent.sanders@collabora.co.uk> | 2012-10-23 18:40:34 +0100 |
commit | b24a4d297866adba63ef990f3a8082484e4562cc (patch) | |
tree | 2d2c6f8425dc48dcd323c3850511a72cd22504e5 /test/data/bindings | |
parent | b689f846c3492a5effad361cc46ef2c3b50d11b3 (diff) | |
download | nsgenbind-b24a4d297866adba63ef990f3a8082484e4562cc.tar.gz nsgenbind-b24a4d297866adba63ef990f3a8082484e4562cc.tar.bz2 |
tests from real idl
Diffstat (limited to 'test/data/bindings')
-rw-r--r-- | test/data/bindings/dom.bnd | 14 | ||||
-rw-r--r-- | test/data/bindings/htmldocument2.bnd | 39 |
2 files changed, 53 insertions, 0 deletions
diff --git a/test/data/bindings/dom.bnd b/test/data/bindings/dom.bnd new file mode 100644 index 0000000..f323ff2 --- /dev/null +++ b/test/data/bindings/dom.bnd @@ -0,0 +1,14 @@ +/* test binding for document - must be included */ + +webidlfile "dom.idl"; + +operation getElementById %{ + dom_string *elementId_dom; + dom_element *element; + + dom_string_create((unsigned char*)elementId, elementId_len, &elementId_dom); + + dom_document_get_element_by_id(private->node, elementId_dom, &element); + + jsretval = OBJECT_TO_JSVAL(jsapi_new_element(cx, JS_GetGlobalObject(cx), private->htmlc, element)); +%} diff --git a/test/data/bindings/htmldocument2.bnd b/test/data/bindings/htmldocument2.bnd new file mode 100644 index 0000000..e7955d9 --- /dev/null +++ b/test/data/bindings/htmldocument2.bnd @@ -0,0 +1,39 @@ +/* test binding to generate htmldocument */ + +#include "dom.bnd" + +webidlfile "html.idl"; + +hdrcomment "Part of NetSurf Project"; + +preamble %{ + +#include <dom/dom.h> + +#include "utils/config.h" +#include "utils/log.h" + +#include "javascript/jsapi.h" + +%} + +operation write %{ + LOG(("content %p parser %p writing %s", + private->htmlc, private->htmlc->parser, text)); + + if (private->htmlc->parser != NULL) { + dom_hubbub_parser_insert_chunk(private->htmlc->parser, (uint8_t *)text, text_len); + } +%} + +binding document { + type js_libdom; /* the binding type */ + + /* parameters to constructor value stored in private + * context structure. + */ + private "dom_document *" node; + private "struct html_content *" htmlc; + + interface Document; /* Web IDL interface to generate */ +} |