diff options
author | Martin Probst <martin@probst.io> | 2016-04-24 22:05:09 +0000 |
---|---|---|
committer | Martin Probst <martin@probst.io> | 2016-04-24 22:05:09 +0000 |
commit | 5f8445b32ab42cd1ad9f1262175488c04921441b (patch) | |
tree | 9c85be4dce60f9a82567451732df8ad66f4df6d0 /clang/unittests/Format/FormatTestJS.cpp | |
parent | 468d327b343eabdceea9541985818ac166c79ddf (diff) | |
download | bcm5719-llvm-5f8445b32ab42cd1ad9f1262175488c04921441b.tar.gz bcm5719-llvm-5f8445b32ab42cd1ad9f1262175488c04921441b.zip |
clang-format: [JS] generator and async functions.
For generators, see:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Iterators_and_generators
async functions are not quite in the spec yet, but stage 3 and already widely used:
http://tc39.github.io/ecmascript-asyncawait/
Reviewers: djasper
Subscribers: klimek
Differential Revision: http://reviews.llvm.org/D19204
llvm-svn: 267368
Diffstat (limited to 'clang/unittests/Format/FormatTestJS.cpp')
-rw-r--r-- | clang/unittests/Format/FormatTestJS.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/clang/unittests/Format/FormatTestJS.cpp b/clang/unittests/Format/FormatTestJS.cpp index d23a55e2708..95fd2e7bb08 100644 --- a/clang/unittests/Format/FormatTestJS.cpp +++ b/clang/unittests/Format/FormatTestJS.cpp @@ -320,6 +320,40 @@ TEST_F(FormatTestJS, FormatsFreestandingFunctions) { verifyFormat("function f() {}"); } +TEST_F(FormatTestJS, GeneratorFunctions) { + verifyFormat("function* f() {\n" + " let x = 1;\n" + " yield x;\n" + " yield* something();\n" + "}"); + verifyFormat("function*\n" + " f() {\n" + "}", + getGoogleJSStyleWithColumns(8)); + verifyFormat("export function* f() {\n" + " yield 1;\n" + "}\n"); + verifyFormat("class X {\n" + " * generatorMethod() { yield x; }\n" + "}"); +} + +TEST_F(FormatTestJS, AsyncFunctions) { + verifyFormat("async function f() {\n" + " let x = 1;\n" + " return fetch(x);\n" + "}"); + verifyFormat("async function* f() {\n" + " yield fetch(x);\n" + "}"); + verifyFormat("export async function f() {\n" + " return fetch(x);\n" + "}"); + verifyFormat("class X {\n" + " async asyncMethod() { return fetch(1); }\n" + "}"); +} + TEST_F(FormatTestJS, ArrayLiterals) { verifyFormat("var aaaaa: List<SomeThing> =\n" " [new SomeThingAAAAAAAAAAAA(), new SomeThingBBBBBBBBB()];"); |