@@ -254,3 +254,127 @@ describe('server-with-specify-dest', function() {
254254
255255} ) ;
256256
257+ describe ( 'server-with-define' , function ( ) {
258+
259+ var app = null ;
260+ var args = null ;
261+
262+ before ( function ( done ) {
263+ args = {
264+ cwd : join ( fixtures , 'define' ) ,
265+ define : 'prod' ,
266+ debug : true
267+ } ;
268+ process . chdir ( args . cwd ) ;
269+ var pkgFile = join ( args . cwd , 'package.json' ) ;
270+ if ( existsSync ( pkgFile ) ) {
271+ args . pkg = JSON . parse ( readFileSync ( pkgFile , 'utf-8' ) ) ;
272+ args . pkg . spm . hash = false ;
273+ }
274+ sw . build . getWebpackOpts ( args , function ( err , webpackOpts ) {
275+ var server = new Server ( sw . webpack ( webpackOpts ) , args ) ;
276+ app = server . app ;
277+ server . once ( 'done' , done ) ;
278+ } ) ;
279+ } ) ;
280+
281+ it ( 'get /a.js' , function ( done ) {
282+ request ( app . listen ( ) )
283+ . get ( '/a.js' )
284+ . expect ( function ( res ) {
285+ if ( res . text . indexOf ( 'NAME' ) > - 1 || res . text . indexOf ( 'AGE' ) > - 1 || res . text . indexOf ( 'FLAG' ) > - 1 ) {
286+ throw new Error ( 'define param failed' ) ;
287+ } else if ( res . text . indexOf ( 'console.log(("prod"), (-1), (true));' ) === - 1 ) {
288+ throw new Error ( 'define param to a wrong value' ) ;
289+ }
290+ } )
291+ . end ( function ( err ) {
292+ if ( err ) return done ( err ) ;
293+ done ( ) ;
294+ } ) ;
295+ } ) ;
296+
297+ } ) ;
298+
299+ describe ( 'server-with-define-default' , function ( ) {
300+
301+ var app = null ;
302+ var args = null ;
303+
304+ before ( function ( done ) {
305+ args = {
306+ cwd : join ( fixtures , 'define' ) ,
307+ define : true ,
308+ debug : true
309+ } ;
310+ process . chdir ( args . cwd ) ;
311+ var pkgFile = join ( args . cwd , 'package.json' ) ;
312+ if ( existsSync ( pkgFile ) ) {
313+ args . pkg = JSON . parse ( readFileSync ( pkgFile , 'utf-8' ) ) ;
314+ args . pkg . spm . hash = false ;
315+ }
316+ sw . build . getWebpackOpts ( args , function ( err , webpackOpts ) {
317+ var server = new Server ( sw . webpack ( webpackOpts ) , args ) ;
318+ app = server . app ;
319+ server . once ( 'done' , done ) ;
320+ } ) ;
321+ } ) ;
322+
323+ it ( 'get /a.js' , function ( done ) {
324+ request ( app . listen ( ) )
325+ . get ( '/a.js' )
326+ . expect ( function ( res ) {
327+ if ( res . text . indexOf ( 'NAME' ) > - 1 || res . text . indexOf ( 'AGE' ) > - 1 || res . text . indexOf ( 'FLAG' ) > - 1 ) {
328+ throw new Error ( 'define param failed' ) ;
329+ } else if ( res . text . indexOf ( 'console.log(("default"), (0), (false));' ) === - 1 ) {
330+ throw new Error ( 'define param to a wrong value' ) ;
331+ }
332+ } )
333+ . end ( function ( err ) {
334+ if ( err ) return done ( err ) ;
335+ done ( ) ;
336+ } ) ;
337+ } ) ;
338+
339+ } ) ;
340+ /*describe('server-with-define-cli', function() {
341+
342+ var app = null;
343+ var args = null;
344+
345+ before(function (done) {
346+ args = {
347+ cwd : join(fixtures, 'define'),
348+ define: '{NAME:"cli",AGE:999,FLAG:true}',
349+ debug: true
350+ };
351+ process.chdir(args.cwd);
352+ var pkgFile = join(args.cwd, 'package.json');
353+ if (existsSync(pkgFile)) {
354+ args.pkg = JSON.parse(readFileSync(pkgFile, 'utf-8'));
355+ args.pkg.spm.hash = false;
356+ }
357+ sw.build.getWebpackOpts(args, function (err, webpackOpts) {
358+ var server = new Server(sw.webpack(webpackOpts), args);
359+ app = server.app;
360+ server.once('done', done);
361+ });
362+ });
363+
364+ it('get /a.js', function(done) {
365+ request(app.listen())
366+ .get('/a.js')
367+ .expect(function(res){
368+ if(res.text.indexOf('NAME') > -1 || res.text.indexOf('AGE') > -1 || res.text.indexOf('FLAG') > -1){
369+ throw new Error('define param failed');
370+ }else if(res.text.indexOf('console.log(("cli"), (999), (true));') === -1){
371+ throw new Error('define param to a wrong value');
372+ }
373+ })
374+ .end(function(err){
375+ if (err) return done(err);
376+ done();
377+ });
378+ });
379+
380+ });*/
0 commit comments