Gitweb links:

...log 
http://git.netsurf-browser.org/netsurf.git/shortlog/62b76bf31aa79db6b16e9c6601b89f821bf970f1
...commit 
http://git.netsurf-browser.org/netsurf.git/commit/62b76bf31aa79db6b16e9c6601b89f821bf970f1
...tree 
http://git.netsurf-browser.org/netsurf.git/tree/62b76bf31aa79db6b16e9c6601b89f821bf970f1

The branch, master has been updated
       via  62b76bf31aa79db6b16e9c6601b89f821bf970f1 (commit)
      from  b2a78c5c6e28957aa1f3e22dc23516cd8b251caf (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commitdiff 
http://git.netsurf-browser.org/netsurf.git/commit/?id=62b76bf31aa79db6b16e9c6601b89f821bf970f1
commit 62b76bf31aa79db6b16e9c6601b89f821bf970f1
Author: Vincent Sanders <[email protected]>
Commit: Vincent Sanders <[email protected]>

    improve option test coverage futher

diff --git a/test/nsoption.c b/test/nsoption.c
index 0f8680a..69d6d6e 100644
--- a/test/nsoption.c
+++ b/test/nsoption.c
@@ -198,6 +198,21 @@ struct format_test_vec_s format_test_vec[] = {
                "http_proxy:0"
        },
        {
+               NSOPTION_enable_javascript,
+               
"<tr><th>enable_javascript</th><td>boolean</td><td>user</td><td>true</td></tr>",
+               "enable_javascript:1"
+       },
+       {
+               NSOPTION_http_proxy_port,
+               
"<tr><th>http_proxy_port</th><td>integer</td><td>default</td><td>8080</td></tr>",
+               "http_proxy_port:8080"
+       },
+       {
+               NSOPTION_http_proxy_host,
+               
"<tr><th>http_proxy_host</th><td>string</td><td>default</td><td><span 
class=\"null-content\">NULL</span></td></tr>",
+               "http_proxy_host:"
+       },
+       {
                NSOPTION_cookie_file,
                
"<tr><th>cookie_file</th><td>string</td><td>user</td><td>/home/vince/.netsurf/Cookies</td></tr>",
                "cookie_file:/home/vince/.netsurf/Cookies"
@@ -350,8 +365,14 @@ END_TEST
 START_TEST(nsoption_commandline_test)
 {
        nserror res;
-       int argc = 2;
-       char *argv[] = { "nsoption", "--http_proxy_host=fooo", NULL};
+       int argc = 4;
+       char *argv[] = {
+               "nsoption",
+               "--http_proxy_host=fooo",
+               "--http_proxy_port",
+               "not-option",
+               NULL
+       };
 
        /* commandline */
        res = nsoption_commandline(&argc, &argv[0], NULL);
@@ -577,6 +598,42 @@ START_TEST(nsoption_api_init_failcb_test)
 }
 END_TEST
 
+/**
+ * Test snoptionf format
+ */
+START_TEST(nsoption_api_snoptionf_badfmt_test)
+{
+       int ret;
+       ret = nsoption_snoptionf(NULL, 0, -1, NULL);
+       ck_assert_int_eq(ret, -1);
+}
+END_TEST
+
+/**
+ * Test snoptionf range
+ */
+START_TEST(nsoption_api_snoptionf_param_test)
+{
+       int ret;
+       ret = nsoption_snoptionf(NULL, 0, -1, "");
+       ck_assert_int_eq(ret, -1);
+
+       ret = nsoption_snoptionf(NULL, 0, NSOPTION_LISTEND, "");
+       ck_assert_int_eq(ret, -1);
+}
+END_TEST
+
+/**
+ * Test snoptionf with no initialisation
+ */
+START_TEST(nsoption_api_snoptionf_no_init_test)
+{
+       int ret;
+       ret = nsoption_snoptionf(NULL, 0, 0, NULL);
+       ck_assert_int_eq(ret, -1);
+}
+END_TEST
+
 
 TCase *nsoption_api_case_create(void)
 {
@@ -596,6 +653,9 @@ TCase *nsoption_api_case_create(void)
        tcase_add_test(tc, nsoption_api_fini_twice_test);
        tcase_add_test(tc, nsoption_api_init_param_test);
        tcase_add_test(tc, nsoption_api_init_failcb_test);
+       tcase_add_test(tc, nsoption_api_snoptionf_no_init_test);
+       tcase_add_test(tc, nsoption_api_snoptionf_badfmt_test);
+       tcase_add_test(tc, nsoption_api_snoptionf_param_test);
 
        return tc;
 }
diff --git a/utils/nsoption.c b/utils/nsoption.c
index e4354bf..6754d21 100644
--- a/utils/nsoption.c
+++ b/utils/nsoption.c
@@ -822,14 +822,22 @@ nsoption_snoptionf(char *string,
        int fmtc = 0; /* current index into format string */
        struct nsoption_s *option;
 
-       if (option_idx >= NSOPTION_LISTEND) {
+       if (fmt == NULL) {
                return -1;
        }
 
-       option = &nsoptions[option_idx]; /* assume the global table */
-       if (option == NULL || option->key == NULL)
+       if ((option_idx < 0) || (option_idx >= NSOPTION_LISTEND)) {
+               return -1;
+       }
+
+       if (nsoptions == NULL) {
                return -1;
+       }
 
+       option = &nsoptions[option_idx]; /* assume the global table */
+       if (option == NULL || option->key == NULL) {
+               return -1;
+       }
 
        while ((slen < size) && (fmt[fmtc] != 0)) {
                if (fmt[fmtc] == '%') {


-----------------------------------------------------------------------

Summary of changes:
 test/nsoption.c  |   64 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
 utils/nsoption.c |   14 +++++++++---
 2 files changed, 73 insertions(+), 5 deletions(-)

diff --git a/test/nsoption.c b/test/nsoption.c
index 0f8680a..69d6d6e 100644
--- a/test/nsoption.c
+++ b/test/nsoption.c
@@ -198,6 +198,21 @@ struct format_test_vec_s format_test_vec[] = {
                "http_proxy:0"
        },
        {
+               NSOPTION_enable_javascript,
+               
"<tr><th>enable_javascript</th><td>boolean</td><td>user</td><td>true</td></tr>",
+               "enable_javascript:1"
+       },
+       {
+               NSOPTION_http_proxy_port,
+               
"<tr><th>http_proxy_port</th><td>integer</td><td>default</td><td>8080</td></tr>",
+               "http_proxy_port:8080"
+       },
+       {
+               NSOPTION_http_proxy_host,
+               
"<tr><th>http_proxy_host</th><td>string</td><td>default</td><td><span 
class=\"null-content\">NULL</span></td></tr>",
+               "http_proxy_host:"
+       },
+       {
                NSOPTION_cookie_file,
                
"<tr><th>cookie_file</th><td>string</td><td>user</td><td>/home/vince/.netsurf/Cookies</td></tr>",
                "cookie_file:/home/vince/.netsurf/Cookies"
@@ -350,8 +365,14 @@ END_TEST
 START_TEST(nsoption_commandline_test)
 {
        nserror res;
-       int argc = 2;
-       char *argv[] = { "nsoption", "--http_proxy_host=fooo", NULL};
+       int argc = 4;
+       char *argv[] = {
+               "nsoption",
+               "--http_proxy_host=fooo",
+               "--http_proxy_port",
+               "not-option",
+               NULL
+       };
 
        /* commandline */
        res = nsoption_commandline(&argc, &argv[0], NULL);
@@ -577,6 +598,42 @@ START_TEST(nsoption_api_init_failcb_test)
 }
 END_TEST
 
+/**
+ * Test snoptionf format
+ */
+START_TEST(nsoption_api_snoptionf_badfmt_test)
+{
+       int ret;
+       ret = nsoption_snoptionf(NULL, 0, -1, NULL);
+       ck_assert_int_eq(ret, -1);
+}
+END_TEST
+
+/**
+ * Test snoptionf range
+ */
+START_TEST(nsoption_api_snoptionf_param_test)
+{
+       int ret;
+       ret = nsoption_snoptionf(NULL, 0, -1, "");
+       ck_assert_int_eq(ret, -1);
+
+       ret = nsoption_snoptionf(NULL, 0, NSOPTION_LISTEND, "");
+       ck_assert_int_eq(ret, -1);
+}
+END_TEST
+
+/**
+ * Test snoptionf with no initialisation
+ */
+START_TEST(nsoption_api_snoptionf_no_init_test)
+{
+       int ret;
+       ret = nsoption_snoptionf(NULL, 0, 0, NULL);
+       ck_assert_int_eq(ret, -1);
+}
+END_TEST
+
 
 TCase *nsoption_api_case_create(void)
 {
@@ -596,6 +653,9 @@ TCase *nsoption_api_case_create(void)
        tcase_add_test(tc, nsoption_api_fini_twice_test);
        tcase_add_test(tc, nsoption_api_init_param_test);
        tcase_add_test(tc, nsoption_api_init_failcb_test);
+       tcase_add_test(tc, nsoption_api_snoptionf_no_init_test);
+       tcase_add_test(tc, nsoption_api_snoptionf_badfmt_test);
+       tcase_add_test(tc, nsoption_api_snoptionf_param_test);
 
        return tc;
 }
diff --git a/utils/nsoption.c b/utils/nsoption.c
index e4354bf..6754d21 100644
--- a/utils/nsoption.c
+++ b/utils/nsoption.c
@@ -822,14 +822,22 @@ nsoption_snoptionf(char *string,
        int fmtc = 0; /* current index into format string */
        struct nsoption_s *option;
 
-       if (option_idx >= NSOPTION_LISTEND) {
+       if (fmt == NULL) {
                return -1;
        }
 
-       option = &nsoptions[option_idx]; /* assume the global table */
-       if (option == NULL || option->key == NULL)
+       if ((option_idx < 0) || (option_idx >= NSOPTION_LISTEND)) {
+               return -1;
+       }
+
+       if (nsoptions == NULL) {
                return -1;
+       }
 
+       option = &nsoptions[option_idx]; /* assume the global table */
+       if (option == NULL || option->key == NULL) {
+               return -1;
+       }
 
        while ((slen < size) && (fmt[fmtc] != 0)) {
                if (fmt[fmtc] == '%') {


-- 
NetSurf Browser

_______________________________________________
netsurf-commits mailing list
[email protected]
http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/netsurf-commits-netsurf-browser.org

Reply via email to