NS_IMETHODIMP calDateTime::SetJsDate(JSContext* aCx, JS::HandleValue aDate) { if (!aDate.isObject()) { mIsValid = false; return NS_OK; } JS::Rooted<JSObject*> dobj(aCx, &aDate.toObject()); dobj = js::CheckedUnwrap(dobj); if (!dobj) { mIsValid = false; return NS_OK; } JSAutoCompartment ac(aCx, dobj); if (!JS_ObjectIsDate(aCx, dobj) || !js_DateIsValid(dobj)) { mIsValid = false; return NS_OK; } PRTime utcTime = PRTime(js_DateGetMsecSinceEpoch(dobj)) * 1000; mIsValid = NS_SUCCEEDED(SetNativeTime(utcTime)); return NS_OK; }
void test_empty_object() { // DomainObject does not contain link to DataObject OrmXml dobj(EMPTY_DATAOBJ); CPPUNIT_ASSERT(dobj.is_empty()); // The same, using D::Holder: OrmXml::Holder dh(EMPTY_DATAOBJ); CPPUNIT_ASSERT(dh->is_empty()); }
void test_lazy_load_failed() { Engine engine(Engine::READ_ONLY); setup_log(engine); Session session(Yb::theSchema(), &engine); OrmTest dobj(session, ORM_XML_ID2); CPPUNIT_ASSERT_EQUAL((int)DataObject::Ghost, (int)dobj.get_data_object()->status()); String x = dobj.a; }
bool Entry() { GITObjRef dobj(cam->m_gitEntry); // ... set the Connected property to true.... if (!dobj.PutProp(L"Connected", true)) { SetErrorMsg(ExcepMsg(dobj.Excep())); return true; } return false; }
void test_lazy_load() { Engine engine(Engine::READ_ONLY); setup_log(engine); Session session(Yb::theSchema(), &engine); OrmTest dobj(session, ORM_TEST_ID1); CPPUNIT_ASSERT_EQUAL((int)DataObject::Ghost, (int)dobj.get_data_object()->status()); CPPUNIT_ASSERT_EQUAL(string("item"), NARROW(dobj.a.value())); CPPUNIT_ASSERT_EQUAL((int)DataObject::Sync, (int)dobj.get_data_object()->status()); dobj.a = _T("new_item"); CPPUNIT_ASSERT_EQUAL(string("new_item"), NARROW(dobj.a.value())); CPPUNIT_ASSERT_EQUAL((int)DataObject::Dirty, (int)dobj.get_data_object()->status()); }
void test_null_fk_relation() { Engine engine(Engine::READ_ONLY); setup_log(engine); Session session(Yb::theSchema(), &engine); OrmXml dobj(session, ORM_XML_ID4); CPPUNIT_ASSERT_EQUAL((int)DataObject::Ghost, (int)dobj.get_data_object()->status()); Decimal x = dobj.b; CPPUNIT_ASSERT_EQUAL((int)DataObject::Sync, (int)dobj.get_data_object()->status()); // Holder is always not empty! CPPUNIT_ASSERT(dobj.orm_test._get_p() != NULL); // but: // DomainObject does not contain link to DataObject CPPUNIT_ASSERT(dobj.orm_test->is_empty()); // Referencing DataObject does not have FK field set CPPUNIT_ASSERT(dobj.get(_T("ORM_TEST_ID")).is_null()); }
void test_holder() { // a new DomainObject with a new DataObject object are created OrmXml::Holder dh0; CPPUNIT_ASSERT(dh0._get_p() != NULL); CPPUNIT_ASSERT(!dh0->is_empty()); // a new DomainObject with an empty DataObject are created OrmXml::Holder dh1(EMPTY_DATAOBJ); CPPUNIT_ASSERT(dh1._get_p() != NULL); CPPUNIT_ASSERT(dh1->is_empty()); Engine engine(Engine::READ_ONLY); setup_log(engine); Session session(Yb::theSchema(), &engine); OrmXml dobj(session, ORM_XML_ID4); OrmXml::Holder dh2(dobj); CPPUNIT_ASSERT(dh2._get_p() != NULL); CPPUNIT_ASSERT_EQUAL(shptr_get(dobj.get_data_object()), shptr_get(dh2->get_data_object())); }