示例#1
0
文件: init.php 项目: Ramoonus/ingot
 /**
  * Setup tests if possible
  *
  * @since 0.0.9
  *
  * @access protected
  *
  * @param array $tests
  */
 protected function setup_tests($tests)
 {
     if (!empty($tests)) {
         foreach ($tests as $test_detail) {
             $plugin = helpers::v('plugin', $test_detail, 0);
             if (is_string($plugin) && ingot_acceptable_plugin_for_price_test($plugin)) {
                 $class_name = $this->class_name($plugin);
                 if (class_exists($class_name)) {
                     $this->tests[$plugin] = helpers::v('plugin', 'test_ID', 0);
                     $this->increase_total($test_detail);
                     $this->add_to_product_map($test_detail);
                     new $class_name($test_detail['test_ID'], helpers::v('a_or_b', $test_detail, 'a'));
                 }
             }
         }
     }
 }
示例#2
0
 /**
  * Get price of a product
  *
  * @since 1.1.0
  *
  * @param string $plugin Plugin slug edd|woo
  * @param int $id Product ID
  *
  * @return string
  */
 public static function get_price($plugin, $id)
 {
     if (ingot_acceptable_plugin_for_price_test($plugin)) {
         $price_callback = self::get_price_callback($plugin);
         if ($price_callback && is_callable($price_callback)) {
             $price = call_user_func($price_callback, $id);
             return ingot_sanitize_amount($price);
         }
     }
     return ingot_sanitize_amount(0);
 }
示例#3
0
 /**
  * Test checking validity of price sub_type with filter
  *
  * @since 1.1.0
  *
  * @group price
  * @group helpers
  *
  * @covers ingot_acceptable_plugin_for_price_test()
  * @covers ingot_accepted_plugins_for_price_tests()
  * @covers \ingot\testing\types::allowed_price_types()
  */
 public function testAllowedSubTypesFilter()
 {
     add_filter('ingot_accepted_plugins_for_price_tests', function ($plugins) {
         $plugins['roy2020'] = 'Roy!';
         return $plugins;
     });
     $this->assertTrue(in_array('roy2020', \ingot\testing\types::allowed_price_types()));
     $this->assertTrue(ingot_acceptable_plugin_for_price_test('roy2020'));
     $this->assertTrue(in_array('roy2020', ingot_accepted_plugins_for_price_tests()));
     foreach (['woo', 'edd'] as $plugin) {
         $this->assertTrue(in_array($plugin, \ingot\testing\types::allowed_price_types()));
         $this->assertTrue(ingot_acceptable_plugin_for_price_test($plugin));
         $this->assertTrue(in_array($plugin, ingot_accepted_plugins_for_price_tests()));
     }
 }