1
+ /**
2
+ * Copyright 2018 The AMP HTML Authors. All Rights Reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS-IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ const test = require ( 'ava' ) ;
18
+ const path = require ( 'path' ) ;
19
+ const rollup = require ( 'rollup' ) ;
20
+ const { default : compiler } = require ( '../../transpile/index' ) ;
21
+
22
+ const options = {
23
+ externs : [
24
+ path . resolve ( 'test' , 'provided-externs' , 'fixtures' , 'class.externs.js' ) ,
25
+ ] ,
26
+ compilation_level : 'ADVANCED' ,
27
+ } ;
28
+ const optionsCopy = { ...options } ;
29
+
30
+ async function compile ( ) {
31
+ const bundle = await rollup . rollup ( {
32
+ input : `test/provided-externs/fixtures/class.js` ,
33
+ plugins : [
34
+ compiler ( options ) ,
35
+ ] ,
36
+ } ) ;
37
+
38
+ await bundle . generate ( {
39
+ format : 'es' ,
40
+ sourcemap : true ,
41
+ } ) ;
42
+ }
43
+
44
+ test ( `building does not modify passed configuration` , async t => {
45
+ await compile ( ) ;
46
+
47
+ t . deepEqual ( options , optionsCopy ) ;
48
+ } ) ;
0 commit comments