diff --git a/.gitignore b/.gitignore index e69de29..32e93ed 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/dotfile-regex-0.1.2.tgz diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..33754da --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015 Jon Schlinkert + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/nodejs-dotfile-regex.spec b/nodejs-dotfile-regex.spec new file mode 100644 index 0000000..8601b89 --- /dev/null +++ b/nodejs-dotfile-regex.spec @@ -0,0 +1,74 @@ +%{?nodejs_find_provides_and_requires} + +%global packagename dotfile-regex +%global enable_tests 1 + +Name: nodejs-dotfile-regex +Version: 0.1.2 +Release: 1%{?dist} +Summary: Regular expression for matching dotfiles + +License: MIT +URL: https://github.com/regexps/dotfile-regex +Source0: https://registry.npmjs.org/%{packagename}/-/%{packagename}-%{version}.tgz +# The test files are not included in the npm tarball. +# The 0.1.2 release is not tagged in github, so pull from master for now +Source1: https://raw.githubusercontent.com/regexps/dotfile-regex/master/test.js +# License file isn't in the npm tarball either :-( +Source2: https://raw.githubusercontent.com/regexps/dotfile-regex/master/LICENSE + + +BuildArch: noarch +%if 0%{?fedora} >= 19 +ExclusiveArch: %{nodejs_arches} noarch +%else +ExclusiveArch: %{ix86} x86_64 %{arm} noarch +%endif + +BuildRequires: nodejs-packaging +%if 0%{?enable_tests} +BuildRequires: mocha +%endif + +%description +Regular expression for matching dotfiles. + + +%prep +%setup -q -n package +# setup the tests +cp -p %{SOURCE1} . +# license file +cp -p %{SOURCE2} . + + +%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 "Tests disabled..." +%endif + + +%files +%{!?_licensedir:%global license %doc} +%doc *.md +%license LICENSE +%{nodejs_sitelib}/%{packagename} + + +%changelog +* Tue Feb 9 2016 Jared Smith - 0.1.2-1 +- Initial packaging diff --git a/sources b/sources index e69de29..188e93c 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +39ed18eb17718b17908fea8aae3cab91 dotfile-regex-0.1.2.tgz diff --git a/test.js b/test.js new file mode 100644 index 0000000..6d9f54e --- /dev/null +++ b/test.js @@ -0,0 +1,48 @@ +/*! + * dotfile-regex + * + * Copyright (c) 2015 Jon Schlinkert. + * Licensed under the MIT License + */ + +'use strict'; + +var assert = require('assert'); +var re = require('./')(); + +it('should match dotfiles', function () { + assert.equal(re.exec('a/b/c/d/.gitignore')[0], '/.gitignore'); + assert.equal(re.exec('a/b/c/d/.gitignore')[1], '.gitignore'); + assert.equal(re.exec('a/.b/c/.gitignore')[0], '/.gitignore'); + assert.equal(re.exec('a/.b/c/.gitignore')[1], '.gitignore'); + assert.equal(re.exec('a/.gitignore')[0], '/.gitignore'); + assert.equal(re.exec('a/.gitignore')[1], '.gitignore'); + assert.equal(re.exec('.gitignore')[0], '.gitignore'); + assert.equal(re.exec('.gitignore')[1], '.gitignore'); + assert.equal(re.exec('/.gitignore')[0], '/.gitignore'); + assert.equal(re.exec('/.gitignore')[1], '.gitignore'); +}); + +it('should not match non-dotfiles', function () { + assert.equal(re.exec('a/b/c/d/e.js'), null); + assert.equal(re.exec('a/b.c.d/e.js'), null); + assert.equal(re.exec('a/b.js'), null); + assert.equal(re.exec('a/.b/c/a.js'), null); + assert.equal(re.exec('.gitignore/foo'), null); +}); + +it('should return false when the file is not a dotfile', function () { + assert.equal(re.test('a/b/c/d/e.js'), false); + assert.equal(re.test('a/b.c.d/e.js'), false); + assert.equal(re.test('a/b.js'), false); + assert.equal(re.test('a/.b/c/a.js'), false); + assert.equal(re.test('.gitignore/foo'), false); +}); + +it('should return true when the file is a dotfile', function () { + assert.equal(re.test('a/b/c/d/.gitignore'), true); + assert.equal(re.test('a/.b/c/.gitignore'), true); + assert.equal(re.test('a/.gitignore'), true); + assert.equal(re.test('.gitignore'), true); + assert.equal(re.test('/.gitignore'), true); +});