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

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

[elpa] master 7349309 21/31: Add tests for `/*jslint*/` declarations


From: Dmitry Gutov
Subject: [elpa] master 7349309 21/31: Add tests for `/*jslint*/` declarations
Date: Fri, 21 Jul 2017 09:04:58 -0400 (EDT)

branch: master
commit 734930943cdd9359ff1e5dec4561cb0316752698
Author: Julian Kniephoff <address@hidden>
Commit: Julian Kniephoff <address@hidden>

    Add tests for `/*jslint*/` declarations
---
 tests/externs.el | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 65 insertions(+)

diff --git a/tests/externs.el b/tests/externs.el
index 3540f3c..f383e89 100644
--- a/tests/externs.el
+++ b/tests/externs.el
@@ -59,3 +59,68 @@
 ;;;TODO
 ;; ensure that any symbols bound with the import syntax are added to the 
extern list
 ;; ensure that any symbols bound with the export syntax exist in the file scope
+
+;; Test `/*jslint*/` declarations
+
+(ert-deftest js2-finds-jslint-declaration-externs ()
+  (with-temp-buffer
+    (insert "/*jslint browser: true, node: true*/")
+    (js2-mode)
+    (let ((found-externs (js2-get-jslint-declaration-externs)))
+      (should (and (member "navigator" found-externs)
+                   (member "__filename" found-externs))))))
+
+(ert-deftest js2-finds-jslint-declaration-externs-without-property-value ()
+  (with-temp-buffer
+    (insert "/*jslint devel, es6: true, couch")
+    (js2-mode)
+    (let ((found-externs (js2-get-jslint-declaration-externs)))
+      (should (and (member "prompt" found-externs)
+                   (member "Promise" found-externs)
+                   (member "require" found-externs))))))
+
+(ert-deftest js2-no-jslint-declaration-externs-without-keyword ()
+  (with-temp-buffer
+    (insert "/* browser: true, node: true*/")
+    (js2-mode)
+    (should (null (js2-get-jslint-declaration-externs)))))
+
+(ert-deftest js2-no-jslint-declaration-externs-for-nonexistent-env ()
+  (with-temp-buffer
+    (insert "/*jslint nonexistent: true*/")
+    (js2-mode)
+    (should (null (js2-get-jslint-declaration-externs)))))
+
+(ert-deftest js2-finding-jslint-declaration-externs-ignores-nonexistent ()
+  (with-temp-buffer
+    (insert "/*jslint es6: true, nonexistent: true, couch: true*/")
+    (js2-mode)
+    (let ((found-externs (js2-get-jslint-declaration-externs)))
+      (should (and (member "Map" found-externs)
+                   (member "emit" found-externs))))))
+
+(ert-deftest js2-finds-jslint-declaration-externs-in-other-comments ()
+  (with-temp-buffer
+    (insert "/* foo, bar */\n\n\n/*jslint devel: true, node: true*/")
+    (js2-mode)
+    (let ((found-externs (js2-get-jslint-declaration-externs)))
+      (should (and (member "Debug" found-externs)
+                   (member "exports" found-externs))))))
+
+(ert-deftest js2-finds-jslint-declaration-externs-with-space ()
+  (with-temp-buffer
+    (insert "/* jslint browser: true, couch:true,es6 :true */")
+    (js2-mode)
+    (let ((found-externs (js2-get-jslint-declaration-externs)))
+      (should (and (member "document" found-externs)
+                   (member "getRow" found-externs)
+                   (member "Proxy" found-externs))))))
+
+(ert-deftest js2-finds-jslint-globals-with-newline ()
+  (with-temp-buffer
+    (insert "/*jslint\nbrowser: true,\nnode:\ntrue\n, devel:\ntrue\n*/")
+    (js2-mode)
+    (let ((found-externs (js2-get-jslint-declaration-externs)))
+      (should (and (member "history" found-externs)
+                   (member "Buffer" found-externs)
+                   (member "alert" found-externs))))))



reply via email to

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