diff --git a/.gitignore b/.gitignore index e69de29..267c5ef 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/to-absolute-glob-0.1.1.tgz diff --git a/nodejs-to-absolute-glob.spec b/nodejs-to-absolute-glob.spec new file mode 100644 index 0000000..e19ef0d --- /dev/null +++ b/nodejs-to-absolute-glob.spec @@ -0,0 +1,72 @@ +%{?nodejs_find_provides_and_requires} + +%global packagename to-absolute-glob +%global enable_tests 1 + +Name: nodejs-to-absolute-glob +Version: 0.1.1 +Release: 1%{?dist} +Summary: Make a glob pattern absolute + +License: MIT +URL: https://github.com/jonschlinkert/to-absolute-glob.git +Source0: https://registry.npmjs.org/%{packagename}/-/%{packagename}-%{version}.tgz +# The test files are not included in the npm tarball. +Source1: https://raw.githubusercontent.com/jonschlinkert/to-absolute-glob/master/test.js + + +BuildArch: noarch +%if 0%{?fedora} >= 19 +ExclusiveArch: %{nodejs_arches} noarch +%else +ExclusiveArch: %{ix86} x86_64 %{arm} noarch +%endif + +BuildRequires: nodejs-packaging +BuildRequires: npm(extend-shallow) +%if 0%{?enable_tests} +BuildRequires: mocha +BuildRequires: npm(minimist) +%endif + +%description +Make a glob pattern absolute, ensuring that negative globs and patterns with +trailing slashes are correctly handled. + + +%prep +%setup -q -n package +# setup the tests +cp -p %{SOURCE1} . + + +%build +# nothing to do! + +%install +mkdir -p %{buildroot}%{nodejs_sitelib}/%{packagename} +cp -pr package.json index.js \ + %{buildroot}%{nodejs_sitelib}/%{packagename} + +%nodejs_symlink_deps + +%check +%nodejs_symlink_deps --check +%{__nodejs} -e 'require("./")' +%if 0%{?enable_tests} +%{_bindir}/mocha -R spec +%else +%{_bindir}/echo -e "\e[101m -=#=- Tests disabled -=#=- \e[0m" +%endif + + +%files +%{!?_licensedir:%global license %doc} +%doc *.md +%license LICENSE +%{nodejs_sitelib}/%{packagename} + + +%changelog +* Sat Feb 20 2016 Jared Smith - 0.1.1-1 +- Initial packaging diff --git a/sources b/sources index e69de29..d50d678 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +cb78819635d1ec0de30228ab72c2f102 to-absolute-glob-0.1.1.tgz diff --git a/test.js b/test.js new file mode 100644 index 0000000..47180aa --- /dev/null +++ b/test.js @@ -0,0 +1,65 @@ +'use strict'; + +require('mocha'); +var path = require('path'); +var assert = require('assert'); +var resolve = require('./'); +var actual, fixture; + +describe('resolve', function () { + it('should make a path absolute', function () { + assert.equal(resolve('a'), path.resolve('a')); + }); + + it('should make a glob absolute', function () { + assert.equal(resolve('a/*.js'), path.resolve('a/*.js')); + }); + + it('should retain trailing slashes', function () { + actual = resolve('a/*/'); + assert.equal(actual, path.resolve('a/*') + '/'); + assert(actual.slice(-1) === '/'); + }); + + it('should retain trailing slashes with cwd', function () { + fixture = './fixtures/whatsgoingon/*/'; + actual = resolve(fixture, {cwd: __dirname}); + assert.equal(actual, path.resolve(fixture) + '/'); + assert(actual.slice(-1) === '/'); + }); + + it('should make a negative glob absolute', function () { + actual = resolve('!a/*.js'); + assert.equal(actual, '!' + path.resolve('a/*.js')); + }); + + it('should make a glob absolute from a cwd', function () { + actual = resolve('a/*.js', {cwd: 'foo'}); + assert.equal(actual, path.resolve('foo/a/*.js')); + }); + + it('should make a negative glob absolute from a cwd', function () { + actual = resolve('!a/*.js', {cwd: 'foo'}); + assert.equal(actual, '!' + path.resolve('foo/a/*.js')); + }); + + it('should make a glob absolute from a root path', function () { + actual = resolve('/a/*.js', {root: 'foo'}); + assert.equal(actual, path.resolve('foo/a/*.js')); + }); + + it('should make a glob absolute from a root slash', function () { + actual = resolve('/a/*.js', {root: '/'}); + assert.equal(actual, path.resolve('/a/*.js')); + }); + + it('should make a glob absolute from a negative root path', function () { + actual = resolve('!/a/*.js', {root: 'foo'}); + assert.equal(actual, '!' + path.resolve('foo/a/*.js')); + }); + + it('should make a negative glob absolute from a negative root path', function () { + actual = resolve('!/a/*.js', {root: '/'}) + assert.equal(actual, '!' + path.resolve('/a/*.js')); + }); +});