/** * Wrapper for atk_state_set_and_sets(). */ static PyObject* _atkstateset_and_sets (PyAtkStateSet *self, PyObject *args) { PyObject *val; AtkStateSet *result; PyAtkStateSet *retval; debug ("_atkstateset_and_sets\n"); if (!PyArg_ParseTuple (args, "O:and_sets", &val)) return NULL; if (!PyObject_TypeCheck (val, &PyAtkStateSet_Type)) { PyErr_SetString (PyExc_TypeError, "parameter must be an AtkStateSet"); return NULL; } retval = PyObject_New (PyAtkStateSet, &PyAtkStateSet_Type); result = atk_state_set_and_sets (ATKSTATESET (self), ATKSTATESET (val)); retval->obj = result; return (PyObject *) retval; }
static VALUE rg_and(VALUE self, VALUE compare_set) { return GOBJ2RVAL(atk_state_set_and_sets(_SELF(self), _SELF(compare_set))); }
static gboolean test_state_set (void) { AtkStateSet *state_set1, *state_set2, *state_set3; AtkStateType state_array[3]; gboolean b_val; state_set1 = atk_state_set_new (); b_val = atk_state_set_is_empty (state_set1); if (b_val) { g_print ("New state set is not empty\n"); return FALSE; } b_val = atk_state_set_add_state (state_set1, ATK_STATE_ACTIVE); if (!b_val) { g_print ("Adding new state set failed\n"); return FALSE; } b_val = atk_state_set_is_empty (state_set1); if (!b_val) { g_print ("New state set is empty when it should not be\n"); return FALSE; } b_val = atk_state_set_add_state (state_set1, ATK_STATE_ACTIVE); if (b_val) { g_print ("Adding new state set succeeded when it should not have\n"); return FALSE; } state_array[0] = ATK_STATE_ACTIVE; state_array[1] = ATK_STATE_VISIBLE; state_array[2] = ATK_STATE_BUSY; atk_state_set_add_states (state_set1, state_array, 3); b_val = atk_state_set_contains_state (state_set1, ATK_STATE_ACTIVE); if (!b_val) { g_print ("Contains state failed for ATK_STATE_ACTIVE but should not have\n"); return FALSE; } b_val = atk_state_set_contains_state (state_set1, ATK_STATE_VISIBLE); if (!b_val) { g_print ("Contains state failed for ATK_STATE_VISIBLE but should not have\n"); return FALSE; } b_val = atk_state_set_contains_state (state_set1, ATK_STATE_BUSY); if (!b_val) { g_print ("Contains state failed for ATK_STATE_BUSY but should not have\n"); return FALSE; } b_val = atk_state_set_contains_state (state_set1, ATK_STATE_VERTICAL); if (b_val) { g_print ("Contains state succeeded for ATK_STATE_VERTICAL but should not have\n"); return FALSE; } atk_state_set_remove_state (state_set1, ATK_STATE_BUSY); b_val = atk_state_set_contains_state (state_set1, ATK_STATE_BUSY); if (b_val) { g_print ("Contains state succeeded for ATK_STATE_BUSY but should not have\n"); return FALSE; } b_val = atk_state_set_contains_state (state_set1, ATK_STATE_VISIBLE); if (!b_val) { g_print ("Contains state failed for ATK_STATE_VISIBLE but should not have\n"); return FALSE; } b_val = atk_state_set_contains_states (state_set1, state_array, 3); if (b_val) { g_print ("Contains states succeeded should not have\n"); return FALSE; } b_val = atk_state_set_contains_states (state_set1, state_array, 2); if (!b_val) { g_print ("Contains states failed should not have\n"); return FALSE; } state_array[0] = ATK_STATE_SINGLE_LINE; state_array[1] = ATK_STATE_VISIBLE; state_array[2] = ATK_STATE_VERTICAL; state_set2 = atk_state_set_new(); atk_state_set_add_states (state_set2, state_array, 3); state_set3 = atk_state_set_and_sets (state_set1, state_set2); b_val = atk_state_set_contains_state (state_set3, ATK_STATE_VISIBLE); if (!b_val) { g_print ("Contains state failed for ATK_STATE_VISIBLE after and but should not have\n"); return FALSE; } b_val = atk_state_set_contains_state (state_set3, ATK_STATE_BUSY); if (b_val) { g_print ("Contains state succeeded for ATK_STATE_BUSY after and but should not have\n"); return FALSE; } g_object_unref (state_set3); atk_state_set_remove_state (state_set1, ATK_STATE_VISIBLE); state_set3 = atk_state_set_and_sets (state_set1, state_set2); if (state_set3) { g_print ("state_set 3 is not NULL after and but should be\n"); return FALSE; } state_set3 = atk_state_set_or_sets (state_set1, state_set2); b_val = atk_state_set_contains_state (state_set3, ATK_STATE_VISIBLE); if (!b_val) { g_print ("Contains state failed for ATK_STATE_VISIBLE after or but should not have\n"); return FALSE; } b_val = atk_state_set_contains_state (state_set3, ATK_STATE_INVALID); if (b_val) { g_print ("Contains state succeeded for ATK_STATE_INVALID after or but should not have\n"); return FALSE; } g_object_unref (state_set3); b_val = atk_state_set_add_state (state_set1, ATK_STATE_VISIBLE); if (!b_val) { g_print ("Adding new state set failed\n"); return FALSE; } state_set3 = atk_state_set_xor_sets (state_set1, state_set2); b_val = atk_state_set_contains_state (state_set3, ATK_STATE_VISIBLE); if (b_val) { g_print ("Contains state succeeded for ATK_STATE_VISIBLE after xor but should not have\n"); return FALSE; } b_val = atk_state_set_contains_state (state_set3, ATK_STATE_ACTIVE); if (!b_val) { g_print ("Contains state failed for ATK_STATE_ACTIVE after xor but should not have\n"); return FALSE; } atk_state_set_clear_states (state_set1); b_val = atk_state_set_contains_state (state_set1, ATK_STATE_ACTIVE); if (b_val) { g_print ("Contains state succeeded for ATK_STATE_ACTIVE but should not have\n"); return FALSE; } g_object_unref (state_set1); g_object_unref (state_set2); g_object_unref (state_set3); return TRUE; }