diff --git a/test/getCurrentRequest.test.js b/test/getCurrentRequest.test.js new file mode 100644 index 0000000..70086d2 --- /dev/null +++ b/test/getCurrentRequest.test.js @@ -0,0 +1,34 @@ +'use strict'; + +const loaderUtils = require('../'); + +describe('getCurrentRequest()', () => { + it('when currentRequest is present', () => { + expect( + loaderUtils.getCurrentRequest({ + currentRequest: + '/foo/bar/my-loader/index.js??ref--4-0!/foo/bar/url/url.css', + }) + ).toBe('/foo/bar/my-loader/index.js??ref--4-0!/foo/bar/url/url.css'); + }); + + it('when currentRequest is present', () => { + expect( + loaderUtils.getCurrentRequest({ + resource: 'foo.css', + loaders: [ + { + loaderIndex: 0, + request: '/foo/bar/first-loader/index.js??ref--4-0', + }, + { + loaderIndex: 1, + request: '/foo/bar/second-loader/index.js??ref--4-1', + }, + ], + }) + ).toBe( + '/foo/bar/first-loader/index.js??ref--4-0!/foo/bar/second-loader/index.js??ref--4-1!foo.css' + ); + }); +}); diff --git a/test/getRemainingRequest.test.js b/test/getRemainingRequest.test.js new file mode 100644 index 0000000..6e2fb0e --- /dev/null +++ b/test/getRemainingRequest.test.js @@ -0,0 +1,34 @@ +'use strict'; + +const loaderUtils = require('../'); + +describe('getRemainingRequest()', () => { + it('when currentRequest is present', () => { + expect( + loaderUtils.getRemainingRequest({ + remainingRequest: + '/foo/bar/my-loader/index.js??ref--4-0!/foo/bar/url/url.css', + }) + ).toBe('/foo/bar/my-loader/index.js??ref--4-0!/foo/bar/url/url.css'); + }); + + it('when currentRequest is present', () => { + expect( + loaderUtils.getRemainingRequest({ + resource: 'foo.css', + loaders: [ + { + loaderIndex: 0, + request: '/foo/bar/first-loader/index.js??ref--4-0', + }, + { + loaderIndex: 1, + request: '/foo/bar/second-loader/index.js??ref--4-1', + }, + ], + }) + ).toBe( + '/foo/bar/first-loader/index.js??ref--4-0!/foo/bar/second-loader/index.js??ref--4-1!foo.css' + ); + }); +}); diff --git a/test/interpolateName.test.js b/test/interpolateName.test.js index 0d3f67d..20df069 100644 --- a/test/interpolateName.test.js +++ b/test/interpolateName.test.js @@ -244,5 +244,18 @@ describe('interpolateName()', () => { 'xyz-[name]-special', 'should provide a custom interpolateName function in options', ], + [ + [ + { + resourcePath: '/foo/xyz.png', + }, + '[1]-[name].[ext]', + { + regExp: /\/([a-z0-9]+)\/[a-z0-9]+\.png$/, + }, + ], + 'foo-xyz.png', + 'should support regExp in options', + ], ]); });