diff --git a/.gitignore b/.gitignore index e69de29..09b6df8 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/try-open-0.1.3.tgz diff --git a/nodejs-try-open.spec b/nodejs-try-open.spec new file mode 100644 index 0000000..57484d0 --- /dev/null +++ b/nodejs-try-open.spec @@ -0,0 +1,73 @@ +%{?nodejs_find_provides_and_requires} + +%global packagename try-open +%global enable_tests 1 + +Name: nodejs-try-open +Version: 0.1.3 +Release: 1%{?dist} +Summary: Tries to open a file using fs.openSync, fails gracefully + +License: MIT +URL: https://github.com/jonschlinkert/try-open +Source0: https://registry.npmjs.org/%{packagename}/-/%{packagename}-%{version}.tgz +# The test files are not included in the npm tarball. +# Releases haven't been tagged in Github, so pull tests from master +Source1: https://raw.githubusercontent.com/jonschlinkert/try-open/master/test.js + + +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 +Tries to open a file using fs.openSync (only necessary with sync), fails +gracefully if the file path does not exist on the file system. Since +fs.existsSync has been deprecated, this can be used as an alternative. + + +%prep +%autosetup -n package +# setup the tests +cp -p %{SOURCE1} . + +mkdir fixtures +touch fixtures/a.txt + +%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} +NODE_ENV=test %{_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 +* Thu Jul 28 2016 Jared Smith - 0.1.3-1 +- Initial packaging diff --git a/sources b/sources index e69de29..7fa6c13 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +190be2a656abb4751d3f23f9d7d31987 try-open-0.1.3.tgz diff --git a/test.js b/test.js new file mode 100644 index 0000000..4294ad3 --- /dev/null +++ b/test.js @@ -0,0 +1,27 @@ +'use strict'; + +require('mocha'); +var fs = require('fs'); +var assert = require('assert'); +var tryOpen = require('./'); + +describe('open', function() { + it('should export a function', function() { + assert.equal(typeof tryOpen, 'function'); + }); + + it('should open a file', function() { + assert.equal(typeof tryOpen('package.json', 'r'), 'number'); + assert.equal(typeof tryOpen('fixtures/a.txt', 'r'), 'number'); + }); + + it('should return false if a file does not exist when a flag is passed', function() { + var fd = tryOpen('foo.bar', 'r'); + assert.equal(fd, false); + }); + + it('should return false if a file does not exist when no flags are passed', function() { + var fd = tryOpen('foo.bar'); + assert.equal(fd, false); + }); +});