本文整理汇总了PHP中WP_Mock::wpFunction方法的典型用法代码示例。如果您正苦于以下问题:PHP WP_Mock::wpFunction方法的具体用法?PHP WP_Mock::wpFunction怎么用?PHP WP_Mock::wpFunction使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WP_Mock
的用法示例。
在下文中一共展示了WP_Mock::wpFunction方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setUp
public function setUp()
{
\WP_Mock::setUp();
\WP_Mock::wpFunction('stripslashes_deep', ['return' => function ($array) {
return $array;
}]);
}
示例2: testSetupMetaBoxesNotPostOrPage
public function testSetupMetaBoxesNotPostOrPage()
{
\WP_Mock::wpFunction('add_meta_box', ['times' => 0]);
\WP_Mock::onFilter('dxw_content_review_post_types')->with(['post', 'page'])->reply(['meow']);
\Dxw_Content_Review\Dxw_Content_Review::setup_meta_boxes('post');
\Dxw_Content_Review\Dxw_Content_Review::setup_meta_boxes('page');
}
示例3: testTaxonomyWithExistingToAndFromExpectsTaxonomiesMigrated
/**
* Tests our ability to mock the cli interface
*
* @group wip
* @covers taxonomy
*
*/
function testTaxonomyWithExistingToAndFromExpectsTaxonomiesMigrated()
{
// arrange
$args = $this->validTaxonomyArgs;
$assoc_args = array('post_type' => 'post');
$this->posts['args'] = $args + $assoc_args;
var_dump($this->posts);
$mock = $this->getMockBuilder('\\CFPB\\Migrate_Command')->setMethods(array('get_specified_posts'))->getMock();
$mock->expects($this->once())->method('get_specified_posts')->will($this->returnValue($this->posts));
$new_term0 = array('slug' => 'term');
$new_term1 = array('slug' => 'another');
// mock taxonomy_exists form the WordPress API which we expect to be fired exactly twice
\WP_Mock::wpFunction('taxonomy_exists', array('times' => 2, 'return' => true));
// mock wp_get_post_terms from the WordPress API which we expect to fire exactly twice
$terms = \WP_Mock::wpFunction('wp_get_post_terms', array('times' => 2, 'with' => array(array($this->post0->ID, $args[0]), array($this->post1->ID, $args[0])), 'return' => $this->terms));
// mock wp_insert_term from the WordPress API which we expect to fire exactly twice
$new_term = \WP_Mock::wpFunction('wp_insert_term', array('times' => 2, 'with' => array(array($this->term0->name, $args[1], array('slug' => $this->term0->slug))), 'return' => array('term_id' => 0, 'term_id' => 1)));
// we expect get_term to fire twice with
\WP_Mock::wpFunction('get_term', array('times' => 2, 'with' => array(array(1, $args[1])), 'return' => $this->term0));
// we expect wp_set_objec_terms to fire twice
\WP_Mock::wpFunction('wp_set_object_terms', array('times' => 2, 'return' => true));
$cli = $this->cli->getMock();
$cli->expects($this->once())->method('success')->will($this->returnValue('Success'));
// act
$action = $mock->taxonomy($args, $assoc_args);
$this->assertTrue($action == 'Success');
}
示例4: test_load_message_scenarios
public function test_load_message_scenarios()
{
$defaults = array('days' => 30, 'limit' => 50);
$_GET = array('nonce' => true);
$_POST = $defaults;
$instance = Mockery::mock('RevisionStrike')->makePartial();
$instance->shouldReceive('strike')->with($defaults);
$instance->shouldReceive('get_stats')->times(3)->andReturn(array('count' => 0), array('count' => 5, 'deleted' => 0), array('count' => 5, 'deleted' => 5));
M::wpFunction('wp_verify_nonce', array('return' => true));
M::wpFunction('_n', array('times' => 1, 'return' => '%d post revisions'));
M::wpPassthruFunction('wp_nonce_url');
M::wpPassthruFunction('submit_button');
// Pass 1: no revisions found
ob_start();
include $this->tools_file;
$result = ob_get_contents();
ob_end_clean();
$this->assertContains('<div class="error"><p>', $result, 'No revisions found did not trigger an error message');
// Pass 2: revisions found, but nothing deleted
ob_start();
include $this->tools_file;
$result = ob_get_contents();
ob_end_clean();
$this->assertContains('<div class="error"><p>', $result, 'The user should be warned when revisions were found be we can\'t delete them');
// Pass 3: revisions deleted successfully
ob_start();
include $this->tools_file;
$result = ob_get_contents();
ob_end_clean();
$this->assertContains('<div class="updated"><p>', $result, 'Notify the user when revisions are deleted');
$this->assertContains('5 post revisions', $result, 'Display the number of revisions that were removed.');
unset($_GET, $_POST);
}
示例5: test_customize_meta_boxes
public function test_customize_meta_boxes()
{
$testee = new Testee();
WP_Mock::wpFunction('remove_meta_box', array('times' => 1, 'args' => array(WP_Mock\Functions::type('string'), WP_Mock\Functions::type('string'), WP_Mock\Functions::type('string'))));
$testee->customize_meta_boxes();
$this->assertConditionsMet();
}
示例6: test_content_type
public function test_content_type()
{
$plugin = new Plugin();
\WP_Mock::wpFunction('register_post_type', array('times' => 3, 'arg' => array('lnh_matches')));
\WP_Mock::wpFunction('get_option', array('times' => 1, 'arg' => array('lnh_equipe_handball'), 'return' => array('equipe' => 'toulouse', 'classement' => '1', 'joueurs' => '1', 'calendrier' => '1')));
$plugin->createContentType();
}
示例7: testToString
public function testToString()
{
$layout = new \Dxw\Iguana\Theme\Layout();
$layout->slug = 'slug';
\WP_Mock::onFilter('roots_wrap_slug')->with(['layouts/main.php'])->reply(['layouts/my-layout.php']);
\WP_Mock::wpFunction('locate_template', ['args' => [['layouts/my-layout.php']], 'return' => 'correct output']);
$this->assertEquals('correct output', $layout->__toString());
}
示例8: test_checkAjaxReferer
public function test_checkAjaxReferer()
{
$action = 'nonce_action';
$query_arg = '_wpnonce_name';
$myNonce = new WPnonce($action);
\WP_Mock::wpFunction('check_ajax_referer', array('times' => 1, 'args' => array($myNonce->getAction(), $query_arg, true), 'return' => true));
$this->assertTrue($myNonce->checkAjaxReferer($query_arg, true));
}
示例9: test_meta_box_save_rejects_invalid_before_or_after_setting
public function test_meta_box_save_rejects_invalid_before_or_after_setting()
{
$cpt = new CPT();
WP_Mock::wpFunction('wp_verify_nonce', array('times' => 1, 'args' => array('nonce-value', 'itelic-renewal-reminders-metabox'), 'return' => true));
WP_Mock::wpFunction('update_post_meta', array('times' => 1, 'args' => array(1, '_itelic_renewal_reminder_days', 3), 'return' => true));
WP_Mock::wpFunction('update_post_meta', array('times' => 1, 'args' => array(1, '_itelic_renewal_reminder_boa', 'before'), 'return' => true));
$cpt->do_save(1, array('itelic_reminder_nonce' => 'nonce-value', 'itelic_reminder' => array('days' => 3, 'boa' => 'garbage')));
}
示例10: test_activate
/**
* Test activation routine.
*/
public function test_activate()
{
// Setup
\WP_Mock::wpFunction('flush_rewrite_rules', array('times' => 1));
// Act
activate();
// Verify
$this->assertConditionsMet();
}
示例11: test_update
/**
* @covers tfrommen\ThatWasHelpful\Controllers\Update::update
* @dataProvider provide_update_data
*
* @param bool $expected
* @param string $version
* @param string $old_version
*
* @return void
*/
public function test_update($expected, $version, $old_version)
{
$testee = new Testee($version);
WP_Mock::wpFunction('get_option', array('times' => 1, 'args' => array(Mockery::type('string')), 'return' => $old_version));
if ($old_version !== $version) {
WP_Mock::wpFunction('update_option', array('times' => 1, 'args' => array(Mockery::type('string'), $version)));
}
$this->assertSame($expected, $testee->update());
$this->assertConditionsMet();
}
示例12: test_interval_after
public function test_interval_after()
{
$post = new WP_Post((object) array('post_type' => Reminder\CPT::TYPE, 'ID' => 1));
WP_Mock::wpFunction('get_post_meta', array('times' => 1, 'args' => array(1, '_itelic_renewal_reminder_days', true), 'return' => 5));
WP_Mock::wpFunction('get_post_meta', array('times' => 1, 'args' => array(1, '_itelic_renewal_reminder_boa', true), 'return' => Reminder::TYPE_AFTER));
$reminder = new Reminder($post);
$expects = new DateInterval('P5D');
$expects->invert = true;
$this->assertEquals($expects, $reminder->get_interval());
}
示例13: plugin
protected function plugin()
{
// functions used as part of constructor
Mock::wpPassthruFunction('untrailingslashit');
Mock::wpFunction('plugin_dir_path', array('args' => bootstrap()->get_framework_path() . '/woocommerce/class-sv-wc-plugin.php', 'return' => bootstrap()->get_framework_path() . '/woocommerce'));
Mock::wpFunction('is_admin', array('return' => true));
Mock::wpPassthruFunction('plugin_basename');
Mock::wpFunction('has_action', array('return' => true));
$args = array('mock', '7.7.7', 'woocommerce-mock', 'args' => array('dependencies' => 'json', 'function_dependencies' => 'ftp_ssl_connect'));
return $this->getMockBuilder('SV_WC_Plugin')->setConstructorArgs($args)->getMockForAbstractClass();
}
示例14: setUp
public function setUp()
{
\WP_Mock::setUp();
\WP_Mock::wpFunction('stripslashes_deep', ['return' => function ($array) {
$newArray = [];
foreach ($array as $k => $v) {
$newArray[$k] = stripslashes($v);
}
return $newArray;
}]);
}
示例15: test_not_valid
public function test_not_valid()
{
$query = Mockery::mock('WP_Query');
$query->in_the_loop = true;
$query->shouldReceive('have_posts')->once()->andReturn(false);
$query->shouldReceive('rewind_posts')->once();
$query->shouldReceive('the_post')->never();
WP_Mock::wpFunction('wp_reset_postdata', array('times' => 1));
$object = new Loopable_Query($query);
$this->assertFalse($object->valid(), 'valid() did not return true when have_posts() did!');
}