[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))))))
- [elpa] master 4787b5f 09/31: Merge pull request #363 from XeCycle/class-public-field, (continued)
- [elpa] master 4787b5f 09/31: Merge pull request #363 from XeCycle/class-public-field, Dmitry Gutov, 2017/07/21
- [elpa] master cb8607c 25/31: Add failing test for issue #420, Dmitry Gutov, 2017/07/21
- [elpa] master 908395e 11/31: Allow trailing comma in param list (#410), Dmitry Gutov, 2017/07/21
- [elpa] master 659f683 14/31: Merge pull request #421 from raxod502/feat/C-M-j, Dmitry Gutov, 2017/07/21
- [elpa] master 8a5f492 20/31: Merge pull request #425 from shicks/jsdoc, Dmitry Gutov, 2017/07/21
- [elpa] master d3b31ba 10/31: js2-node-qname-component: Nandle computed properties, Dmitry Gutov, 2017/07/21
- [elpa] master 4a87822 13/31: Map C-M-j to js2-line-break, Dmitry Gutov, 2017/07/21
- [elpa] master ca7df5b 16/31: Merge branch 'master' of github.com:mooz/js2-mode, Dmitry Gutov, 2017/07/21
- [elpa] master b3f74f0 19/31: Fix jsdoc highlighting for tags w/ optional braces, Dmitry Gutov, 2017/07/21
- [elpa] master 9ce2542 07/31: Add support for ES7 class public fields, Dmitry Gutov, 2017/07/21
- [elpa] master 7349309 21/31: Add tests for `/*jslint*/` declarations,
Dmitry Gutov <=
- [elpa] master b176925 24/31: Update NEWS.md, Dmitry Gutov, 2017/07/21
- [elpa] master 92a8857 23/31: Support async arrow function without parentheses, Dmitry Gutov, 2017/07/21
- [elpa] master 890cf81 27/31: Merge pull request #434 from lelit/issue420, Dmitry Gutov, 2017/07/21
- [elpa] master 558f53f 22/31: Merge pull request #358 from JulianKniephoff/master, Dmitry Gutov, 2017/07/21
- [elpa] master cb57d9b 30/31: Bump the version, Dmitry Gutov, 2017/07/21
- [elpa] master a604872 26/31: Recognize initialized variable in destructuring object assignment, Dmitry Gutov, 2017/07/21
- [elpa] master f1badee 18/31: Replace (equal nil ...) with (null ...), Dmitry Gutov, 2017/07/21
- [elpa] master 2c459c6 29/31: Merge pull request #436 from felipeochoa/issue429, Dmitry Gutov, 2017/07/21
- [elpa] master 3df50ab 17/31: Add option js2-getprop-has-side-effects (#424), Dmitry Gutov, 2017/07/21
- [elpa] master 867919e 28/31: Always consider `await` to have side-effects, Dmitry Gutov, 2017/07/21