1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 | var path = require('path');
|
9 | var fs = require('fs');
|
10 | var fis = require('fis3');
|
11 | var _ = fis.util;
|
12 | var expect = require('chai').expect;
|
13 | var _release = fis.require('command-release/lib/release.js');
|
14 | var _deploy = fis.require('command-release/lib/deploy.js');
|
15 | var root = path.join(__dirname, 'src');
|
16 |
|
17 | fis.project.setProjectRoot(root);
|
18 | var _self = require('../index');
|
19 |
|
20 | function release(opts, cb) {
|
21 | opts = opts || {};
|
22 |
|
23 | _release(opts, function(error, info) {
|
24 | _deploy(info, cb);
|
25 | });
|
26 | }
|
27 |
|
28 | describe('fis3-hook-lego findup & autoLoad', function() {
|
29 |
|
30 |
|
31 | beforeEach(function() {
|
32 | var dev = path.join(__dirname, 'dev');
|
33 |
|
34 | _.del(dev);
|
35 |
|
36 |
|
37 |
|
38 | _self.options = {
|
39 | cssInline: false
|
40 | };
|
41 | fis.match('::package', {
|
42 | packager: _self
|
43 | });
|
44 |
|
45 | fis.match('*', {
|
46 | deploy: fis.plugin('local-deliver', {
|
47 | to: dev
|
48 | })
|
49 | });
|
50 |
|
51 | fis.hook('commonjs');
|
52 | fis.hook('lego');
|
53 |
|
54 |
|
55 | fis.match(/^\/modules\/(.+)\.js$/, {
|
56 | isMod: true,
|
57 | id: '$1'
|
58 | })
|
59 | .match(/^\/modules\/((?:[^\/]+\/)*)([^\/]+)\/\2\.(js)$/i, {
|
60 |
|
61 | id: '$1$2'
|
62 | })
|
63 | .match(/^\/lego_modules\/(.+)\.js$/i, {
|
64 | isMod: true,
|
65 | id: '$1'
|
66 | });
|
67 |
|
68 | fis.match(/^\/(pages\/.+)\.js$/, {
|
69 | isMod: true,
|
70 | id: '$1'
|
71 | });
|
72 |
|
73 | });
|
74 |
|
75 | it('lego hook', function(done) {
|
76 | fis.on('release:end', function(ret) {
|
77 |
|
78 |
|
79 | expect(2).to.equal(2);
|
80 | });
|
81 |
|
82 |
|
83 | release({
|
84 | unique: true
|
85 | }, function() {
|
86 | done();
|
87 | fis.log.info('release complete');
|
88 | });
|
89 | });
|
90 | });
|
91 |
|
92 |
|
93 | describe('fis3-packager-smart pack', function() {
|
94 |
|
95 |
|
96 | beforeEach(function() {
|
97 | var dist = path.join(__dirname, 'dist');
|
98 |
|
99 | _.del(dist);
|
100 |
|
101 |
|
102 |
|
103 |
|
104 | _self.options = {
|
105 | autoPack: true,
|
106 | cssInline: true
|
107 | };
|
108 |
|
109 | fis.match('::package', {
|
110 | packager: _self
|
111 | });
|
112 |
|
113 | fis.match('*', {
|
114 | deploy: fis.plugin('local-deliver', {
|
115 | to: dist
|
116 | })
|
117 | });
|
118 |
|
119 | fis.hook('commonjs');
|
120 |
|
121 |
|
122 | fis.match(/^\/modules\/(.+)\.js$/, {
|
123 | isMod: true,
|
124 | id: '$1'
|
125 | })
|
126 | .match(/^\/modules\/((?:[^\/]+\/)*)([^\/]+)\/\2\.(js)$/i, {
|
127 |
|
128 | id: '$1$2'
|
129 | })
|
130 | .match(/^\/lego_modules\/(.+)\.js$/i, {
|
131 | isMod: true,
|
132 | id: '$1'
|
133 | });
|
134 |
|
135 | fis.match(/^\/(pages\/.+)\.js$/, {
|
136 | isMod: true,
|
137 | id: '$1'
|
138 | });
|
139 |
|
140 | });
|
141 |
|
142 | it('lego hook', function(done) {
|
143 |
|
144 | release({
|
145 | unique: true
|
146 | }, function() {
|
147 | expect(fs.existsSync(path.join(root, '../dist', 'pkg/common_min.js'))).to.be.true;
|
148 | expect(fs.existsSync(path.join(root, '../dist', 'pkg/pages/index/main_min.js'))).to.be.true;
|
149 | expect(fs.existsSync(path.join(root, '../dist', 'pkg/pages/index/main_async_min.js'))).to.be.true;
|
150 | done();
|
151 | fis.log.info('release complete');
|
152 | });
|
153 | });
|
154 | });
|
155 |
|
156 |
|
157 |
|
158 | describe('fis3-packager-smart pack - jsAllInOne', function() {
|
159 |
|
160 | var dist = path.join(__dirname, 'allInOne');
|
161 | beforeEach(function() {
|
162 |
|
163 |
|
164 | _.del(dist);
|
165 |
|
166 | _self.options = {
|
167 | autoPack: true,
|
168 | cssInline: true,
|
169 | jsAllInOne: true
|
170 | };
|
171 |
|
172 | fis.match('::package', {
|
173 | packager: _self
|
174 | });
|
175 |
|
176 | fis.match('*', {
|
177 | deploy: fis.plugin('local-deliver', {
|
178 | to: dist
|
179 | })
|
180 | });
|
181 |
|
182 | fis.hook('commonjs');
|
183 |
|
184 |
|
185 | fis.match(/^\/modules\/(.+)\.js$/, {
|
186 | isMod: true,
|
187 | id: '$1'
|
188 | })
|
189 | .match(/^\/modules\/((?:[^\/]+\/)*)([^\/]+)\/\2\.(js)$/i, {
|
190 |
|
191 | id: '$1$2'
|
192 | })
|
193 | .match(/^\/lego_modules\/(.+)\.js$/i, {
|
194 | isMod: true,
|
195 | id: '$1'
|
196 | });
|
197 |
|
198 | fis.match(/^\/(pages\/.+)\.js$/, {
|
199 | isMod: true,
|
200 | id: '$1'
|
201 | });
|
202 |
|
203 | });
|
204 |
|
205 | it('lego hook', function(done) {
|
206 |
|
207 | release({
|
208 | unique: true
|
209 | }, function() {
|
210 | expect(fs.existsSync(path.join(dist, 'pkg/index.html_aio.js'))).to.be.true;
|
211 | var content = fs.readFileSync(path.join(dist, 'index.html'));
|
212 | expect(/<script\ssrc=\"\/pkg\/index\.html_aio\.js\"><\/script>/.test(content)).to.be.true;
|
213 | done();
|
214 | fis.log.info('release complete');
|
215 | });
|
216 | });
|
217 | }); |
\ | No newline at end of file |