diff --git a/.gitignore b/.gitignore index e69de29..d5145f5 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/arr-diff-2.0.0.tgz diff --git a/nodejs-arr-diff.spec b/nodejs-arr-diff.spec new file mode 100644 index 0000000..d8a5f08 --- /dev/null +++ b/nodejs-arr-diff.spec @@ -0,0 +1,78 @@ +%{?nodejs_find_provides_and_requires} + +%global packagename arr-diff +%global enable_tests 1 + +Name: nodejs-arr-diff +Version: 2.0.0 +Release: 2%{?dist} +Summary: Returns an array with only the unique values from the first array + +License: MIT +URL: https://github.com/jonschlinkert/arr-diff.git +Source0: https://registry.npmjs.org/%{packagename}/-/%{packagename}-%{version}.tgz +# The test files are not included in the npm tarball, and the 2.0.0 release is +# not yet tagged on Github +Source1: https://raw.githubusercontent.com/jonschlinkert/arr-diff/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(arr-flatten) +%if 0%{?enable_tests} +BuildRequires: mocha +BuildRequires: npm(should) +%endif + +%description +Returns an array with only the unique values from the first array, by excluding +all values from additional arrays using strict equality for comparisons. + + +%prep +%setup -q -n package +# setup the tests +cp -p %{SOURCE1} . + +chmod -x ./LICENSE + + +%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 +* Fri Feb 12 2016 Jared Smith - 2.0.0-2 +- Fix BuildRequires and exclude test.js from package + +* Wed Feb 3 2016 Jared Smith - 2.0.0-1 +- Initial packaging diff --git a/sources b/sources index e69de29..638c82d 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +5aa32e7c03b612d64d433306ecfcd392 arr-diff-2.0.0.tgz diff --git a/test.js b/test.js new file mode 100644 index 0000000..aacb7c5 --- /dev/null +++ b/test.js @@ -0,0 +1,38 @@ +'use strict'; + +require('mocha'); +require('should'); +var diff = require('./'); + +describe('diff', function () { + it('should diff array:', function () { + diff(['a', 'b', 'c'], ['b', 'c', 'e']).should.eql(['a']); + diff(['x', 'b', 'c', 'e', 'y'], ['b', 'x', 'e']).should.eql(['c', 'y']); + diff(['x', 'x'], ['a', 'b', 'c']).should.eql(['x', 'x']); + diff(['x'], ['a', 'b', 'c']).should.eql(['x']); + }); + + it('should include duplicates:', function () { + diff(['x', 'b', 'b', 'b', 'c', 'e', 'y'], ['x', 'e']).should.eql(['b', 'b', 'b', 'c', 'y']); + }); + + it('should diff elements from multiple arrays:', function () { + diff(['a', 'b', 'c'], ['a'], ['b']).should.eql(['c']); + }); + + it('should return an empty array if no unique elements are in the first array:', function () { + diff(['a'], ['a', 'b', 'c']).should.eql([]); + }); + + it('should return the first array if the second array is empty:', function () { + diff(['a', 'b', 'c'], []).should.eql(['a', 'b', 'c']); + }); + + it('should return the first array if no other args are passed:', function () { + diff(['a', 'b', 'c']).should.eql(['a', 'b', 'c']); + }); + + it('should iterate over sparse arguments:', function () { + diff(['a', 'b', 'c'], null, ['a', 'b']).should.eql(['c']); + }); +});