diff options
author | Daniel Silverstone <dsilvers@digital-scurf.org> | 2012-07-07 17:16:25 +0100 |
---|---|---|
committer | Daniel Silverstone <dsilvers@digital-scurf.org> | 2012-07-07 17:16:25 +0100 |
commit | f7930870c0027672685ebc6df415240c4afe9a0b (patch) | |
tree | 32347ae9560eca482573b864ef48079dd4b59830 | |
parent | 4bd9b5366d2eb5d6430f75a0ccd7ea4cb10ff838 (diff) | |
download | libdom-f7930870c0027672685ebc6df415240c4afe9a0b.tar.gz libdom-f7930870c0027672685ebc6df415240c4afe9a0b.tar.bz2 |
HTMLFormElement: Add basic attributes, enable 5 more tests
-rw-r--r-- | include/dom/html/html_form_element.h | 32 | ||||
-rw-r--r-- | src/html/html_form_element.c | 40 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLFormElement04.xml (renamed from test/testcases/tests/level1/html/HTMLFormElement04.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLFormElement05.xml (renamed from test/testcases/tests/level1/html/HTMLFormElement05.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLFormElement06.xml (renamed from test/testcases/tests/level1/html/HTMLFormElement06.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLFormElement07.xml (renamed from test/testcases/tests/level1/html/HTMLFormElement07.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLFormElement08.xml (renamed from test/testcases/tests/level1/html/HTMLFormElement08.xml.kfail) | 0 |
7 files changed, 72 insertions, 0 deletions
diff --git a/include/dom/html/html_form_element.h b/include/dom/html/html_form_element.h index 230846c..c4ee1d8 100644 --- a/include/dom/html/html_form_element.h +++ b/include/dom/html/html_form_element.h @@ -9,6 +9,7 @@ #define dom_html_form_element_h_ #include <dom/core/exceptions.h> +#include <dom/core/string.h> struct dom_html_collection; @@ -18,6 +19,37 @@ dom_exception dom_html_form_element_get_elements(dom_html_form_element *ele, struct dom_html_collection **col); dom_exception dom_html_form_element_get_length(dom_html_form_element *ele, unsigned long *len); + +dom_exception dom_html_form_element_get_accept_charset( + dom_html_form_element *ele, dom_string **accept_charset); + +dom_exception dom_html_form_element_set_accept_charset( + dom_html_form_element *ele, dom_string *accept_charset); + +dom_exception dom_html_form_element_get_action( + dom_html_form_element *ele, dom_string **action); + +dom_exception dom_html_form_element_set_action( + dom_html_form_element *ele, dom_string *action); + +dom_exception dom_html_form_element_get_enctype( + dom_html_form_element *ele, dom_string **enctype); + +dom_exception dom_html_form_element_set_enctype( + dom_html_form_element *ele, dom_string *enctype); + +dom_exception dom_html_form_element_get_method( + dom_html_form_element *ele, dom_string **method); + +dom_exception dom_html_form_element_set_method( + dom_html_form_element *ele, dom_string *method); + +dom_exception dom_html_form_element_get_target( + dom_html_form_element *ele, dom_string **target); + +dom_exception dom_html_form_element_set_target( + dom_html_form_element *ele, dom_string *target); + dom_exception dom_html_form_element_submit(dom_html_form_element *ele); dom_exception dom_html_form_element_reset(dom_html_form_element *ele); diff --git a/src/html/html_form_element.c b/src/html/html_form_element.c index 83af37a..0688cd6 100644 --- a/src/html/html_form_element.c +++ b/src/html/html_form_element.c @@ -8,6 +8,8 @@ #include <assert.h> #include <stdlib.h> +#include <dom/html/html_form_element.h> + #include "html/html_form_element.h" #include "html/html_collection.h" @@ -182,6 +184,44 @@ dom_exception dom_html_form_element_get_length(dom_html_form_element *ele, return dom_html_collection_get_length(ele->col, len); } +#define SIMPLE_GET_SET(fattr,attr) \ +dom_exception dom_html_form_element_get_##fattr(dom_html_form_element *element, \ + dom_string **fattr) \ +{ \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, fattr); \ + \ + return ret; \ +} \ + \ +dom_exception dom_html_form_element_set_##fattr(dom_html_form_element *element, \ + dom_string *fattr) \ +{ \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, fattr); \ + \ + return ret; \ +} + +SIMPLE_GET_SET(accept_charset,accept_charset) +SIMPLE_GET_SET(action,action) +SIMPLE_GET_SET(enctype,enctype) +SIMPLE_GET_SET(method,method) +SIMPLE_GET_SET(target,target) + + /** * Submit this form * diff --git a/test/testcases/tests/level1/html/HTMLFormElement04.xml.kfail b/test/testcases/tests/level1/html/HTMLFormElement04.xml index 4077e36..4077e36 100644 --- a/test/testcases/tests/level1/html/HTMLFormElement04.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLFormElement04.xml diff --git a/test/testcases/tests/level1/html/HTMLFormElement05.xml.kfail b/test/testcases/tests/level1/html/HTMLFormElement05.xml index 54a3436..54a3436 100644 --- a/test/testcases/tests/level1/html/HTMLFormElement05.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLFormElement05.xml diff --git a/test/testcases/tests/level1/html/HTMLFormElement06.xml.kfail b/test/testcases/tests/level1/html/HTMLFormElement06.xml index fb1ca95..fb1ca95 100644 --- a/test/testcases/tests/level1/html/HTMLFormElement06.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLFormElement06.xml diff --git a/test/testcases/tests/level1/html/HTMLFormElement07.xml.kfail b/test/testcases/tests/level1/html/HTMLFormElement07.xml index 897b63d..897b63d 100644 --- a/test/testcases/tests/level1/html/HTMLFormElement07.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLFormElement07.xml diff --git a/test/testcases/tests/level1/html/HTMLFormElement08.xml.kfail b/test/testcases/tests/level1/html/HTMLFormElement08.xml index 1a691cb..1a691cb 100644 --- a/test/testcases/tests/level1/html/HTMLFormElement08.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLFormElement08.xml |