mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Fake edit level for tests and SQL backend.
These are cases where we don't want to commit, either because it would be circular (the backend is loading; committing the result back would at best waste time) or because we're testing some narrow functionality.
This commit is contained in:
parent
4d511218a5
commit
44ca77766a
@ -294,12 +294,14 @@ load_all_accounts( GncSqlBackend* be )
|
||||
{
|
||||
acct_balances_t* balances = (acct_balances_t*)bal->data;
|
||||
|
||||
qof_instance_increase_editlevel (balances->acct);
|
||||
g_object_set( balances->acct,
|
||||
"start-balance", &balances->balance,
|
||||
"start-cleared-balance", &balances->cleared_balance,
|
||||
"start-reconciled-balance", &balances->reconciled_balance,
|
||||
NULL);
|
||||
|
||||
qof_instance_decrease_editlevel (balances->acct);
|
||||
}
|
||||
if ( bal_slist != NULL )
|
||||
{
|
||||
@ -418,7 +420,9 @@ load_account_guid( const GncSqlBackend* be, GncSqlRow* row,
|
||||
{
|
||||
if ( table_row->gobj_param_name != NULL )
|
||||
{
|
||||
qof_instance_increase_editlevel (pObject);
|
||||
g_object_set( pObject, table_row->gobj_param_name, account, NULL );
|
||||
qof_instance_decrease_editlevel (pObject);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -115,7 +115,9 @@ load_address( const GncSqlBackend* be, GncSqlRow* row,
|
||||
}
|
||||
if ( table_row->gobj_param_name != NULL )
|
||||
{
|
||||
qof_instance_increase_editlevel (pObject);
|
||||
g_object_set( pObject, table_row->gobj_param_name, addr, NULL );
|
||||
qof_instance_decrease_editlevel (pObject);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1206,7 +1206,11 @@ const GncSqlColumnTableEntry* table_row )
|
||||
s = g_value_get_string( val );
|
||||
if ( table_row->gobj_param_name != NULL )
|
||||
{
|
||||
if (QOF_IS_INSTANCE (pObject))
|
||||
qof_instance_increase_editlevel (QOF_INSTANCE (pObject));
|
||||
g_object_set( pObject, table_row->gobj_param_name, s, NULL );
|
||||
if (QOF_IS_INSTANCE (pObject))
|
||||
qof_instance_decrease_editlevel (QOF_INSTANCE (pObject));
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1310,7 +1314,11 @@ load_int( const GncSqlBackend* be, GncSqlRow* row,
|
||||
}
|
||||
if ( table_row->gobj_param_name != NULL )
|
||||
{
|
||||
if (QOF_IS_INSTANCE (pObject))
|
||||
qof_instance_increase_editlevel (QOF_INSTANCE (pObject));
|
||||
g_object_set( pObject, table_row->gobj_param_name, int_value, NULL );
|
||||
if (QOF_IS_INSTANCE (pObject))
|
||||
qof_instance_decrease_editlevel (QOF_INSTANCE (pObject));
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1408,7 +1416,11 @@ load_boolean( const GncSqlBackend* be, GncSqlRow* row,
|
||||
}
|
||||
if ( table_row->gobj_param_name != NULL )
|
||||
{
|
||||
if (QOF_IS_INSTANCE (pObject))
|
||||
qof_instance_increase_editlevel (QOF_INSTANCE (pObject));
|
||||
g_object_set( pObject, table_row->gobj_param_name, int_value, NULL );
|
||||
if (QOF_IS_INSTANCE (pObject))
|
||||
qof_instance_decrease_editlevel (QOF_INSTANCE (pObject));
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1501,7 +1513,11 @@ load_int64( const GncSqlBackend* be, GncSqlRow* row,
|
||||
}
|
||||
if ( table_row->gobj_param_name != NULL )
|
||||
{
|
||||
if (QOF_IS_INSTANCE (pObject))
|
||||
qof_instance_increase_editlevel (QOF_INSTANCE (pObject));
|
||||
g_object_set( pObject, table_row->gobj_param_name, i64_value, NULL );
|
||||
if (QOF_IS_INSTANCE (pObject))
|
||||
qof_instance_decrease_editlevel (QOF_INSTANCE (pObject));
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1608,7 +1624,11 @@ load_double( const GncSqlBackend* be, GncSqlRow* row,
|
||||
}
|
||||
if ( table_row->gobj_param_name != NULL )
|
||||
{
|
||||
if (QOF_IS_INSTANCE (pObject))
|
||||
qof_instance_increase_editlevel (QOF_INSTANCE (pObject));
|
||||
g_object_set( pObject, table_row->gobj_param_name, d_value, NULL );
|
||||
if (QOF_IS_INSTANCE (pObject))
|
||||
qof_instance_decrease_editlevel (QOF_INSTANCE (pObject));
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1707,7 +1727,11 @@ load_guid( const GncSqlBackend* be, GncSqlRow* row,
|
||||
{
|
||||
if ( table_row->gobj_param_name != NULL )
|
||||
{
|
||||
if (QOF_IS_INSTANCE (pObject))
|
||||
qof_instance_increase_editlevel (QOF_INSTANCE (pObject));
|
||||
g_object_set( pObject, table_row->gobj_param_name, pGuid, NULL );
|
||||
if (QOF_IS_INSTANCE (pObject))
|
||||
qof_instance_decrease_editlevel (QOF_INSTANCE (pObject));
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1914,7 +1938,11 @@ load_timespec( const GncSqlBackend* be, GncSqlRow* row,
|
||||
{
|
||||
if (table_row->gobj_param_name != NULL)
|
||||
{
|
||||
if (QOF_IS_INSTANCE (pObject))
|
||||
qof_instance_increase_editlevel (QOF_INSTANCE (pObject));
|
||||
g_object_set( pObject, table_row->gobj_param_name, &ts, NULL );
|
||||
if (QOF_IS_INSTANCE (pObject))
|
||||
qof_instance_decrease_editlevel (QOF_INSTANCE (pObject));
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -2016,7 +2044,11 @@ load_date( const GncSqlBackend* be, GncSqlRow* row,
|
||||
g_date_time_unref (gdt);
|
||||
if ( table_row->gobj_param_name != NULL )
|
||||
{
|
||||
if (QOF_IS_INSTANCE (pObject))
|
||||
qof_instance_increase_editlevel (QOF_INSTANCE (pObject));
|
||||
g_object_set( pObject, table_row->gobj_param_name, date, NULL );
|
||||
if (QOF_IS_INSTANCE (pObject))
|
||||
qof_instance_increase_editlevel (QOF_INSTANCE (pObject));
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -2050,7 +2082,12 @@ load_date( const GncSqlBackend* be, GncSqlRow* row,
|
||||
date = g_date_new_dmy( day, month, year );
|
||||
if ( table_row->gobj_param_name != NULL )
|
||||
{
|
||||
g_object_set( pObject, table_row->gobj_param_name, date, NULL );
|
||||
if (QOF_IS_INSTANCE (pObject))
|
||||
qof_instance_increase_editlevel (QOF_INSTANCE (pObject));
|
||||
g_object_set (pObject, table_row->gobj_param_name,
|
||||
date, NULL);
|
||||
if (QOF_IS_INSTANCE (pObject))
|
||||
qof_instance_increase_editlevel (QOF_INSTANCE (pObject));
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -2189,7 +2226,11 @@ load_numeric( const GncSqlBackend* be, GncSqlRow* row,
|
||||
{
|
||||
if ( table_row->gobj_param_name != NULL )
|
||||
{
|
||||
if (QOF_IS_INSTANCE (pObject))
|
||||
qof_instance_increase_editlevel (QOF_INSTANCE (pObject));
|
||||
g_object_set( pObject, table_row->gobj_param_name, &n, NULL );
|
||||
if (QOF_IS_INSTANCE (pObject))
|
||||
qof_instance_increase_editlevel (QOF_INSTANCE (pObject));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -363,7 +363,9 @@ load_billterm_guid( const GncSqlBackend* be, GncSqlRow* row,
|
||||
{
|
||||
if ( table_row->gobj_param_name != NULL )
|
||||
{
|
||||
qof_instance_increase_editlevel (pObject);
|
||||
g_object_set( pObject, table_row->gobj_param_name, term, NULL );
|
||||
qof_instance_decrease_editlevel (pObject);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -500,7 +500,9 @@ load_budget_guid( const GncSqlBackend* be, GncSqlRow* row,
|
||||
{
|
||||
if ( table_row->gobj_param_name != NULL )
|
||||
{
|
||||
qof_instance_increase_editlevel (pObject);
|
||||
g_object_set( pObject, table_row->gobj_param_name, budget, NULL );
|
||||
qof_instance_decrease_editlevel (pObject);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -283,7 +283,9 @@ load_commodity_guid( const GncSqlBackend* be, GncSqlRow* row,
|
||||
{
|
||||
if ( table_row->gobj_param_name != NULL )
|
||||
{
|
||||
qof_instance_increase_editlevel (pObject);
|
||||
g_object_set( pObject, table_row->gobj_param_name, commodity, NULL );
|
||||
qof_instance_decrease_editlevel (pObject);
|
||||
}
|
||||
else if ( setter != NULL )
|
||||
{
|
||||
|
@ -303,7 +303,9 @@ load_invoice_guid( const GncSqlBackend* be, GncSqlRow* row,
|
||||
{
|
||||
if ( table_row->gobj_param_name != NULL )
|
||||
{
|
||||
qof_instance_increase_editlevel (pObject);
|
||||
g_object_set( pObject, table_row->gobj_param_name, invoice, NULL );
|
||||
qof_instance_decrease_editlevel (pObject);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -235,7 +235,9 @@ load_lot_guid( const GncSqlBackend* be, GncSqlRow* row,
|
||||
{
|
||||
if ( table_row->gobj_param_name != NULL )
|
||||
{
|
||||
qof_instance_increase_editlevel (pObject);
|
||||
g_object_set( pObject, table_row->gobj_param_name, lot, NULL );
|
||||
qof_instance_decrease_editlevel (pObject);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -220,7 +220,9 @@ load_order_guid( const GncSqlBackend* be, GncSqlRow* row,
|
||||
{
|
||||
if ( table_row->gobj_param_name != NULL )
|
||||
{
|
||||
qof_instance_increase_editlevel (pObject);
|
||||
g_object_set( pObject, table_row->gobj_param_name, order, NULL );
|
||||
qof_instance_decrease_editlevel (pObject);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -156,7 +156,9 @@ load_owner( const GncSqlBackend* be, GncSqlRow* row,
|
||||
|
||||
if ( table_row->gobj_param_name != NULL )
|
||||
{
|
||||
qof_instance_increase_editlevel (pObject);
|
||||
g_object_set( pObject, table_row->gobj_param_name, &owner, NULL );
|
||||
qof_instance_decrease_editlevel (pObject);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -523,7 +523,9 @@ load_taxtable_guid( const GncSqlBackend* be, GncSqlRow* row,
|
||||
{
|
||||
if ( table_row->gobj_param_name != NULL )
|
||||
{
|
||||
qof_instance_increase_editlevel (pObject);
|
||||
g_object_set( pObject, table_row->gobj_param_name, taxtable, NULL );
|
||||
qof_instance_decrease_editlevel (pObject);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -393,6 +393,7 @@ query_transactions( GncSqlBackend* be, GncSqlStatement* stmt )
|
||||
"end-reconciled-balance", &pnew_end_r_bal,
|
||||
NULL );
|
||||
|
||||
qof_instance_increase_editlevel (balns-acc);
|
||||
if ( !gnc_numeric_eq( *pnew_end_bal, balns->end_bal ) )
|
||||
{
|
||||
adj = gnc_numeric_sub( balns->end_bal, *pnew_end_bal,
|
||||
@ -400,6 +401,7 @@ query_transactions( GncSqlBackend* be, GncSqlStatement* stmt )
|
||||
balns->start_bal = gnc_numeric_add( balns->start_bal, adj,
|
||||
GNC_DENOM_AUTO, GNC_HOW_DENOM_LCD );
|
||||
g_object_set( balns->acc, "start-balance", &balns->start_bal, NULL );
|
||||
qof_instance_decrease_editlevel (balns-acc);
|
||||
}
|
||||
if ( !gnc_numeric_eq( *pnew_end_c_bal, balns->end_cleared_bal ) )
|
||||
{
|
||||
@ -417,6 +419,7 @@ query_transactions( GncSqlBackend* be, GncSqlStatement* stmt )
|
||||
GNC_DENOM_AUTO, GNC_HOW_DENOM_LCD );
|
||||
g_object_set( balns->acc, "start-reconciled-balance", &balns->start_reconciled_bal, NULL );
|
||||
}
|
||||
qof_instance_decrease_editlevel (balns-acc);
|
||||
xaccAccountRecomputeBalance( balns->acc );
|
||||
g_free( pnew_end_bal );
|
||||
g_free( pnew_end_c_bal );
|
||||
@ -1429,7 +1432,9 @@ load_tx_guid( const GncSqlBackend* be, GncSqlRow* row,
|
||||
{
|
||||
if ( table_row->gobj_param_name != NULL )
|
||||
{
|
||||
qof_instance_increase_editlevel (pObject);
|
||||
g_object_set( pObject, table_row->gobj_param_name, tx, NULL );
|
||||
qof_instance_decrease_editlevel (pObject);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -33,6 +33,7 @@
|
||||
#include "cashobjects.h"
|
||||
#include "test-stuff.h"
|
||||
#include "test-engine-stuff.h"
|
||||
#include <qofinstance-p.h>
|
||||
|
||||
static void
|
||||
run_test (void)
|
||||
@ -61,7 +62,9 @@ run_test (void)
|
||||
/*****/
|
||||
|
||||
five = gnc_numeric_create(5, 1);
|
||||
qof_instance_increase_editlevel (acc);
|
||||
g_object_set(acc, "start-balance", &five, NULL);
|
||||
qof_instance_decrease_editlevel (acc);
|
||||
xaccAccountRecomputeBalance(acc);
|
||||
g_object_get(acc, "start-balance", &start, "end-balance", &end, NULL);
|
||||
end2 = xaccAccountGetBalance(acc);
|
||||
|
@ -445,11 +445,11 @@ test_gnc_account_name_violations_errmsg ()
|
||||
message = gnc_account_name_violations_errmsg (separator, nonames);
|
||||
g_assert (message == NULL);
|
||||
validation_message = g_strdup_printf (
|
||||
"The separator character \"%s\" is used in one or more account "
|
||||
"names.\n\nThis will result in unexpected behaviour. "
|
||||
"Either change the account names or choose another separator "
|
||||
"character.\n\nBelow you will find the list of invalid account names:\n"
|
||||
"%s", separator, account_list);
|
||||
"The separator character \"%s\" is used in one or more account "
|
||||
"names.\n\nThis will result in unexpected behaviour. "
|
||||
"Either change the account names or choose another separator "
|
||||
"character.\n\nBelow you will find the list of invalid account names:\n"
|
||||
"%s", separator, account_list);
|
||||
message = gnc_account_name_violations_errmsg (separator, badnames);
|
||||
g_assert_cmpstr ( message, == , validation_message);
|
||||
g_free (validation_message);
|
||||
@ -1357,6 +1357,8 @@ test_xaccAccountOrder ( )
|
||||
g_assert (xaccAccountOrder (ab, aa) == 1);
|
||||
|
||||
ab = xaccMallocAccount (book);
|
||||
qof_instance_increase_editlevel (aa);
|
||||
qof_instance_increase_editlevel (ab);
|
||||
g_object_set (G_OBJECT (aa),
|
||||
"code", "3333",
|
||||
"type", ACCT_TYPE_ASSET,
|
||||
@ -1399,6 +1401,8 @@ test_xaccAccountOrder ( )
|
||||
"name", "bar",
|
||||
NULL);
|
||||
g_assert_cmpint (xaccAccountOrder (aa, ab), < , 0);
|
||||
qof_instance_decrease_editlevel (aa);
|
||||
qof_instance_decrease_editlevel (ab);
|
||||
|
||||
xaccAccountBeginEdit (aa);
|
||||
xaccAccountDestroy (aa);
|
||||
@ -2158,7 +2162,9 @@ test_xaccAccountType_Stuff (void)
|
||||
g_assert_cmpstr (typestr_uc, == , typename);
|
||||
g_free (typestr_uc);
|
||||
|
||||
qof_instance_increase_editlevel (acc);
|
||||
g_object_set (acc, "type", type, NULL);
|
||||
qof_instance_decrease_editlevel (acc);
|
||||
if (type == ACCT_TYPE_STOCK || type == ACCT_TYPE_MUTUAL ||
|
||||
type == ACCT_TYPE_CURRENCY)
|
||||
g_assert (xaccAccountIsPriced (acc));
|
||||
@ -2402,11 +2408,13 @@ test_gnc_account_merge_children (Fixture *fixture, gconstpointer pData)
|
||||
*/
|
||||
sig4 = test_signal_new (QOF_INSTANCE (div), QOF_EVENT_MODIFY, NULL);
|
||||
sig5 = test_signal_new (QOF_INSTANCE (div1), QOF_EVENT_MODIFY, NULL);
|
||||
qof_instance_increase_editlevel (div1);
|
||||
g_object_set (div1, "name", "div", NULL);
|
||||
qof_instance_decrease_editlevel (div1);
|
||||
gnc_account_merge_children (taxable);
|
||||
g_assert_cmpint (gnc_account_n_descendants (taxable), == , taxable_desc - 1);
|
||||
test_signal_assert_hits (sig4, 1);
|
||||
test_signal_assert_hits (sig5, 4);
|
||||
test_signal_assert_hits (sig5, 3);
|
||||
test_signal_free (sig4);
|
||||
test_signal_free (sig5);
|
||||
gnc_account_merge_children (expense);
|
||||
|
@ -458,9 +458,11 @@ test_xaccSplitEqual (Fixture *fixture, gconstpointer pData)
|
||||
split1->parent = fixture->split->parent;
|
||||
g_assert (xaccSplitEqual (fixture->split, split1, FALSE, TRUE, TRUE) == TRUE);
|
||||
/* Now set the GUIDs equal and see that the comparison passes */
|
||||
qof_instance_increase_editlevel (split1->parent);
|
||||
g_object_set (G_OBJECT (split1),
|
||||
"guid", qof_instance_get_guid (QOF_INSTANCE(fixture->split)),
|
||||
NULL);
|
||||
qof_instance_increase_editlevel (split1->parent);
|
||||
g_assert (xaccSplitEqual (fixture->split, split1, TRUE, TRUE, TRUE) == TRUE);
|
||||
g_assert_cmpint (checkA.hits, ==, 3);
|
||||
g_assert_cmpint (checkB.hits, ==, 1);
|
||||
@ -597,10 +599,12 @@ test_xaccSplitCommitEdit (Fixture *fixture, gconstpointer pData)
|
||||
g_assert_cmpint (checkB.hits, ==, 2);
|
||||
|
||||
qof_instance_mark_clean (QOF_INSTANCE (fixture->split->parent));
|
||||
qof_instance_increase_editlevel (fixture->split->acc);
|
||||
g_object_set (fixture->split->acc,
|
||||
"sort-dirty", FALSE,
|
||||
"balance-dirty", FALSE,
|
||||
NULL);
|
||||
qof_instance_decrease_editlevel (fixture->split->acc);
|
||||
|
||||
qof_instance_set_dirty (QOF_INSTANCE (fixture->split));
|
||||
xaccSplitCommitEdit (fixture->split);
|
||||
|
Loading…
Reference in New Issue
Block a user