Dmitry Sharshakov
3b613cbecd
test(template-refs): add tests for function refs ( #359 )
2019-10-23 11:54:50 -04:00
Mayness
18a349ce8c
fix(reactivity): account for NaN in value change checks ( #361 )
2019-10-23 11:53:43 -04:00
edison
9dcbf17f3a
perf(runtime-core): use makeMap
instead of RE
( #350 )
2019-10-23 10:34:58 -04:00
likui
e34d2bd853
types: improve slots type ( #366 )
2019-10-23 09:29:09 -04:00
Evan You
af57ad110f
chore: revert prettier
2019-10-22 11:53:32 -04:00
Evan You
b5886189ba
types: massive refactor
2019-10-22 11:53:32 -04:00
Cr
a23e03f01e
feat(apiOptions): add warning for duplicated properties declared by options ( #329 )
2019-10-21 23:47:16 -04:00
Evan You
a25b1371ab
types: improve types
2019-10-21 23:37:03 -04:00
Evan You
052febc127
feat(compiler): convert text mixed with elements into createVNode calls
...
This ensures they are tracked as dynamic children when inside blocks.
Also guaruntees compiled vnodes always have vnode children in arrays
so that they can skip normalizeVNode safely in optimized mode.
2019-10-21 15:52:29 -04:00
likui
f85ba092ce
types: improve emit type ( #345 )
2019-10-21 14:04:42 -04:00
Jooger
67eb29f63b
refactor(errorHandlling): handle array in callWithAsyncErrorHandling ( #332 )
2019-10-21 13:59:10 -04:00
Dmitry Sharshakov
74d8c5919d
types: improve computed types ( #343 )
2019-10-21 13:57:20 -04:00
Dmitry Sharshakov
1f4937c2fd
types: use RenderFunction type ( #342 )
2019-10-21 13:44:01 -04:00
Evan You
520af9787b
perf: skip normalizeVNode in optimized mode
2019-10-21 12:24:19 -04:00
Evan You
8be578b6b6
perf: micro optimizations for vnode creation
2019-10-21 11:30:45 -04:00
Evan You
40ccbdeaac
chore: remove refs from setupContext
...
explicit refs should be preferred
2019-10-21 10:36:38 -04:00
Dmitry Sharshakov
27f3c2d751
chore: fix typo ( #339 )
2019-10-21 10:04:34 -04:00
Evan You
f241c92917
chore: remove todo
2019-10-21 10:04:02 -04:00
HcySunYang
71f3826f99
chore: rename & property missing ( #335 )
2019-10-21 10:00:23 -04:00
Evan You
869ae19c41
fix(compiler): cache handlers should be per-instance, fix hoist w/ cached handlers
2019-10-20 17:00:11 -04:00
Evan You
e98a85f3cb
refactor: applyDirectives -> withDirectives
2019-10-18 16:35:01 -04:00
Dmitry Sharshakov
068902abec
types: fix createComponent type when using simple function ( #334 )
2019-10-18 14:58:15 -04:00
Evan You
b5194b16bf
refactor: rename vnode hooks
...
So that they can be used as @vnodeMounted="..." in templates
2019-10-18 14:54:35 -04:00
Dmitry Sharshakov
2238925fbe
feat(core): validate directives names ( #326 )
2019-10-18 12:34:45 -04:00
宋铄运
7f23eaf661
feat(core): support dynamic component via <component :is> ( #320 )
2019-10-18 12:09:04 -04:00
Evan You
d179918001
perf: further tweak accessCache
2019-10-17 22:29:51 -04:00
Dmitry Sharshakov
7305f693b1
refactor(runtime-core): extract promise check into shared ( #325 )
2019-10-17 15:47:26 -04:00
Evan You
4771319a15
perf(core): cache property access types on renderProxy
2019-10-17 15:02:15 -04:00
Evan You
1722dc05c5
fix(runtime-core): handle dynamicChildren when portal is used as a block
2019-10-16 17:43:41 -04:00
Carlos Rodrigues
48b79d02e8
perf(runtime-core): use faster diff map population ( #319 )
2019-10-16 15:34:51 -04:00
Evan You
b20b922d99
perf(v-for): use faster array population in renderList
2019-10-16 10:42:25 -04:00
Ruijia Tang
3e51200bae
chore: Remove unnecessary console.log ( #312 )
2019-10-16 10:11:13 -04:00
Dmitry Sharshakov
0bac763f5a
feat(directives): add support for function directives ( #252 )
2019-10-16 02:12:26 -04:00
Evan You
65a0207c7b
test: test runtime compilation error warning
2019-10-15 22:19:19 -04:00
Jian Zhang
cf12d18b4b
refactor(runtime-core): isBuiltInTag -> use makeMap instead of Set ( #307 )
2019-10-15 22:18:55 -04:00
月迷津渡
f71bf2f1d3
feat: add isCustomElement option ( #299 )
2019-10-15 17:30:47 -04:00
Adam Lewkowicz
555e3be69d
types(watch): allow readonly arrays for watching multiple sources ( #281 )
2019-10-15 16:44:14 -04:00
Ayush Goyal
58fffcb987
refactor(core): use makeMap for faster string match checks ( #282 )
2019-10-15 12:11:08 -04:00
fisker Cheung
1fbb4d22fa
chore: use const
instead of let
( #283 )
2019-10-14 23:15:36 -04:00
fisker Cheung
e5d60a0f7a
types: use hook type in options ( #284 )
2019-10-14 23:15:09 -04:00
月迷津渡
66023a8886
feat: runtime component name validation ( #217 )
2019-10-14 15:36:29 -04:00
Dmitry Sharshakov
fd209f5a66
feat(core): export version ( #254 )
2019-10-14 15:31:43 -04:00
Evan You
37cbd0098d
chore: lint + include tsx files for lint
2019-10-14 15:07:43 -04:00
Evan You
6b3ad95fa4
fix(watch): type inference for computed refs
2019-10-14 12:15:09 -04:00
Cr
6bd26636c3
test: add test for resolveAsset ( #273 )
2019-10-14 11:56:02 -04:00
Cr
d2bcedb213
feat(apiOptions): warn invalid computed options ( #225 )
2019-10-14 02:15:31 -04:00
Evan You
82b5978e9c
build: further shave off runtime compile only code
2019-10-14 01:08:00 -04:00
Jooger
312907c9d8
refactor(scheduler): replace try catch with callWithErrorHandling ( #264 )
2019-10-14 00:32:01 -04:00
fisker Cheung
70a142c203
refactor(runtime-core): programmatically create lifecycle APIs for DRYness ( #246 )
2019-10-13 23:18:34 -04:00
Dmitry Sharshakov
7fd1fdde28
refactor(scheduler): minor refactors ( #240 )
2019-10-13 22:41:23 -04:00
Dmitry Sharshakov
374a85b861
types: improve directive typing ( #253 )
2019-10-13 22:40:29 -04:00
Evan You
8e5ea98ccd
Revert "chore: remove useless else ( #245 )" ( #257 )
...
This reverts commit 971cebc61c
.
2019-10-12 22:52:11 -04:00
fisker Cheung
971cebc61c
chore: remove useless else ( #245 )
2019-10-12 20:12:09 -04:00
likui
46e64b257c
feat(compiler-core/runtime-core): show codeframe in runtime compile errors ( #220 )
2019-10-12 19:49:23 -04:00
Dmitry Sharshakov
78d1821e24
refactor(componentProxy): simplify proxy handling ( #214 )
2019-10-12 19:44:30 -04:00
fisker Cheung
cdc143d348
refactor(runtime-core): use Array.from
instead of loop over iterable
( #250 )
2019-10-12 19:34:22 -04:00
Sharvilak
ed5a42e588
refactor(runetime-core): removed unnecessary condition check ( #237 )
2019-10-12 11:00:29 -04:00
Cr
64c7be3763
chore: remove redundant type cast ( #230 )
2019-10-12 10:46:10 -04:00
Cr
f3760f7d34
types: add missing properties to ComponentPublicInstance interface ( #218 )
2019-10-12 10:30:21 -04:00
Evan You
1b06b3c424
perf: avoid parentNode call when dynamic child is not a Fragment
2019-10-11 18:06:24 -04:00
Evan You
a42ad6cc9d
feat(runtime-dom): v-model directive runtime
2019-10-11 17:55:34 -04:00
Leonardo Piccioni de Almeida
a371b2ec0e
chore: fix typo ( #216 )
2019-10-11 15:09:57 -04:00
Illya Klymov
e32da9169b
fix(runtime-core): support object syntax for class ( #215 )
2019-10-11 15:09:37 -04:00
Evan You
5f28708cb9
test(vnode): tests for shapeFlag and cloneVNode
2019-10-11 11:48:20 -04:00
Evan You
e57d686b9a
test(vnode): tests for normlaizeVNode
2019-10-11 11:41:28 -04:00
Evan You
95d7e1f471
feat: log on the fly template compilation error
2019-10-11 11:16:20 -04:00
Evan You
9ad7ae479e
fix(compiler): export COMMENT instead EMPTY runtime helper
2019-10-11 10:47:59 -04:00
Cr
3cdefdbe2d
test: add array of objects class test case for mergeProps ( #201 )
2019-10-11 10:13:04 -04:00
Evan You
d376439167
wip(compiler-dom): v-model runtime
2019-10-10 18:02:51 -04:00
月迷津渡
78f60347dc
feat(compiler): add isNativeTag option for determining element type ( #139 )
2019-10-10 14:54:06 -04:00
Evan You
46d875f4e8
fix(runtime-core): use correct parentNode when patching dynamicChildren ( close #98 )
2019-10-10 14:49:35 -04:00
Dmitry Sharshakov
1139368dc2
types: improve writable computed types ( #192 )
2019-10-10 14:08:12 -04:00
terencez
d10b28ae0e
refactor(runtime-core): make h() support single vnode child ( #181 )
2019-10-10 10:17:16 -04:00
Cr
211f5b7a45
test: add more complete test for componentProxy ( #174 )
2019-10-10 10:02:55 -04:00
Evan You
93c6aa4c90
feat: v-once
...
Note: only compiler transform is tested - integration with runtime
still needs to be tested.
2019-10-09 17:32:58 -04:00
Tim van den Eijnden
0177355242
fix: add warnings ( #82 )
...
* fix: add warnings
- invalid watch handler path
- attempting to mutate readonly computed value
- attempt of mutating public property
- attempt of mutating prop
* fix: more descriptive warnings + details
* fix: test apiOptions warnings
* fix: update warning in componentProxy
* fix: update warnings in componentProxy & apiOptions
* fix: update warning in componentProxy
* fix: implemented tests for componentProxy
* fix: remove comment + small refactor
2019-10-09 14:03:21 -04:00
扩散性百万甜面包
def27239bd
type: improve typing ( #177 )
2019-10-09 14:01:53 -04:00
terencez
7963c01a67
types(runtime-core): simplify types in createComponentInstance() ( #170 )
2019-10-09 12:17:42 -04:00
Tim van den Eijnden
b107401e71
test(vnode): partial tests for vnode creation ( #116 )
2019-10-09 10:28:43 -04:00
扩散性百万甜面包
80e5b16f99
types: improve type 'ReactiveEffect' with generics ( #99 )
2019-10-08 13:48:13 -04:00
Evan You
8da5b007b1
types: improve typing
2019-10-08 12:43:13 -04:00
Evan You
1393ee52ca
types: improve typing
2019-10-08 10:50:10 -04:00
扩散性百万甜面包
016231d09f
types: improve type for WatchHandler ( #160 )
2019-10-08 10:48:24 -04:00
Kyle Hall
fd1d7833e2
test(runtime-core): createSlots method ( #119 )
2019-10-06 20:19:44 -04:00
扩散性百万甜面包
d2d32d3810
refactor: rename param on function watch ( #134 )
2019-10-06 11:27:09 -04:00
Jordan Pittman
a8c82909fa
test: Add tests for some runtime helpers ( #87 )
...
* test for `renderList`
* test for `toHandlers`
2019-10-05 23:22:42 -04:00
Carlos Rodrigues
8133b3867a
test: improve tests and typing for runtime-core ( #100 )
...
* test: add test case for declaring Array prop type with constructor casting in `createComponent`
* test: add test case for `setup(props)` with explicit props declaration
2019-10-05 15:37:55 -04:00
Vladimir
f48a2ffc76
chore: fix typos ( #103 )
2019-10-05 10:48:54 -04:00
扩散性百万甜面包
ec8f7c6375
chore: simplify code in apiWatch.ts ( #101 )
2019-10-05 10:44:02 -04:00
Carlos Rodrigues
fbabae0c0a
chore: replace some type casts and fix variable and filename typos ( #93 )
2019-10-05 10:38:02 -04:00
月迷津渡
9d6783053c
types: simplify types ( #104 )
2019-10-05 10:09:34 -04:00
Evan You
227ad034f0
feat(compiler/slot): bail out of optimization mode for non-compiled slots
2019-10-03 15:09:09 -04:00
Evan You
05db2a9c6c
wip(compiler): adjust renderSlot() signature
2019-10-03 14:29:12 -04:00
Evan You
306c22efe1
feat(compiler): mark compiler-generated slots for runtime
2019-10-03 14:08:14 -04:00
Evan You
aa9245d55c
feat(compiler): render <slot/> as block fragments
2019-10-03 12:03:14 -04:00
Evan You
fc47029ed3
feat(compiler): support v-for on named slots
2019-10-02 23:10:41 -04:00
Evan You
3d14265102
feat(compiler): handle conditional v-slot
2019-10-02 17:18:11 -04:00
Evan You
9c9dd73017
chore: fix outdated patchFlag
2019-10-02 10:59:47 -04:00
Evan You
191db785bd
refactor: use global whitelist for render proxy has check
2019-10-02 10:37:06 -04:00
Evan You
d87255ce46
fix(options): data options should preserve original object if possible
2019-10-02 10:03:43 -04:00
Evan You
5ab1d75c39
fix(options): fix renderTriggered option translation
2019-10-02 09:46:29 -04:00
Evan You
a477594d65
feat(compiler): v-for codegen w/ correct blocks optimization + key flags
2019-10-01 23:19:48 -04:00
Evan You
4fc963bc5a
feat(compiler): annotate patchFlags in generated code
2019-10-01 17:53:57 -04:00
Evan You
d67418002f
feat(compiler): generate patchFlags for runtime
2019-09-30 21:17:12 -04:00
Evan You
46bd9dbab0
perf: avoid using WeakSet for isRef check
2019-09-30 14:52:10 -04:00
Evan You
7f06981f7c
perf: using a _isVNode field is faster than a weakset
2019-09-30 14:52:10 -04:00
Evan You
ee66ce78b7
feat(compiler): transform slot outlets
2019-09-27 20:29:20 -04:00
Evan You
d900c13efb
refactor(compiler): separate Interpolation, SimpleExpression & CompoundExpression types
2019-09-27 11:42:02 -04:00
Evan You
ff2313e43a
wip(compiler): adjust statement positions
2019-09-25 15:09:58 -04:00
Evan You
597ada36ed
test: tests for v-bind transform
2019-09-24 22:03:28 -04:00
Evan You
6ad84614f7
feat: renderList helper for v-for
2019-09-24 21:32:29 -04:00
Evan You
9b06e04e0f
feat: v-on with no argument
2019-09-24 20:51:48 -04:00
Evan You
76a1196935
feat(runtime): support rendering comment nodes
2019-09-24 14:37:14 -04:00
Evan You
b3b67b8c7d
feat(compiler): ensure interpolation expressions are wrapped with toString()
2019-09-23 15:36:30 -04:00
Evan You
8076ce1f28
feat(compiler): handle runtime helper injection
2019-09-22 23:07:36 -04:00
Evan You
3a177a18d2
feat(compiler): element codegen
2019-09-22 16:50:57 -04:00
Haoqun Jiang
b275f8697d
test: add tests for rendererChildren ( #52 )
...
* test: [wip] add tests for rendererChildren
* chore: use serializeInner for clearer output
* fix: should remove the text node if content is empty
* test: also test for appended content
* test: inserting & removing
* test: moving children
* refactor: use a helper function
* test: finish tests
* test: duplicate keys tests belong to keyed children block
* fix(runtime-test): fix insert when moving node in the same parent
* fix: fix failing test cases for rendererChildren
* test: handle rendererChildren edge case
2019-09-20 18:17:35 -04:00
Evan You
8a923f6a52
refactor: move compile into compiler-core
2019-09-20 12:16:19 -04:00
Evan You
3ddd121b19
feat: on-the-fly template compilation
2019-09-20 00:24:16 -04:00
Evan You
d7aab859a3
feat: expose compiler APIs
2019-09-20 00:12:37 -04:00
Evan You
54a78f3856
chore: remove unnecessary enum initial value
2019-09-16 13:15:20 -04:00
Evan You
95e796fdb6
test: fix suspense tests in Node 12
2019-09-14 12:13:51 -04:00
Evan You
1c628d0b79
feat: re-suspense when encountering new async deps in resolved state
2019-09-12 12:16:01 -04:00
Evan You
4b3567035a
test: further improve suspense combined test case
2019-09-12 10:40:17 -04:00
Evan You
dfcf494483
test: more comprehesive combined suspense test
2019-09-12 10:31:56 -04:00
Evan You
3b1d87efbe
test: test suspense error handling
2019-09-12 01:52:14 -04:00
Evan You
b378b17076
chore: remove unnecessary code
2019-09-12 00:37:44 -04:00
Evan You
b30b17d22d
test: test nested suspense & nested async deps
2019-09-11 23:44:37 -04:00
Evan You
bbc3442c52
refactor: move resolveSuspense out
2019-09-11 17:38:26 -04:00
Evan You
6dc91971d1
wip(suspense): discard side effects when content is unmounted before resolve
2019-09-11 13:22:18 -04:00
Evan You
ccfcdb8746
test: more tests for suspense
2019-09-11 11:10:14 -04:00
Evan You
dff4e7cd44
fix: patching a component with pending async setup should update its props and slots
2019-09-11 11:10:13 -04:00
Evan You
356a01780b
wip: watcher callback handling inside suspense
2019-09-11 11:10:13 -04:00
Evan You
51914c76e8
wip: do not fire lifecycle hooks when already unmounted
2019-09-11 11:10:13 -04:00
Evan You
6bc368b2b6
wip: only buffer suspense effects when unresolved
2019-09-11 11:10:13 -04:00
Evan You
9ef987830d
wip: suspense buffer effects
2019-09-11 11:10:13 -04:00
Evan You
42967f1f5a
wip: pass proper args to patchDOMProp
2019-09-11 11:10:13 -04:00
Evan You
2677c91aba
wip: pass suspense down as argument
2019-09-11 11:10:13 -04:00
Evan You
0fff3a6ef5
wip: handle suspense as component root el update
2019-09-11 11:10:13 -04:00
Evan You
3959a2a2e1
test: test suspense fallback
2019-09-11 11:10:13 -04:00
Evan You
a16c87be63
wip: suspense refactor
2019-09-11 11:10:13 -04:00
Evan You
c9e625864a
wip: retry suspense async deps from resolved dep instead of root
2019-09-11 11:10:13 -04:00
Evan You
0d176ebf2a
test: update test
2019-09-11 11:10:13 -04:00
Evan You
bd15138ef5
test: basic test for suspense
2019-09-11 11:10:13 -04:00
Evan You
e688e69b1f
wip: handle move and unmount for suspense
2019-09-11 11:10:13 -04:00
Evan You
d5e9682040
wip: suspense feature flag
2019-09-11 11:10:13 -04:00
Evan You
7e70acf9c2
chore: todos
2019-09-11 11:10:13 -04:00
Evan You
02bb156314
wip: somewhat working suspense
2019-09-11 11:10:13 -04:00
Evan You
1dc9d81e3e
wip: suspense
2019-09-11 11:10:13 -04:00
Evan You
cc748db33b
chore: comments
2019-09-11 11:10:13 -04:00
Evan You
8b3aa60a18
wip: suspense ideas
2019-09-11 11:10:13 -04:00
Evan You
02e9fe3f7d
types: fix typing
2019-09-07 11:45:32 -04:00
Evan You
7950980dc3
fix: handle prev children is null in patch element
2019-09-07 11:42:07 -04:00
Evan You
3904678306
types: use stricter HostNode typings
2019-09-06 16:58:32 -04:00
Evan You
360f3b4f37
types: improve type exports
2019-09-06 12:58:31 -04:00
Evan You
d87bed0138
refactor: split componentRenderUtils
2019-09-06 11:25:11 -04:00
Evan You
0f25c29119
refactor: reorganize component related code and types
2019-09-06 11:19:22 -04:00
Evan You
4c075803b5
test: test for app.mixin & warnHandler
2019-09-05 20:59:45 -04:00
Evan You
891f21b010
refactor: extract hasOwn helper
2019-09-05 20:48:14 -04:00
Evan You
7eed0df3c2
wip: $data should only expose properties from data()
2019-09-05 20:36:35 -04:00
Evan You
94a05561f8
feat: fix all cases for h and options type inference
2019-09-05 18:48:49 -04:00
Evan You
9b90e673e8
wip: improve options typing
2019-09-05 16:09:30 -04:00
Evan You
369b9eb583
types: props validation for h
2019-09-05 11:11:33 -04:00
Evan You
81a31f79dc
feat: created/beforeCreate
2019-09-05 10:20:40 -04:00
Evan You
a6de6daa17
wip: disable tracking in all hooks
2019-09-04 18:20:47 -04:00
Evan You
13298bc4fa
test: test for options API
2019-09-04 18:16:11 -04:00
Evan You
7cd33587ba
types: errorCaptured can return void
2019-09-04 13:50:57 -04:00
Evan You
02de984f1f
feat: mixins/extends/assets options
2019-09-04 11:37:00 -04:00
Evan You
b4c909c260
feat: $nextTick, $forceUpdate, $watch
2019-09-03 23:04:11 -04:00
Evan You
a6616e4210
feat: 2.x options support
2019-09-03 22:25:38 -04:00
Evan You
cbc8dddd15
chore: fix test
2019-09-03 20:31:53 -04:00
Evan You
40d33a3973
wip: remove config.silent
2019-09-03 20:17:25 -04:00
Evan You
406dcb0a7a
test: test app asset retrieval
2019-09-03 18:30:52 -04:00
Evan You
acda3cf2d9
chore: fix type
2019-09-03 18:24:32 -04:00
Evan You
98d1406214
test: test for app-level APIs
2019-09-03 18:11:04 -04:00
Evan You
c5ec29ff9b
wip: render() should receive no args, expose props on renderContext as readonly
2019-09-03 15:27:59 -04:00
Evan You
b2d269a651
build: use api-extractor for type rollup
2019-09-03 12:16:22 -04:00
Evan You
015d5dd0f1
feat: asset resolution
2019-09-02 16:43:26 -04:00
Evan You
67fd5b6091
chore: put warning in dev block
2019-09-02 16:16:08 -04:00
Evan You
32713f8fce
feat: createApp / appContext
2019-09-02 16:09:34 -04:00
Evan You
aac807bc63
test: test for directives
2019-09-02 12:09:29 -04:00
Evan You
94e72481b8
test: todo
2019-08-31 22:18:21 -04:00
Evan You
9b428c6d83
feat: directives
2019-08-31 22:17:46 -04:00
Evan You
0f0ca4ae7c
wip: vnodeXXX directive hooks
2019-08-31 17:06:39 -04:00
Evan You
1c6ecf4144
wip: avoid including full error type strings in prod
2019-08-31 16:43:02 -04:00
Evan You
a3b0f2bd1c
feat: applyDirectives
2019-08-31 16:36:36 -04:00
Evan You
6801885f57
test: more coverage for error handling
2019-08-30 16:20:32 -04:00
Evan You
be28f976af
test: tests for error handling
2019-08-30 16:08:10 -04:00
Evan You
d5684e1a9d
wip: function slot tips
2019-08-30 15:34:57 -04:00
Evan You
0cd8e16366
wip: warn slots when invoked in setup()
2019-08-30 15:26:16 -04:00
Evan You
cb09289474
chore: test comments
2019-08-30 15:16:19 -04:00
Evan You
09593c94c3
feat: error handling in scheduler
2019-08-30 15:15:23 -04:00
Evan You
966d7b5487
feat: error handling for setup / render / watch / event handlers
2019-08-30 15:05:39 -04:00
Evan You
1d55b368e8
test: add test case for regsitering onBeforeUnmount inside onMounted
2019-08-30 13:48:27 -04:00
Evan You
7fe82398f7
refactor: call instead of wrap
2019-08-30 12:22:41 -04:00
Evan You
3d681f8bcd
feat: error handling for lifecycle hooks
2019-08-30 12:16:09 -04:00
Evan You
fd018b83b5
feat: warning context
2019-08-30 10:36:30 -04:00
Evan You
010e64c224
test: restructure
2019-08-29 16:56:31 -04:00
Evan You
10bbf52c09
test: test for h
2019-08-29 16:47:00 -04:00
Evan You
ac625e03fe
test: test for template ref usage in setup()
2019-08-29 16:39:23 -04:00