66 lines
1.3 KiB
MySQL
66 lines
1.3 KiB
MySQL
|
/*
|
||
|
* Utility functions used by unit tests
|
||
|
*
|
||
|
* I18N string creation and access
|
||
|
*/
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Function that returns an invalid string identifier.
|
||
|
*/
|
||
|
CREATE FUNCTION _get_bad_string( ) RETURNS INT AS $$
|
||
|
SELECT MAX( id ) + 1 FROM defs.strings;
|
||
|
$$ LANGUAGE SQL;
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Function that returns a language's identifier
|
||
|
*/
|
||
|
CREATE FUNCTION _get_language( TEXT ) RETURNS INT AS $$
|
||
|
SELECT id FROM defs.languages WHERE language = $1;
|
||
|
$$ LANGUAGE SQL;
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Function that returns a string's identifier
|
||
|
*/
|
||
|
CREATE FUNCTION _get_string( TEXT ) RETURNS INT AS $$
|
||
|
SELECT id FROM defs.strings WHERE name = $1;
|
||
|
$$ LANGUAGE SQL;
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Function that creates some quantity of test strings
|
||
|
*/
|
||
|
CREATE FUNCTION _create_test_strings( _quantity INT )
|
||
|
RETURNS VOID
|
||
|
AS $$
|
||
|
DECLARE
|
||
|
i INT;
|
||
|
BEGIN
|
||
|
PERFORM _create_test_strings( _quantity , 'test' );
|
||
|
END;
|
||
|
$$ LANGUAGE PLPGSQL;
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Function that creates some quantity of test strings using a specific prefix
|
||
|
*/
|
||
|
CREATE FUNCTION _create_test_strings( _quantity INT , _prefix TEXT )
|
||
|
RETURNS VOID
|
||
|
AS $$
|
||
|
DECLARE
|
||
|
i INT;
|
||
|
BEGIN
|
||
|
PERFORM defs.uoc_language( 't' , 'Test' );
|
||
|
|
||
|
i := 0;
|
||
|
WHILE i < _quantity
|
||
|
LOOP
|
||
|
i := i + 1;
|
||
|
PERFORM defs.uoc_translation( 't' , _prefix || i::TEXT ,
|
||
|
'Test string #' || i::TEXT );
|
||
|
END LOOP;
|
||
|
END;
|
||
|
$$ LANGUAGE PLPGSQL;
|