Completed
Pull Request — master (#16)
by Sergii
07:37
created

DatePickerBase::jQuery()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 1
1
<?php
2
/**
3
 * @author Sergii Bondarenko, <[email protected]>
4
 */
5
namespace Drupal\TqExtension\Utils\DatePicker;
6
7
// Contexts.
8
use Drupal\TqExtension\Context\RawTqContext;
9
// Helpers.
10
use Behat\Mink\Session;
11
use Behat\Mink\Element\NodeElement;
12
use Behat\DebugExtension\Debugger;
13
14
abstract class DatePickerBase implements DatePickerInterface
15
{
16
    use Debugger;
17
18
    /**
19
     * @var RawTqContext
20
     */
21
    protected $context;
22
    /**
23
     * @var NodeElement
24
     */
25
    protected $element;
26
    /**
27
     * @var Session
28
     */
29
    protected $session;
30
    /**
31
     * @var string
32
     */
33
    protected $date = '';
34
35
    /**
36
     * @param RawTqContext $context
37
     *   Behat context.
38
     * @param Session $session
39
     *   Behat session.
40
     * @param NodeElement $element
41
     *   Element selector.
42
     * @param string $date
43
     *   Human-readable date.
44
     */
45
    public function __construct(RawTqContext $context, Session $session, NodeElement $element, $date)
46
    {
47
        $this->context = $context;
48
        $this->session = $session;
49
        $this->element = $element;
50
        $this->date = $date;
51
52
        $this->initialize();
53
    }
54
55
    protected function jQuery($script)
56
    {
57
        return $this->context->executeJsOnElement($this->element, "return jQuery({{ELEMENT}}).$script");
58
    }
59
60
    abstract public function initialize();
61
}
62