mirror of https://github.com/webpack/webpack.git
				
				
				
			
		
			
				
	
	
		
			85 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
/* global describe, it */
 | 
						|
"use strict";
 | 
						|
 | 
						|
const should = require("should");
 | 
						|
 | 
						|
const path = require("path");
 | 
						|
const webpack = require("../lib/webpack");
 | 
						|
 | 
						|
describe("NodeTemplatePlugin", () => {
 | 
						|
 | 
						|
	it("should compile and run a simple module", (done) => {
 | 
						|
		webpack({
 | 
						|
			context: path.join(__dirname, "fixtures", "nodetest"),
 | 
						|
			target: "node",
 | 
						|
			output: {
 | 
						|
				path: path.join(__dirname, "js"),
 | 
						|
				filename: "result.js",
 | 
						|
				chunkFilename: "[hash].result.[id].js",
 | 
						|
				library: "abc",
 | 
						|
				libraryTarget: "commonjs",
 | 
						|
			},
 | 
						|
			entry: "./entry",
 | 
						|
			plugins: [
 | 
						|
				new webpack.optimize.UglifyJsPlugin()
 | 
						|
			]
 | 
						|
		}, (err, stats) => {
 | 
						|
			if(err) return err;
 | 
						|
			stats.hasErrors().should.be.not.ok();
 | 
						|
			stats.hasWarnings().should.be.not.ok();
 | 
						|
			const result = require("./js/result").abc;
 | 
						|
			result.nextTick.should.be.equal(process.nextTick);
 | 
						|
			result.fs.should.be.equal(require("fs"));
 | 
						|
			result.loadChunk(456, (chunk) => {
 | 
						|
				chunk.should.be.eql(123);
 | 
						|
				result.loadChunk(567, (chunk) => {
 | 
						|
					chunk.should.be.eql({
 | 
						|
						a: 1
 | 
						|
					});
 | 
						|
					done();
 | 
						|
				});
 | 
						|
			});
 | 
						|
		});
 | 
						|
	});
 | 
						|
 | 
						|
	it("should compile and run a simple module in single mode", (done) => {
 | 
						|
		webpack({
 | 
						|
			context: path.join(__dirname, "fixtures", "nodetest"),
 | 
						|
			target: "node",
 | 
						|
			output: {
 | 
						|
				path: path.join(__dirname, "js"),
 | 
						|
				filename: "result2.js",
 | 
						|
				chunkFilename: "[hash].result2.[id].js",
 | 
						|
				library: "def",
 | 
						|
				libraryTarget: "umd",
 | 
						|
				auxiliaryComment: "test"
 | 
						|
			},
 | 
						|
			entry: "./entry",
 | 
						|
			plugins: [
 | 
						|
				new webpack.optimize.LimitChunkCountPlugin({
 | 
						|
					maxChunks: 1
 | 
						|
				}),
 | 
						|
				new webpack.optimize.UglifyJsPlugin()
 | 
						|
			]
 | 
						|
		}, (err, stats) => {
 | 
						|
			if(err) return err;
 | 
						|
			stats.hasErrors().should.be.not.ok();
 | 
						|
			const result = require("./js/result2");
 | 
						|
			result.nextTick.should.be.equal(process.nextTick);
 | 
						|
			result.fs.should.be.equal(require("fs"));
 | 
						|
			const sameTick = true;
 | 
						|
			result.loadChunk(456, (chunk) => {
 | 
						|
				chunk.should.be.eql(123);
 | 
						|
				sameTick.should.be.eql(true);
 | 
						|
				result.loadChunk(567, (chunk) => {
 | 
						|
					chunk.should.be.eql({
 | 
						|
						a: 1
 | 
						|
					});
 | 
						|
					done();
 | 
						|
				});
 | 
						|
			});
 | 
						|
		});
 | 
						|
	});
 | 
						|
 | 
						|
});
 |