diff options
author | Frederik Rietdijk <fridh@fridh.nl> | 2017-07-29 13:08:11 +0200 |
---|---|---|
committer | Frederik Rietdijk <fridh@fridh.nl> | 2017-07-29 13:08:11 +0200 |
commit | b2608b891062dcc95e50f00c304b297a727adf97 (patch) | |
tree | 8b5c8773a75724455e3b67cb563ea84b0f9ec5e5 /pkgs/development/ruby-modules/bundled-common/test.nix | |
parent | 55357de67a2acfb11ba1a3633454c20acc9b54e7 (diff) | |
parent | 140f47eb748f9b24a77fa40a1f1ffd2376a24b81 (diff) | |
download | nixlib-b2608b891062dcc95e50f00c304b297a727adf97.tar nixlib-b2608b891062dcc95e50f00c304b297a727adf97.tar.gz nixlib-b2608b891062dcc95e50f00c304b297a727adf97.tar.bz2 nixlib-b2608b891062dcc95e50f00c304b297a727adf97.tar.lz nixlib-b2608b891062dcc95e50f00c304b297a727adf97.tar.xz nixlib-b2608b891062dcc95e50f00c304b297a727adf97.tar.zst nixlib-b2608b891062dcc95e50f00c304b297a727adf97.zip |
Merge remote-tracking branch 'upstream/master' into HEAD
Diffstat (limited to 'pkgs/development/ruby-modules/bundled-common/test.nix')
-rw-r--r-- | pkgs/development/ruby-modules/bundled-common/test.nix | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/pkgs/development/ruby-modules/bundled-common/test.nix b/pkgs/development/ruby-modules/bundled-common/test.nix new file mode 100644 index 000000000000..ee3754595f39 --- /dev/null +++ b/pkgs/development/ruby-modules/bundled-common/test.nix @@ -0,0 +1,50 @@ +{ stdenv, writeText, lib, ruby, defaultGemConfig, callPackage, test, stubs, should }@defs: +let + testConfigs = { + inherit lib; + gemConfig = defaultGemConfig; + }; + functions = (import ./functions.nix testConfigs); +in + builtins.concatLists [ + ( test.run "All set, no gemdir" (functions.bundlerFiles { + gemfile = test/Gemfile; + lockfile = test/Gemfile.lock; + gemset = test/gemset.nix; + }) { + gemfile = should.equal test/Gemfile; + lockfile = should.equal test/Gemfile.lock; + gemset = should.equal test/gemset.nix; + }) + + ( test.run "Just gemdir" (functions.bundlerFiles { + gemdir = test/.; + }) { + gemfile = should.equal test/Gemfile; + lockfile = should.equal test/Gemfile.lock; + gemset = should.equal test/gemset.nix; + }) + + ( test.run "Gemset and dir" (functions.bundlerFiles { + gemdir = test/.; + gemset = test/extraGemset.nix; + }) { + gemfile = should.equal test/Gemfile; + lockfile = should.equal test/Gemfile.lock; + gemset = should.equal test/extraGemset.nix; + }) + + ( test.run "Filter empty gemset" {} (set: functions.filterGemset {inherit ruby; groups = ["default"]; } set == {})) + ( let gemSet = { test = { groups = ["x" "y"]; }; }; + in + test.run "Filter matches a group" gemSet (set: functions.filterGemset {inherit ruby; groups = ["y" "z"];} set == gemSet)) + ( let gemSet = { test = { platforms = []; }; }; + in + test.run "Filter matches empty platforms list" gemSet (set: functions.filterGemset {inherit ruby; groups = [];} set == gemSet)) + ( let gemSet = { test = { platforms = [{engine = ruby.rubyEngine; version = ruby.version.majMin;}]; }; }; + in + test.run "Filter matches on platform" gemSet (set: functions.filterGemset {inherit ruby; groups = [];} set == gemSet)) + ( let gemSet = { test = { groups = ["x" "y"]; }; }; + in + test.run "Filter excludes based on groups" gemSet (set: functions.filterGemset {inherit ruby; groups = ["a" "b"];} set == {})) + ] |