emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/phpinspect 0c0c1ca381 059/126: Add test for phpinspect-


From: ELPA Syncer
Subject: [elpa] externals/phpinspect 0c0c1ca381 059/126: Add test for phpinspect-get-pattern-type-in-block
Date: Sat, 12 Aug 2023 00:58:44 -0400 (EDT)

branch: externals/phpinspect
commit 0c0c1ca3812e10466658cb8990590cf4c54d351e
Author: Hugo Thunnissen <devel@hugot.nl>
Commit: Hugo Thunnissen <devel@hugot.nl>

    Add test for phpinspect-get-pattern-type-in-block
---
 test/phpinspect-test.el | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/test/phpinspect-test.el b/test/phpinspect-test.el
index 478ecc13fa..75f149fac0 100644
--- a/test/phpinspect-test.el
+++ b/test/phpinspect-test.el
@@ -82,6 +82,28 @@
       (should (phpinspect--type= (phpinspect--make-type :name "\\DateTime")
                                  result)))))
 
+(ert-deftest phpinspect-get-pattern-type-in-block ()
+  (let* ((tokens (phpinspect-parse-string "class Foo { function a(\\Thing 
$baz) { $foo = new \\DateTime(); $this->potato = $foo;"))
+         (context (phpinspect--get-resolvecontext tokens))
+         (project-root "could never be a real project root")
+         (phpinspect-project-root-function
+          (lambda (&rest _ignored) project-root))
+         (project (phpinspect--make-project
+                              :fs (phpinspect-make-virtual-fs)
+                              :root project-root
+                              :worker (phpinspect-make-worker))))
+
+    (puthash project-root project (phpinspect--cache-projects 
phpinspect-cache))
+
+    (let ((result (phpinspect-get-pattern-type-in-block
+                   context (phpinspect--make-pattern :m `(:variable "this")
+                                                     :m `(:object-attrib 
(:word "potato")))
+                   (phpinspect-function-block
+                    (car (phpinspect--resolvecontext-enclosing-tokens 
context)))
+                   (phpinspect--make-type-resolver-for-resolvecontext 
context))))
+      (should (phpinspect--type= (phpinspect--make-type :name "\\DateTime")
+                                 result)))))
+
 (ert-deftest phpinspect-get-variable-type-in-block-array-access ()
   (let* ((tokens (phpinspect-parse-string "class Foo { function a(\\Thing 
$baz) { $foo = []; $foo[] = $baz; $bar = $foo[0];"))
          (context (phpinspect--get-resolvecontext tokens))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]