diff options
| author | Joakim Verona | 2015-01-15 14:54:25 +0100 |
|---|---|---|
| committer | Joakim Verona | 2015-01-15 14:54:25 +0100 |
| commit | 0298a2c6a10bc3b79cb2f45a1961dd7ac6da4e6d (patch) | |
| tree | 6c7ea25ac137f5764d931e841598a3c1ea434ab0 /test | |
| parent | a1124bc117e41019de49c82d13d1a72a50df977d (diff) | |
| parent | 0e97c44c3699c4606a04f589828acdf9c03f447e (diff) | |
| download | emacs-0298a2c6a10bc3b79cb2f45a1961dd7ac6da4e6d.tar.gz emacs-0298a2c6a10bc3b79cb2f45a1961dd7ac6da4e6d.zip | |
merge master
Diffstat (limited to 'test')
| -rw-r--r-- | test/ChangeLog | 11 | ||||
| -rw-r--r-- | test/automated/cl-generic-tests.el | 133 | ||||
| -rw-r--r-- | test/automated/eieio-test-methodinvoke.el | 72 |
3 files changed, 188 insertions, 28 deletions
diff --git a/test/ChangeLog b/test/ChangeLog index 83bb8bf00c7..a33ec8793f4 100644 --- a/test/ChangeLog +++ b/test/ChangeLog | |||
| @@ -1,3 +1,14 @@ | |||
| 1 | 2015-01-15 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * automated/eieio-test-methodinvoke.el (eieio-test-method-store): Add | ||
| 4 | keysym arg instead of relying on internal var eieio--generic-call-key. | ||
| 5 | Update all callers. | ||
| 6 | (eieio-test-cl-generic-1): New tests. | ||
| 7 | |||
| 8 | 2015-01-14 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 9 | |||
| 10 | * automated/cl-generic-tests.el: New file. | ||
| 11 | |||
| 1 | 2015-01-08 Stefan Monnier <monnier@iro.umontreal.ca> | 12 | 2015-01-08 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 13 | ||
| 3 | * automated/eieio-tests.el (eieio-test-23-inheritance-check): Don't use | 14 | * automated/eieio-tests.el (eieio-test-23-inheritance-check): Don't use |
diff --git a/test/automated/cl-generic-tests.el b/test/automated/cl-generic-tests.el new file mode 100644 index 00000000000..17bce6a3157 --- /dev/null +++ b/test/automated/cl-generic-tests.el | |||
| @@ -0,0 +1,133 @@ | |||
| 1 | ;;; cl-generic-tests.el --- Tests for cl-generic.el functionality -*- lexical-binding: t; -*- | ||
| 2 | |||
| 3 | ;; Copyright (C) 2015 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | ;; Author: Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 6 | |||
| 7 | ;; This file is part of GNU Emacs. | ||
| 8 | |||
| 9 | ;; GNU Emacs is free software: you can redistribute it and/or modify | ||
| 10 | ;; it under the terms of the GNU General Public License as published by | ||
| 11 | ;; the Free Software Foundation, either version 3 of the License, or | ||
| 12 | ;; (at your option) any later version. | ||
| 13 | |||
| 14 | ;; GNU Emacs is distributed in the hope that it will be useful, | ||
| 15 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 16 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 17 | ;; GNU General Public License for more details. | ||
| 18 | |||
| 19 | ;; You should have received a copy of the GNU General Public License | ||
| 20 | ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | ||
| 21 | |||
| 22 | ;;; Commentary: | ||
| 23 | |||
| 24 | ;;; Code: | ||
| 25 | |||
| 26 | (require 'ert) | ||
| 27 | (require 'cl-lib) | ||
| 28 | |||
| 29 | (cl-defgeneric cl--generic-1 (x y)) | ||
| 30 | (cl-defgeneric (setf cl--generic-1) (v y z) "My generic doc.") | ||
| 31 | |||
| 32 | (ert-deftest cl-generic-test-0 () | ||
| 33 | (cl-defgeneric cl--generic-1 (x y)) | ||
| 34 | (cl-defmethod cl--generic-1 ((x t) y) (cons x y)) | ||
| 35 | (should (equal (cl--generic-1 'a 'b) '(a . b)))) | ||
| 36 | |||
| 37 | (ert-deftest cl-generic-test-1-eql () | ||
| 38 | (cl-defgeneric cl--generic-1 (x y)) | ||
| 39 | (cl-defmethod cl--generic-1 ((x t) y) (cons x y)) | ||
| 40 | (cl-defmethod cl--generic-1 ((_x (eql 4)) _y) | ||
| 41 | (cons "quatre" (cl-call-next-method))) | ||
| 42 | (cl-defmethod cl--generic-1 ((_x (eql 5)) _y) | ||
| 43 | (cons "cinq" (cl-call-next-method))) | ||
| 44 | (cl-defmethod cl--generic-1 ((_x (eql 6)) y) | ||
| 45 | (cons "six" (cl-call-next-method 'a y))) | ||
| 46 | (should (equal (cl--generic-1 'a nil) '(a))) | ||
| 47 | (should (equal (cl--generic-1 4 nil) '("quatre" 4))) | ||
| 48 | (should (equal (cl--generic-1 5 nil) '("cinq" 5))) | ||
| 49 | (should (equal (cl--generic-1 6 nil) '("six" a)))) | ||
| 50 | |||
| 51 | (cl-defstruct cl-generic-struct-parent a b) | ||
| 52 | (cl-defstruct (cl-generic-struct-child1 (:include cl-generic-struct-parent)) c) | ||
| 53 | (cl-defstruct (cl-generic-struct-child11 (:include cl-generic-struct-child1)) d) | ||
| 54 | (cl-defstruct (cl-generic-struct-child2 (:include cl-generic-struct-parent)) e) | ||
| 55 | |||
| 56 | (ert-deftest cl-generic-test-2-struct () | ||
| 57 | (cl-defgeneric cl--generic-1 (x y) "My doc.") | ||
| 58 | (cl-defmethod cl--generic-1 ((x t) y) "Doc 1." (cons x y)) | ||
| 59 | (cl-defmethod cl--generic-1 ((_x cl-generic-struct-parent) y) | ||
| 60 | "Doc 2." (cons "parent" (cl-call-next-method 'a y))) | ||
| 61 | (cl-defmethod cl--generic-1 ((_x cl-generic-struct-child1) _y) | ||
| 62 | (cons "child1" (cl-call-next-method))) | ||
| 63 | (cl-defmethod cl--generic-1 :around ((_x t) _y) | ||
| 64 | (cons "around" (cl-call-next-method))) | ||
| 65 | (cl-defmethod cl--generic-1 :around ((_x cl-generic-struct-child11) _y) | ||
| 66 | (cons "child11" (cl-call-next-method))) | ||
| 67 | (cl-defmethod cl--generic-1 ((_x cl-generic-struct-child2) _y) | ||
| 68 | (cons "child2" (cl-call-next-method))) | ||
| 69 | (should (equal (cl--generic-1 (make-cl-generic-struct-child1) nil) | ||
| 70 | '("around" "child1" "parent" a))) | ||
| 71 | (should (equal (cl--generic-1 (make-cl-generic-struct-child2) nil) | ||
| 72 | '("around""child2" "parent" a))) | ||
| 73 | (should (equal (cl--generic-1 (make-cl-generic-struct-child11) nil) | ||
| 74 | '("child11" "around""child1" "parent" a)))) | ||
| 75 | |||
| 76 | (ert-deftest cl-generic-test-3-setf () | ||
| 77 | (cl-defmethod (setf cl--generic-1) (v (y t) z) (list v y z)) | ||
| 78 | (cl-defmethod (setf cl--generic-1) (v (_y (eql 4)) z) (list v "four" z)) | ||
| 79 | (should (equal (setf (cl--generic-1 'a 'b) 'v) '(v a b))) | ||
| 80 | (should (equal (setf (cl--generic-1 4 'b) 'v) '(v "four" b))) | ||
| 81 | (let ((x ())) | ||
| 82 | (should (equal (setf (cl--generic-1 (progn (push 1 x) 'a) | ||
| 83 | (progn (push 2 x) 'b)) | ||
| 84 | (progn (push 3 x) 'v)) | ||
| 85 | '(v a b))) | ||
| 86 | (should (equal x '(3 2 1))))) | ||
| 87 | |||
| 88 | (ert-deftest cl-generic-test-4-overlapping-tagcodes () | ||
| 89 | (cl-defgeneric cl--generic-1 (x y) "My doc.") | ||
| 90 | (cl-defmethod cl--generic-1 ((y t) z) (list y z)) | ||
| 91 | (cl-defmethod cl--generic-1 ((_y (eql 4)) _z) | ||
| 92 | (cons "four" (cl-call-next-method))) | ||
| 93 | (cl-defmethod cl--generic-1 ((_y integer) _z) | ||
| 94 | (cons "integer" (cl-call-next-method))) | ||
| 95 | (cl-defmethod cl--generic-1 ((_y number) _z) | ||
| 96 | (cons "number" (cl-call-next-method))) | ||
| 97 | (should (equal (cl--generic-1 'a 'b) '(a b))) | ||
| 98 | (should (equal (cl--generic-1 1 'b) '("integer" "number" 1 b))) | ||
| 99 | (should (equal (cl--generic-1 4 'b) '("four" "integer" "number" 4 b)))) | ||
| 100 | |||
| 101 | (ert-deftest cl-generic-test-5-alias () | ||
| 102 | (cl-defgeneric cl--generic-1 (x y) "My doc.") | ||
| 103 | (defalias 'cl--generic-2 #'cl--generic-1) | ||
| 104 | (cl-defmethod cl--generic-1 ((y t) z) (list y z)) | ||
| 105 | (cl-defmethod cl--generic-2 ((_y (eql 4)) _z) | ||
| 106 | (cons "four" (cl-call-next-method))) | ||
| 107 | (should (equal (cl--generic-1 4 'b) '("four" 4 b)))) | ||
| 108 | |||
| 109 | (ert-deftest cl-generic-test-6-multiple-dispatch () | ||
| 110 | (cl-defgeneric cl--generic-1 (x y) "My doc.") | ||
| 111 | (cl-defmethod cl--generic-1 (x y) (list x y)) | ||
| 112 | (cl-defmethod cl--generic-1 (_x (_y integer)) | ||
| 113 | (cons "y-int" (cl-call-next-method))) | ||
| 114 | (cl-defmethod cl--generic-1 ((_x integer) _y) | ||
| 115 | (cons "x-int" (cl-call-next-method))) | ||
| 116 | (cl-defmethod cl--generic-1 ((_x integer) (_y integer)) | ||
| 117 | (cons "x&y-int" (cl-call-next-method))) | ||
| 118 | (should (equal (cl--generic-1 1 2) '("x&y-int" "x-int" "y-int" 1 2)))) | ||
| 119 | |||
| 120 | (ert-deftest cl-generic-test-7-apo () | ||
| 121 | (cl-defgeneric cl--generic-1 (x y) | ||
| 122 | (:documentation "My doc.") (:argument-precedence-order y x)) | ||
| 123 | (cl-defmethod cl--generic-1 (x y) (list x y)) | ||
| 124 | (cl-defmethod cl--generic-1 (_x (_y integer)) | ||
| 125 | (cons "y-int" (cl-call-next-method))) | ||
| 126 | (cl-defmethod cl--generic-1 ((_x integer) _y) | ||
| 127 | (cons "x-int" (cl-call-next-method))) | ||
| 128 | (cl-defmethod cl--generic-1 ((_x integer) (_y integer)) | ||
| 129 | (cons "x&y-int" (cl-call-next-method))) | ||
| 130 | (should (equal (cl--generic-1 1 2) '("x&y-int" "y-int" "x-int" 1 2)))) | ||
| 131 | |||
| 132 | (provide 'cl-generic-tests) | ||
| 133 | ;;; cl-generic-tests.el ends here | ||
diff --git a/test/automated/eieio-test-methodinvoke.el b/test/automated/eieio-test-methodinvoke.el index 2de836ceda5..6362fc5a8d9 100644 --- a/test/automated/eieio-test-methodinvoke.el +++ b/test/automated/eieio-test-methodinvoke.el | |||
| @@ -58,12 +58,10 @@ | |||
| 58 | (defvar eieio-test-method-order-list nil | 58 | (defvar eieio-test-method-order-list nil |
| 59 | "List of symbols stored during method invocation.") | 59 | "List of symbols stored during method invocation.") |
| 60 | 60 | ||
| 61 | (defun eieio-test-method-store () | 61 | (defun eieio-test-method-store (keysym) |
| 62 | "Store current invocation class symbol in the invocation order list." | 62 | "Store current invocation class symbol in the invocation order list." |
| 63 | (let* ((keysym (aref [ :STATIC :BEFORE :PRIMARY :AFTER ] | 63 | ;; FIXME: Don't depend on `eieio--scoped-class'! |
| 64 | (or eieio--generic-call-key 0))) | 64 | (let* ((c (list keysym (eieio--class-symbol (eieio--scoped-class))))) |
| 65 | ;; FIXME: Don't depend on `eieio--scoped-class'! | ||
| 66 | (c (list keysym (eieio--class-symbol (eieio--scoped-class))))) | ||
| 67 | (push c eieio-test-method-order-list))) | 65 | (push c eieio-test-method-order-list))) |
| 68 | 66 | ||
| 69 | (defun eieio-test-match (rightanswer) | 67 | (defun eieio-test-match (rightanswer) |
| @@ -88,36 +86,36 @@ | |||
| 88 | (defclass eitest-B (eitest-B-base1 eitest-B-base2) ()) | 86 | (defclass eitest-B (eitest-B-base1 eitest-B-base2) ()) |
| 89 | 87 | ||
| 90 | (defmethod eitest-F :BEFORE ((p eitest-B-base1)) | 88 | (defmethod eitest-F :BEFORE ((p eitest-B-base1)) |
| 91 | (eieio-test-method-store)) | 89 | (eieio-test-method-store :BEFORE)) |
| 92 | 90 | ||
| 93 | (defmethod eitest-F :BEFORE ((p eitest-B-base2)) | 91 | (defmethod eitest-F :BEFORE ((p eitest-B-base2)) |
| 94 | (eieio-test-method-store)) | 92 | (eieio-test-method-store :BEFORE)) |
| 95 | 93 | ||
| 96 | (defmethod eitest-F :BEFORE ((p eitest-B)) | 94 | (defmethod eitest-F :BEFORE ((p eitest-B)) |
| 97 | (eieio-test-method-store)) | 95 | (eieio-test-method-store :BEFORE)) |
| 98 | 96 | ||
| 99 | (defmethod eitest-F ((p eitest-B)) | 97 | (defmethod eitest-F ((p eitest-B)) |
| 100 | (eieio-test-method-store) | 98 | (eieio-test-method-store :PRIMARY) |
| 101 | (call-next-method)) | 99 | (call-next-method)) |
| 102 | 100 | ||
| 103 | (defmethod eitest-F ((p eitest-B-base1)) | 101 | (defmethod eitest-F ((p eitest-B-base1)) |
| 104 | (eieio-test-method-store) | 102 | (eieio-test-method-store :PRIMARY) |
| 105 | (call-next-method)) | 103 | (call-next-method)) |
| 106 | 104 | ||
| 107 | (defmethod eitest-F ((p eitest-B-base2)) | 105 | (defmethod eitest-F ((p eitest-B-base2)) |
| 108 | (eieio-test-method-store) | 106 | (eieio-test-method-store :PRIMARY) |
| 109 | (when (next-method-p) | 107 | (when (next-method-p) |
| 110 | (call-next-method)) | 108 | (call-next-method)) |
| 111 | ) | 109 | ) |
| 112 | 110 | ||
| 113 | (defmethod eitest-F :AFTER ((p eitest-B-base1)) | 111 | (defmethod eitest-F :AFTER ((p eitest-B-base1)) |
| 114 | (eieio-test-method-store)) | 112 | (eieio-test-method-store :AFTER)) |
| 115 | 113 | ||
| 116 | (defmethod eitest-F :AFTER ((p eitest-B-base2)) | 114 | (defmethod eitest-F :AFTER ((p eitest-B-base2)) |
| 117 | (eieio-test-method-store)) | 115 | (eieio-test-method-store :AFTER)) |
| 118 | 116 | ||
| 119 | (defmethod eitest-F :AFTER ((p eitest-B)) | 117 | (defmethod eitest-F :AFTER ((p eitest-B)) |
| 120 | (eieio-test-method-store)) | 118 | (eieio-test-method-store :AFTER)) |
| 121 | 119 | ||
| 122 | (ert-deftest eieio-test-method-order-list-3 () | 120 | (ert-deftest eieio-test-method-order-list-3 () |
| 123 | (let ((eieio-test-method-order-list nil) | 121 | (let ((eieio-test-method-order-list nil) |
| @@ -152,15 +150,15 @@ | |||
| 152 | ;;; Return value from :PRIMARY | 150 | ;;; Return value from :PRIMARY |
| 153 | ;; | 151 | ;; |
| 154 | (defmethod eitest-I :BEFORE ((a eitest-A)) | 152 | (defmethod eitest-I :BEFORE ((a eitest-A)) |
| 155 | (eieio-test-method-store) | 153 | (eieio-test-method-store :BEFORE) |
| 156 | ":before") | 154 | ":before") |
| 157 | 155 | ||
| 158 | (defmethod eitest-I :PRIMARY ((a eitest-A)) | 156 | (defmethod eitest-I :PRIMARY ((a eitest-A)) |
| 159 | (eieio-test-method-store) | 157 | (eieio-test-method-store :PRIMARY) |
| 160 | ":primary") | 158 | ":primary") |
| 161 | 159 | ||
| 162 | (defmethod eitest-I :AFTER ((a eitest-A)) | 160 | (defmethod eitest-I :AFTER ((a eitest-A)) |
| 163 | (eieio-test-method-store) | 161 | (eieio-test-method-store :AFTER) |
| 164 | ":after") | 162 | ":after") |
| 165 | 163 | ||
| 166 | (ert-deftest eieio-test-method-order-list-5 () | 164 | (ert-deftest eieio-test-method-order-list-5 () |
| @@ -179,17 +177,17 @@ | |||
| 179 | 177 | ||
| 180 | ;; Just use the obsolete name once, to make sure it also works. | 178 | ;; Just use the obsolete name once, to make sure it also works. |
| 181 | (defmethod constructor :STATIC ((p C-base1) &rest args) | 179 | (defmethod constructor :STATIC ((p C-base1) &rest args) |
| 182 | (eieio-test-method-store) | 180 | (eieio-test-method-store :STATIC) |
| 183 | (if (next-method-p) (call-next-method)) | 181 | (if (next-method-p) (call-next-method)) |
| 184 | ) | 182 | ) |
| 185 | 183 | ||
| 186 | (defmethod eieio-constructor :STATIC ((p C-base2) &rest args) | 184 | (defmethod eieio-constructor :STATIC ((p C-base2) &rest args) |
| 187 | (eieio-test-method-store) | 185 | (eieio-test-method-store :STATIC) |
| 188 | (if (next-method-p) (call-next-method)) | 186 | (if (next-method-p) (call-next-method)) |
| 189 | ) | 187 | ) |
| 190 | 188 | ||
| 191 | (defmethod eieio-constructor :STATIC ((p C) &rest args) | 189 | (defmethod eieio-constructor :STATIC ((p C) &rest args) |
| 192 | (eieio-test-method-store) | 190 | (eieio-test-method-store :STATIC) |
| 193 | (call-next-method) | 191 | (call-next-method) |
| 194 | ) | 192 | ) |
| 195 | 193 | ||
| @@ -216,24 +214,24 @@ | |||
| 216 | 214 | ||
| 217 | (defmethod eitest-F ((p D)) | 215 | (defmethod eitest-F ((p D)) |
| 218 | "D" | 216 | "D" |
| 219 | (eieio-test-method-store) | 217 | (eieio-test-method-store :PRIMARY) |
| 220 | (call-next-method)) | 218 | (call-next-method)) |
| 221 | 219 | ||
| 222 | (defmethod eitest-F ((p D-base0)) | 220 | (defmethod eitest-F ((p D-base0)) |
| 223 | "D-base0" | 221 | "D-base0" |
| 224 | (eieio-test-method-store) | 222 | (eieio-test-method-store :PRIMARY) |
| 225 | ;; This should have no next | 223 | ;; This should have no next |
| 226 | ;; (when (next-method-p) (call-next-method)) | 224 | ;; (when (next-method-p) (call-next-method)) |
| 227 | ) | 225 | ) |
| 228 | 226 | ||
| 229 | (defmethod eitest-F ((p D-base1)) | 227 | (defmethod eitest-F ((p D-base1)) |
| 230 | "D-base1" | 228 | "D-base1" |
| 231 | (eieio-test-method-store) | 229 | (eieio-test-method-store :PRIMARY) |
| 232 | (call-next-method)) | 230 | (call-next-method)) |
| 233 | 231 | ||
| 234 | (defmethod eitest-F ((p D-base2)) | 232 | (defmethod eitest-F ((p D-base2)) |
| 235 | "D-base2" | 233 | "D-base2" |
| 236 | (eieio-test-method-store) | 234 | (eieio-test-method-store :PRIMARY) |
| 237 | (when (next-method-p) | 235 | (when (next-method-p) |
| 238 | (call-next-method)) | 236 | (call-next-method)) |
| 239 | ) | 237 | ) |
| @@ -258,21 +256,21 @@ | |||
| 258 | (defclass E (E-base1 E-base2) () :method-invocation-order :breadth-first) | 256 | (defclass E (E-base1 E-base2) () :method-invocation-order :breadth-first) |
| 259 | 257 | ||
| 260 | (defmethod eitest-F ((p E)) | 258 | (defmethod eitest-F ((p E)) |
| 261 | (eieio-test-method-store) | 259 | (eieio-test-method-store :PRIMARY) |
| 262 | (call-next-method)) | 260 | (call-next-method)) |
| 263 | 261 | ||
| 264 | (defmethod eitest-F ((p E-base0)) | 262 | (defmethod eitest-F ((p E-base0)) |
| 265 | (eieio-test-method-store) | 263 | (eieio-test-method-store :PRIMARY) |
| 266 | ;; This should have no next | 264 | ;; This should have no next |
| 267 | ;; (when (next-method-p) (call-next-method)) | 265 | ;; (when (next-method-p) (call-next-method)) |
| 268 | ) | 266 | ) |
| 269 | 267 | ||
| 270 | (defmethod eitest-F ((p E-base1)) | 268 | (defmethod eitest-F ((p E-base1)) |
| 271 | (eieio-test-method-store) | 269 | (eieio-test-method-store :PRIMARY) |
| 272 | (call-next-method)) | 270 | (call-next-method)) |
| 273 | 271 | ||
| 274 | (defmethod eitest-F ((p E-base2)) | 272 | (defmethod eitest-F ((p E-base2)) |
| 275 | (eieio-test-method-store) | 273 | (eieio-test-method-store :PRIMARY) |
| 276 | (when (next-method-p) | 274 | (when (next-method-p) |
| 277 | (call-next-method)) | 275 | (call-next-method)) |
| 278 | ) | 276 | ) |
| @@ -380,3 +378,21 @@ | |||
| 380 | '(CNM-1-1 CNM-2 INIT))) | 378 | '(CNM-1-1 CNM-2 INIT))) |
| 381 | (should (equal (eieio-test-arguments-for 'CNM-2) | 379 | (should (equal (eieio-test-arguments-for 'CNM-2) |
| 382 | '(INIT))))) | 380 | '(INIT))))) |
| 381 | |||
| 382 | ;;; Check cl-generic integration. | ||
| 383 | |||
| 384 | (cl-defgeneric eieio-test--1 (x y)) | ||
| 385 | |||
| 386 | (ert-deftest eieio-test-cl-generic-1 () | ||
| 387 | (cl-defmethod eieio-test--1 (x y) (list x y)) | ||
| 388 | (cl-defmethod eieio-test--1 ((_x CNM-0) y) | ||
| 389 | (cons "CNM-0" (cl-call-next-method 7 y))) | ||
| 390 | (cl-defmethod eieio-test--1 ((_x CNM-1-1) _y) | ||
| 391 | (cons "CNM-1-1" (cl-call-next-method))) | ||
| 392 | (cl-defmethod eieio-test--1 ((_x CNM-1-2) y) | ||
| 393 | (cons "CNM-1-2" (cl-call-next-method))) | ||
| 394 | (should (equal (eieio-test--1 4 5) '(4 5))) | ||
| 395 | (should (equal (eieio-test--1 (make-instance 'CNM-0) 5) | ||
| 396 | '("CNM-0" 7 5))) | ||
| 397 | (should (equal (eieio-test--1 (make-instance 'CNM-2) 5) | ||
| 398 | '("CNM-1-1" "CNM-1-2" "CNM-0" 7 5)))) | ||