RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: [email protected] Module: rpm Date: 27-Jun-2009 06:18:33 Branch: HEAD Handle: 2009062704183300 Added files: rpm/js/tscripts Bf.js Modified files: rpm/js rpmbf-js.c tjs.c Log: - js: simple unit tests for Bloom filters. Summary: Revision Changes Path 1.2 +7 -3 rpm/js/rpmbf-js.c 1.34 +11 -11 rpm/js/tjs.c 1.1 +21 -0 rpm/js/tscripts/Bf.js ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/js/rpmbf-js.c ============================================================================ $ cvs diff -u -r1.1 -r1.2 rpmbf-js.c --- rpm/js/rpmbf-js.c 26 Jun 2009 18:11:25 -0000 1.1 +++ rpm/js/rpmbf-js.c 27 Jun 2009 04:18:33 -0000 1.2 @@ -70,7 +70,7 @@ if (_debug) fprintf(stderr, "==> %s(%p,%p,%p[%u],%p) ptr %p\n", __FUNCTION__, cx, obj, argv, (unsigned)argc, rval, ptr); - *rval = (rpmbfClr(bf) ? JSVAL_TRUE : JSVAL_FALSE); + *rval = (rpmbfClr(bf) ? JSVAL_FALSE : JSVAL_TRUE); ok = JS_TRUE; exit: return ok; @@ -90,7 +90,7 @@ if (!(ok = JS_ConvertArguments(cx, argc, argv, "s", &_s))) goto exit; - *rval = (rpmbfDel(bf, _s) ? JSVAL_TRUE : JSVAL_FALSE); + *rval = (rpmbfDel(bf, _s) ? JSVAL_FALSE : JSVAL_TRUE); ok = JS_TRUE; exit: return ok; @@ -122,7 +122,9 @@ rpmbf bf = ptr; jsint tiny = JSVAL_TO_INT(id); +#ifdef NOTYET _PROP_DEBUG_ENTRY(_debug < 0); +#endif /* XXX the class has ptr == NULL, instances have ptr != NULL. */ if (ptr == NULL) @@ -158,7 +160,9 @@ rpmbf bf = ptr; jsint tiny = JSVAL_TO_INT(id); +#ifdef NOTYET _PROP_DEBUG_ENTRY(_debug < 0); +#endif /* XXX the class has ptr == NULL, instances have ptr != NULL. */ if (ptr == NULL) @@ -194,9 +198,9 @@ void * ptr = JS_GetInstancePrivate(cx, obj, &rpmbfClass, NULL); #ifdef NOTYET rpmbf bf = ptr; -#endif _RESOLVE_DEBUG_ENTRY(_debug); +#endif if (ptr == NULL) { /* don't resolve to parent prototypes objects. */ *objp = NULL; @@ . patch -p0 <<'@@ .' Index: rpm/js/tjs.c ============================================================================ $ cvs diff -u -r1.33 -r1.34 tjs.c --- rpm/js/tjs.c 26 Jun 2009 18:11:25 -0000 1.33 +++ rpm/js/tjs.c 27 Jun 2009 04:18:33 -0000 1.34 @@ -45,22 +45,22 @@ /*...@unchecked@*/ /*...@observer@*/ static struct rpmjsClassTable_s classTable[] = { - { "Aug", rpmjs_InitAugClass, -25 }, + { "Aug", rpmjs_InitAugClass, 25 }, { "Bf", rpmjs_InitBfClass, 26 }, - { "Ds", rpmjs_InitDsClass, -13 }, - { "Fi", rpmjs_InitFiClass, -14 }, - { "File", js_InitFileClass, -1 }, - { "Hdr", rpmjs_InitHdrClass, -12 }, - { "Mc", rpmjs_InitMcClass, -24 }, - { "Mi", rpmjs_InitMiClass, -11 }, - { "Ps", rpmjs_InitPsClass, -16 }, + { "Ds", rpmjs_InitDsClass, 13 }, + { "Fi", rpmjs_InitFiClass, 14 }, + { "File", js_InitFileClass, 1 }, + { "Hdr", rpmjs_InitHdrClass, 12 }, + { "Mc", rpmjs_InitMcClass, 24 }, + { "Mi", rpmjs_InitMiClass, 11 }, + { "Ps", rpmjs_InitPsClass, 16 }, #ifdef WITH_SYCK { "Syck", rpmjs_InitSyckClass, -3 }, #endif - { "Te", rpmjs_InitTeClass, -15 }, - { "Ts", rpmjs_InitTsClass, -10 }, + { "Te", rpmjs_InitTeClass, 15 }, + { "Ts", rpmjs_InitTsClass, 10 }, #ifdef WITH_UUID - { "Uuid", rpmjs_InitUuidClass, -2 }, + { "Uuid", rpmjs_InitUuidClass, 2 }, #endif }; @@ . patch -p0 <<'@@ .' Index: rpm/js/tscripts/Bf.js ============================================================================ $ cvs diff -u -r0 -r1.1 Bf.js --- /dev/null 2009-06-27 06:15:21 +0200 +++ Bf.js 2009-06-27 06:18:33 +0200 @@ -0,0 +1,21 @@ +if (loglvl) print("--> Bf.js"); + +var bf = new Bf(); +ack("typeof bf;", "object"); +ack("bf instanceof Bf;", true); +// ack("bf = 1;", 1); +// ack("bf = 0;", 0); + +ack("bf.add('foo');", true); +ack("bf.add('bar');", true); + +ack("bf.chk('foo');", true); +ack("bf.chk('bar');", true); +ack("bf.chk('baz');", false); + +ack("bf.del('bar');", true); +ack("bf.del('foo');", true); + +ack("bf.clr();", true); + +if (loglvl) print("<-- Bf.js"); @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository [email protected]
