Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
doctrine-dbal
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Tomáš Trávníček
doctrine-dbal
Commits
3f9ffc28
Commit
3f9ffc28
authored
Feb 01, 2007
by
zYne
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
some mocks added for testing purposes
parent
e2cb1585
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
305 additions
and
0 deletions
+305
-0
Mock.php
lib/Doctrine/Adapter/Mock.php
+150
-0
Interface.php
lib/Doctrine/Adapter/Statement/Interface.php
+93
-0
Mock.php
lib/Doctrine/Adapter/Statement/Mock.php
+62
-0
No files found.
lib/Doctrine/Adapter/Mock.php
0 → 100644
View file @
3f9ffc28
<?php
/*
* $Id$
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the LGPL. For more information, see
* <http://www.phpdoctrine.com>.
*/
/**
* Doctrine_Adapter_Mock
* This class is used for special testing purposes.
*
* @package Doctrine
* @subpackage Doctrine_Adapter
* @author Konsta Vesterinen <kvesteri@cc.hut.fi>
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @category Object Relational Mapping
* @link www.phpdoctrine.com
* @since 1.0
* @version $Revision$
*/
class
Doctrine_Adapter_Mock
implements
Doctrine_Adapter_Interface
{
private
$name
;
private
$queries
=
array
();
private
$exception
=
array
();
private
$lastInsertIdFail
=
false
;
public
function
__construct
(
$name
=
null
)
{
$this
->
name
=
$name
;
}
public
function
getName
()
{
return
$this
->
name
;
}
public
function
pop
()
{
return
array_pop
(
$this
->
queries
);
}
public
function
forceException
(
$name
,
$message
=
''
,
$code
=
0
)
{
$this
->
exception
=
array
(
$name
,
$message
,
$code
);
}
public
function
prepare
(
$query
)
{
return
new
Doctrine_Adapter_Statement_Mock
(
$this
,
$query
);
}
public
function
addQuery
(
$query
)
{
$this
->
queries
[]
=
$query
;
}
public
function
query
(
$query
)
{
$this
->
queries
[]
=
$query
;
$e
=
$this
->
exception
;
if
(
!
empty
(
$e
))
{
$name
=
$e
[
0
];
$this
->
exception
=
array
();
throw
new
$name
(
$e
[
1
],
$e
[
2
]);
}
return
new
Doctrine_Adapter_Statement_Mock
(
$this
,
$query
);
}
public
function
getAll
()
{
return
$this
->
queries
;
}
public
function
quote
(
$input
)
{
return
"'"
.
addslashes
(
$input
)
.
"'"
;
}
public
function
exec
(
$statement
)
{
$this
->
queries
[]
=
$statement
;
$e
=
$this
->
exception
;
if
(
!
empty
(
$e
))
{
$name
=
$e
[
0
];
$this
->
exception
=
array
();
throw
new
$name
(
$e
[
1
],
$e
[
2
]);
}
return
0
;
}
public
function
forceLastInsertIdFail
(
$fail
=
true
)
{
if
(
$fail
)
{
$this
->
lastInsertIdFail
=
true
;
}
else
{
$this
->
lastInsertIdFail
=
false
;
}
}
public
function
lastInsertId
()
{
$this
->
queries
[]
=
'LAST_INSERT_ID()'
;
if
(
$this
->
lastInsertIdFail
)
{
return
null
;
}
else
{
return
1
;
}
}
public
function
beginTransaction
()
{
$this
->
queries
[]
=
'BEGIN TRANSACTION'
;
}
public
function
commit
()
{
$this
->
queries
[]
=
'COMMIT'
;
}
public
function
rollBack
()
{
$this
->
queries
[]
=
'ROLLBACK'
;
}
public
function
errorCode
()
{
}
public
function
errorInfo
()
{
}
public
function
getAttribute
(
$attribute
)
{
if
(
$attribute
==
PDO
::
ATTR_DRIVER_NAME
)
return
strtolower
(
$this
->
name
);
}
public
function
setAttribute
(
$attribute
,
$value
)
{
}
}
lib/Doctrine/Adapter/Statement/Interface.php
0 → 100644
View file @
3f9ffc28
<?php
/*
* $Id$
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the LGPL. For more information, see
* <http://www.phpdoctrine.com>.
*/
/**
* Doctrine_Adapter_Statement
*
* @author Konsta Vesterinen <kvesteri@cc.hut.fi>
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @package Doctrine
* @category Object Relational Mapping
* @link www.phpdoctrine.com
* @since 1.0
* @version $Revision$
*/
interface
Doctrine_Adapter_Statement_Interface
{
/**
* bindColumn
* Bind a column to a PHP variable
*
* @param mixed $column Number of the column (1-indexed) or name of the column in the result set.
* If using the column name, be aware that the name should match
* the case of the column, as returned by the driver.
* @param string $param Name of the PHP variable to which the column will be bound.
* @param integer $type Data type of the parameter, specified by the Doctrine::PARAM_* constants.
* @return boolean Returns TRUE on success or FALSE on failure
*/
public
function
bindColumn
(
$column
,
$param
,
$type
=
null
);
/**
* bindValue
* Binds a value to a corresponding named or question mark
* placeholder in the SQL statement that was use to prepare the statement.
*
* @param mixed $param Parameter identifier. For a prepared statement using named placeholders,
* this will be a parameter name of the form :name. For a prepared statement
* using question mark placeholders, this will be the 1-indexed position of the parameter
* @param mixed $value The value to bind to the parameter.
* @param integer $type Explicit data type for the parameter using the Doctrine::PARAM_* constants.
* @return boolean Returns TRUE on success or FALSE on failure.
*/
public
function
bindValue
(
$param
,
$value
,
$type
=
null
);
/**
* bindParam
* Binds a PHP variable to a corresponding named or question mark placeholder in the
* SQL statement that was use to prepare the statement. Unlike Doctrine_Adapter_Statement_Interface->bindValue(),
* the variable is bound as a reference and will only be evaluated at the time
* that Doctrine_Adapter_Statement_Interface->execute() is called.
*
* Most parameters are input parameters, that is, parameters that are
* used in a read-only fashion to build up the query. Some drivers support the invocation
* of stored procedures that return data as output parameters, and some also as input/output
* parameters that both send in data and are updated to receive it.
*
* @param mixed $param Parameter identifier. For a prepared statement using named placeholders,
* this will be a parameter name of the form :name. For a prepared statement
* using question mark placeholders, this will be the 1-indexed position of the parameter
* @param mixed $variable Name of the PHP variable to bind to the SQL statement parameter.
* @param integer $type Explicit data type for the parameter using the Doctrine::PARAM_* constants. To return
* an INOUT parameter from a stored procedure, use the bitwise OR operator to set the
* Doctrine::PARAM_INPUT_OUTPUT bits for the data_type parameter.
* @param integer $length Length of the data type. To indicate that a parameter is an OUT parameter
* from a stored procedure, you must explicitly set the length.
* @param mixed $driverOptions
* @return boolean Returns TRUE on success or FALSE on failure.
*/
public
function
bindParam
(
$column
,
$variable
,
$type
=
null
,
$length
=
null
,
$driverOptions
);
public
function
closeCursor
();
public
function
fetch
();
public
function
nextRowset
();
public
function
execute
();
public
function
errorCode
();
public
function
errorInfo
();
public
function
rowCount
();
public
function
setFetchMode
(
$mode
);
public
function
columnCount
();
}
lib/Doctrine/Adapter/Statement/Mock.php
0 → 100644
View file @
3f9ffc28
<?php
/*
* $Id$
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the LGPL. For more information, see
* <http://www.phpdoctrine.com>.
*/
/**
* Doctrine_Adapter_Statement_Mock
* This class is used for special testing purposes.
*
* @package Doctrine
* @subpackage Doctrine_Adapter
* @author Konsta Vesterinen <kvesteri@cc.hut.fi>
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @category Object Relational Mapping
* @link www.phpdoctrine.com
* @since 1.0
* @version $Revision$
*/
class
Doctrine_Adapter_Statement_Mock
{
private
$mock
;
private
$query
;
public
function
__construct
(
Doctrine_Adapter_Mock
$mock
,
$query
)
{
$this
->
mock
=
$mock
;
$this
->
query
=
$query
;
}
public
function
fetch
(
$fetchMode
)
{
return
array
();
}
public
function
fetchAll
(
$fetchMode
)
{
return
array
();
}
public
function
execute
()
{
$this
->
mock
->
addQuery
(
$this
->
query
);
return
true
;
}
public
function
fetchColumn
(
$colnum
=
0
)
{
return
0
;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment