summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@netsurf-browser.org>2012-07-05 09:52:43 +0100
committerDaniel Silverstone <dsilvers@netsurf-browser.org>2012-07-05 09:52:43 +0100
commit66ab4b45554726cdd4e109a96251604096fd73da (patch)
treeb46424188d18c36b2a1b7ae30e94cbf3b6b00d16
parentf1a0330ff6b4ccbc3c1917c801b8a35da098fc45 (diff)
downloadlibdom-66ab4b45554726cdd4e109a96251604096fd73da.tar.gz
libdom-66ab4b45554726cdd4e109a96251604096fd73da.tar.bz2
CharacterData.delete: Fix this and enable 5 more tests
-rw-r--r--src/core/characterdata.c6
-rw-r--r--test/testcases/tests/level1/core/characterdatadeletedatabegining.xml (renamed from test/testcases/tests/level1/core/characterdatadeletedatabegining.xml.kfail)0
-rw-r--r--test/testcases/tests/level1/core/characterdatadeletedataend.xml (renamed from test/testcases/tests/level1/core/characterdatadeletedataend.xml.kfail)0
-rw-r--r--test/testcases/tests/level1/core/characterdatadeletedataexceedslength.xml (renamed from test/testcases/tests/level1/core/characterdatadeletedataexceedslength.xml.kfail)0
-rw-r--r--test/testcases/tests/level1/core/characterdatadeletedatagetlengthanddata.xml (renamed from test/testcases/tests/level1/core/characterdatadeletedatagetlengthanddata.xml.kfail)0
-rw-r--r--test/testcases/tests/level1/core/characterdatadeletedatamiddle.xml (renamed from test/testcases/tests/level1/core/characterdatadeletedatamiddle.xml.kfail)0
6 files changed, 5 insertions, 1 deletions
diff --git a/src/core/characterdata.c b/src/core/characterdata.c
index 79b5fbe..0883444 100644
--- a/src/core/characterdata.c
+++ b/src/core/characterdata.c
@@ -343,6 +343,7 @@ dom_exception _dom_characterdata_delete_data(struct dom_characterdata *cdata,
dom_exception err;
struct dom_document *doc;
bool success = true;
+ dom_string *empty;
if (_dom_node_readonly(c)) {
return DOM_NO_MODIFICATION_ALLOWED_ERR;
@@ -364,7 +365,10 @@ dom_exception _dom_characterdata_delete_data(struct dom_characterdata *cdata,
end = (offset + count) >= len ? len : offset + count;
- err = dom_string_replace(c->value, NULL, offset, end, &temp);
+ empty = ((struct dom_document *)
+ ((struct dom_node_internal *)c)->owner)->_memo_empty;
+
+ err = dom_string_replace(c->value, empty, offset, end, &temp);
if (err != DOM_NO_ERR) {
return err;
}
diff --git a/test/testcases/tests/level1/core/characterdatadeletedatabegining.xml.kfail b/test/testcases/tests/level1/core/characterdatadeletedatabegining.xml
index d1cf6a3..d1cf6a3 100644
--- a/test/testcases/tests/level1/core/characterdatadeletedatabegining.xml.kfail
+++ b/test/testcases/tests/level1/core/characterdatadeletedatabegining.xml
diff --git a/test/testcases/tests/level1/core/characterdatadeletedataend.xml.kfail b/test/testcases/tests/level1/core/characterdatadeletedataend.xml
index 052ae11..052ae11 100644
--- a/test/testcases/tests/level1/core/characterdatadeletedataend.xml.kfail
+++ b/test/testcases/tests/level1/core/characterdatadeletedataend.xml
diff --git a/test/testcases/tests/level1/core/characterdatadeletedataexceedslength.xml.kfail b/test/testcases/tests/level1/core/characterdatadeletedataexceedslength.xml
index fe80a3b..fe80a3b 100644
--- a/test/testcases/tests/level1/core/characterdatadeletedataexceedslength.xml.kfail
+++ b/test/testcases/tests/level1/core/characterdatadeletedataexceedslength.xml
diff --git a/test/testcases/tests/level1/core/characterdatadeletedatagetlengthanddata.xml.kfail b/test/testcases/tests/level1/core/characterdatadeletedatagetlengthanddata.xml
index 533a19e..533a19e 100644
--- a/test/testcases/tests/level1/core/characterdatadeletedatagetlengthanddata.xml.kfail
+++ b/test/testcases/tests/level1/core/characterdatadeletedatagetlengthanddata.xml
diff --git a/test/testcases/tests/level1/core/characterdatadeletedatamiddle.xml.kfail b/test/testcases/tests/level1/core/characterdatadeletedatamiddle.xml
index 8488008..8488008 100644
--- a/test/testcases/tests/level1/core/characterdatadeletedatamiddle.xml.kfail
+++ b/test/testcases/tests/level1/core/characterdatadeletedatamiddle.xml