Merge branch 'master' of github.com:davazp/jscl
authorDavid Vázquez <davazp@gmail.com>
Thu, 6 Mar 2014 12:25:43 +0000 (13:25 +0100)
committerDavid Vázquez <davazp@gmail.com>
Thu, 6 Mar 2014 12:25:43 +0000 (13:25 +0100)
src/misc.lisp
src/read.lisp
tests-report.lisp
tests.lisp

index a040067..0ad60de 100644 (file)
 (defun lisp-implementation-type ()
   "JSCL")
 
+(defun lisp-implementation-version ()
+  #.*version*)
+
+;;; Javascript has not access to the hardware. Would it make sense to
+;;; have the browser data as machine abstraction instead?
+
+(defun machine-instance ()
+  nil)
+
+(defun machine-version ()
+  nil)
+
+(defun machine-type ()
+  nil)
+
+
 (defmacro time (form)
   (let ((start (gensym))
         (end (gensym)))
index 6e9eb68..87ceb1a 100644 (file)
     (case ch
       (#\'
        (list 'function (ls-read stream eof-error-p eof-value t)))
+      (#\.
+       (eval (ls-read stream)))
       (#\(
        (do ((elements nil)
             (result nil)
index 1b44496..3725787 100644 (file)
@@ -1,14 +1,17 @@
-(format t "~%Finished. The execution took ~a seconds.~%"
-        (/ (- (get-internal-real-time) *timestamp*) internal-time-units-per-second 1.0))
+(async
+ (format t "~%Finished. The execution took ~a seconds.~%"
+         (/ (- (get-internal-real-time) *timestamp*) internal-time-units-per-second 1.0))
 
-(if (= *passed-tests* *total-tests*)
-    (format t "All the tests (~a) passed successfully.~%" *total-tests*)
-    (format t "~a/~a test(s) passed successfully.~%" *passed-tests* *total-tests*))
+ (if (= *passed-tests* *total-tests*)
+     (format t "All the tests (~a) passed successfully.~%" *total-tests*)
+     (format t "~a/~a test(s) passed successfully.~%" *passed-tests* *total-tests*))
 
-(unless (zerop *expected-failures*)
-  (format t "~a test(s) failed expectedly.~%" *expected-failures*))
+ (unless (zerop *expected-failures*)
+   (format t "~a test(s) failed expectedly.~%" *expected-failures*))
 
-(unless (zerop *unexpected-passes*)
-  (format t "~a test(s) passed unexpectedly.~%" *unexpected-passes*))
+ (unless (zerop *unexpected-passes*)
+   (format t "~a test(s) passed unexpectedly.~%" *unexpected-passes*))
 
-(terpri)
+ (terpri)
+
+ (init))
index 1eca341..5559d38 100644 (file)
@@ -7,29 +7,34 @@
 (defvar *use-html-output-p* t)
 (defvar *timestamp* nil)
 
+(defmacro async (&body body)
+  `(#j:setTimeout (lambda () ,@body)))
+
 (defun test-fn (condition form)
-  (cond
-    (condition
-     (format t "Test `~S' passed~%" form)
-     (incf *passed-tests*))
-    (t
-     (if *use-html-output-p*
-         (format t "<font color='red'>Test `~S' failed.</font>~%" form)
-         (format t "Test `~S' failed.~%" form))
-     (incf *failed-tests*)))
-  (incf *total-tests*))
+  (async
+   (cond
+     (condition
+      (format t "Test `~S' passed~%" form)
+      (incf *passed-tests*))
+     (t
+      (if *use-html-output-p*
+          (format t "<font color='red'>Test `~S' failed.</font>~%" form)
+          (format t "Test `~S' failed.~%" form))
+      (incf *failed-tests*)))
+   (incf *total-tests*)))
 
 (defun expected-failure-fn (condition form)
-  (cond
-    (condition
-     (if *use-html-output-p*
-         (format t "<font color='orange'>Test `~S' passed unexpectedly!</font>~%" form)
-         (format t "Test `~S' passed unexpectedly!~%" form))
-     (incf *unexpected-passes*))
-    (t
-     (format t "Test `~S' failed expectedly.~%" form)
-     (incf *expected-failures*)))
-  (incf *total-tests*))
+  (async
+   (cond
+     (condition
+      (if *use-html-output-p*
+          (format t "<font color='orange'>Test `~S' passed unexpectedly!</font>~%" form)
+          (format t "Test `~S' passed unexpectedly!~%" form))
+      (incf *unexpected-passes*))
+     (t
+      (format t "Test `~S' failed expectedly.~%" form)
+      (incf *expected-failures*)))
+   (incf *total-tests*)))
 
 
 (defmacro test (condition)