From b24a4d297866adba63ef990f3a8082484e4562cc Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Tue, 23 Oct 2012 18:40:34 +0100 Subject: tests from real idl --- test/data/bindings/dom.bnd | 14 +++++++++++++ test/data/bindings/htmldocument2.bnd | 39 ++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 test/data/bindings/dom.bnd create mode 100644 test/data/bindings/htmldocument2.bnd (limited to 'test/data/bindings') 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 + +#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 */ +} -- cgit v1.2.3