File tree Expand file tree Collapse file tree 2 files changed +25
-6
lines changed
src/Packages/PHPJava/Extended
tests/Packages/PHPJava/Extended Expand file tree Collapse file tree 2 files changed +25
-6
lines changed Original file line number Diff line number Diff line change 33
44use PHPJava \Packages \PHPJava \Kernel \Behavior \System ;
55use PHPJava \Packages \java \lang \NoSuchMethodException ;
6+ use PHPJava \Packages \java \lang \CloneNotSupportedException ;
67
78trait _Object
89{
9-
1010 private $ parameters ;
1111
1212 /**
@@ -41,12 +41,9 @@ public function __call($name, $arguments)
4141 throw new NoSuchMethodException ($ name . ' does not exist on ' . get_class ($ this ));
4242 }
4343
44- /**
45- * @return _Object
46- */
47- public function __default_clone (): _Object
44+ public function __default_clone (): void
4845 {
49- return clone $ this ;
46+ throw new CloneNotSupportedException () ;
5047 }
5148
5249 /**
Original file line number Diff line number Diff line change 1+ <?php
2+ namespace PHPJava \Tests \Packages \PHPJava \Extended \_Object ;
3+
4+ use PHPUnit \Framework \TestCase ;
5+ use PHPJava \Packages \java \lang \CloneNotSupportedException ;
6+
7+ class DummyObject
8+ {
9+ use \PHPJava \Packages \PHPJava \Extended \_Object;
10+ }
11+
12+ class _ObjectTest extends Base
13+ {
14+ public function testClone ()
15+ {
16+ $ this ->expectException (CloneNotSupportedException);
17+ $ target = new DummyObject ();
18+ $ method = new \ReflectionMethod (get_class ($ target ), '__clone ' );
19+ $ method ->setAccessible (true );
20+ $ method ->invoke ($ target );
21+ }
22+ }
You can’t perform that action at this time.
0 commit comments