lix/tests/lang
Nicolas B. Pierron b8867a0239 Add builtins.string function.
The function 'builtins.split' takes a POSIX extended regular expression
and an arbitrary string. It returns a list of non-matching substring
interleaved by lists of matched groups of the regular expression.

```nix
with builtins;
assert split "(a)b" "abc"      == [ "" [ "a" ] "c" ];
assert split "([ac])" "abc"    == [ "" [ "a" ] "b" [ "c" ] "" ];
assert split "(a)|(c)" "abc"   == [ "" [ "a" null ] "b" [ null "c" ] "" ];
assert split "([[:upper:]]+)" "  FOO   "
                               == [ "  " [ "FOO" ] "   " ];
```
2017-08-15 20:04:11 +00:00
..
dir1 * Add a Nix expression search path feature. Paths between angle 2011-08-06 16:05:24 +00:00
dir2 * Add a Nix expression search path feature. Paths between angle 2011-08-06 16:05:24 +00:00
dir3 * Add a Nix expression search path feature. Paths between angle 2011-08-06 16:05:24 +00:00
dir4 * Add a Nix expression search path feature. Paths between angle 2011-08-06 16:05:24 +00:00
readDir Add test for readDir primop 2014-10-03 22:32:11 +02:00
eval-fail-abort.nix * New primop: abort "error message". 2006-08-23 15:46:00 +00:00
eval-fail-antiquoted-path.nix Add a regression test for correct path antiquotation behavior 2013-10-16 23:29:11 +02:00
eval-fail-assert.nix * More test coverage. 2006-03-01 16:26:13 +00:00
eval-fail-bad-antiquote-1.nix Add a test for type correctness of antiquotes 2013-10-17 00:51:07 +02:00
eval-fail-bad-antiquote-2.nix Add a test for type correctness of antiquotes 2013-10-17 00:51:07 +02:00
eval-fail-bad-antiquote-3.nix Add a test for type correctness of antiquotes 2013-10-17 00:51:07 +02:00
eval-fail-blackhole.nix
eval-fail-deepseq.nix Add ‘deepSeq’ primop 2014-09-22 16:05:00 +02:00
eval-fail-missing-arg.nix * Allow function argument default values to refer to other arguments 2006-05-08 12:52:47 +00:00
eval-fail-path-slash.nix Update mailing list. 2017-07-18 08:04:01 -04:00
eval-fail-remove.nix
eval-fail-scope-5.nix * More tests. 2006-05-02 11:20:55 +00:00
eval-fail-seq.nix Add ‘seq’ primop 2014-09-22 16:05:00 +02:00
eval-fail-substring.nix New primitives: 2007-01-29 14:23:09 +00:00
eval-fail-to-path.nix * Another test. 2006-10-17 11:16:02 +00:00
eval-fail-undeclared-arg.nix * Allow function argument default values to refer to other arguments 2006-05-08 12:52:47 +00:00
eval-okay-any-all.exp Add primops all and any 2015-07-23 19:23:11 +02:00
eval-okay-any-all.nix Add primops all and any 2015-07-23 19:23:11 +02:00
eval-okay-arithmetic.exp Let the ordering operators also work on strings 2013-08-02 18:53:02 +02:00
eval-okay-arithmetic.nix Test some more primops 2014-02-26 19:08:44 +01:00
eval-okay-attrnames.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-attrnames.nix Add primop ‘attrValues’ 2014-10-04 16:41:24 +02:00
eval-okay-attrs.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-attrs.nix * More test coverage. 2006-03-01 16:26:13 +00:00
eval-okay-attrs2.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-attrs2.nix * New builtin functions builtins.{hasAttr, getAttr} to check for 2006-09-22 14:31:55 +00:00
eval-okay-attrs3.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-attrs3.nix * Some syntactic sugar for attribute sets: allow {x.y.z = ...;} as a 2009-05-15 12:35:23 +00:00
eval-okay-attrs4.exp * Test case. 2011-07-06 10:58:53 +00:00
eval-okay-attrs4.nix * Test case. 2011-07-06 10:58:53 +00:00
eval-okay-attrs5.exp * Allow a default value in attribute selection by writing 2011-07-13 12:19:57 +00:00
eval-okay-attrs5.nix Fix test broken by #762 2016-02-15 15:01:26 +01:00
eval-okay-autoargs.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-autoargs.flags * Option --argstr for passing string arguments easily. (NIX-75) 2007-01-14 12:32:44 +00:00
eval-okay-autoargs.nix Fix typos, especially those that end up in the Nix manual 2013-08-26 11:15:22 +02:00
eval-okay-builtins.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-builtins.nix * A new primop `builtins', which returns an attribute set containing 2006-08-23 14:39:11 +00:00
eval-okay-callable-attrs.exp Add functors (callable attribute sets). 2014-11-15 16:12:05 -05:00
eval-okay-callable-attrs.nix Add functors (callable attribute sets). 2014-11-15 16:12:05 -05:00
eval-okay-catattrs.exp Add primop ‘catAttrs’ 2014-10-04 18:15:03 +02:00
eval-okay-catattrs.nix Add primop ‘catAttrs’ 2014-10-04 18:15:03 +02:00
eval-okay-closure.exp.xml * Generalised the dependencyClosure primop to builtins.genericClosure, 2008-07-11 13:29:04 +00:00
eval-okay-closure.nix * Generalised the dependencyClosure primop to builtins.genericClosure, 2008-07-11 13:29:04 +00:00
eval-okay-comments.exp Fix comments parsing 2016-11-13 17:20:34 +01:00
eval-okay-comments.nix Fix comments parsing 2016-11-13 17:20:34 +01:00
eval-okay-concat.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-concat.nix
eval-okay-concatstringssep.exp Add concatStringsSep as a primop 2015-07-24 02:38:09 +02:00
eval-okay-concatstringssep.nix Add concatStringsSep as a primop 2015-07-24 02:38:09 +02:00
eval-okay-context.exp * Check for duplicate attribute names / function arguments. `make 2010-04-22 11:02:24 +00:00
eval-okay-context.nix Fix context test 2014-10-18 20:34:48 -04:00
eval-okay-curpos.exp Add a symbol __curPos that expands to the current source location 2013-11-18 20:16:02 +01:00
eval-okay-curpos.nix Add a symbol __curPos that expands to the current source location 2013-11-18 20:16:02 +01:00
eval-okay-deepseq.exp Add ‘deepSeq’ primop 2014-09-22 16:05:00 +02:00
eval-okay-deepseq.nix Add ‘deepSeq’ primop 2014-09-22 16:05:00 +02:00
eval-okay-delayed-with-inherit.exp Simplify inherited attribute handling 2013-08-26 11:31:56 +02:00
eval-okay-delayed-with-inherit.nix Simplify inherited attribute handling 2013-08-26 11:31:56 +02:00
eval-okay-delayed-with.exp Test the delayed with a bit more 2013-07-31 13:12:35 +02:00
eval-okay-delayed-with.nix Test the delayed with a bit more 2013-07-31 13:12:35 +02:00
eval-okay-dynamic-attrs-2.exp Fold dynamic binds handling into addAttr 2013-12-31 17:57:10 -05:00
eval-okay-dynamic-attrs-2.nix Fold dynamic binds handling into addAttr 2013-12-31 17:57:10 -05:00
eval-okay-dynamic-attrs-bare.exp Allow "bare" dynamic attrs 2014-01-14 14:00:15 +01:00
eval-okay-dynamic-attrs-bare.nix Allow "bare" dynamic attrs 2014-01-14 14:00:15 +01:00
eval-okay-dynamic-attrs.exp Dynamic attrs 2013-12-31 20:59:49 +00:00
eval-okay-dynamic-attrs.nix Dynamic attrs 2013-12-31 20:59:49 +00:00
eval-okay-elem.exp Test some more primops 2014-02-26 19:08:44 +01:00
eval-okay-elem.nix Test some more primops 2014-02-26 19:08:44 +01:00
eval-okay-empty-args.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-empty-args.nix * Allow empty argument lists in function definitions (e.g., `{}: 2007-05-15 12:14:37 +00:00
eval-okay-eq-derivations.exp * Add a test case for comparing derivations. 2012-01-19 22:10:24 +00:00
eval-okay-eq-derivations.nix * Add a test case for comparing derivations. 2012-01-19 22:10:24 +00:00
eval-okay-eq.exp.disabled * Okay, that's a bit harder than expected. 2006-08-30 13:10:04 +00:00
eval-okay-eq.nix * TDD: == should do a deep equality test, i.e., it should strictly 2006-08-30 12:25:27 +00:00
eval-okay-filter.exp Test some more primops 2014-02-26 19:08:44 +01:00
eval-okay-filter.nix Test some more primops 2014-02-26 19:08:44 +01:00
eval-okay-flatten.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-flatten.nix * Builtin function `add' to add integers. 2006-09-22 15:29:21 +00:00
eval-okay-fromjson.exp Add builtin function ‘fromJSON’ 2014-07-04 13:34:15 +02:00
eval-okay-fromjson.nix Fix broken number parsing in fromJSON 2016-02-15 15:01:26 +01:00
eval-okay-functionargs.exp.xml * Two primops: builtins.intersectAttrs and builtins.functionArgs. 2009-09-15 13:01:46 +00:00
eval-okay-functionargs.nix * Two primops: builtins.intersectAttrs and builtins.functionArgs. 2009-09-15 13:01:46 +00:00
eval-okay-getattrpos.exp Add a primop unsafeGetAttrPos to return the position of an attribute 2013-11-18 22:22:35 +01:00
eval-okay-getattrpos.nix Add a primop unsafeGetAttrPos to return the position of an attribute 2013-11-18 22:22:35 +01:00
eval-okay-getenv.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-getenv.nix * Builtin function `getEnv' for getting environment variables. 2006-09-24 17:48:41 +00:00
eval-okay-hash.exp Support SHA-512 hashes 2015-11-04 16:37:49 +01:00
eval-okay-hash.nix Support SHA-512 hashes 2015-11-04 16:37:49 +01:00
eval-okay-if.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-if.nix * More test coverage. 2006-03-01 16:26:13 +00:00
eval-okay-import.exp Add primop ‘scopedImport’ 2014-05-26 14:26:29 +02:00
eval-okay-import.nix Add primop ‘scopedImport’ 2014-05-26 14:26:29 +02:00
eval-okay-ind-string.exp Fix lexer to support $' in multiline strings. 2017-05-01 01:15:40 +02:00
eval-okay-ind-string.nix Fix lexer to support $' in multiline strings. 2017-05-01 01:15:40 +02:00
eval-okay-let.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-let.nix
eval-okay-list.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-list.nix * Builtin function `add' to add integers. 2006-09-22 15:29:21 +00:00
eval-okay-listtoattrs.exp * Regression test for listToAttr's behaviour if an attribute name 2010-10-23 22:55:30 +00:00
eval-okay-listtoattrs.nix * Keep attribute sets in sorted order to speed up attribute lookups. 2010-10-24 19:52:33 +00:00
eval-okay-logic.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-logic.nix * More test coverage. 2006-03-01 16:26:13 +00:00
eval-okay-map.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-map.nix * Builtin function `add' to add integers. 2006-09-22 15:29:21 +00:00
eval-okay-new-let.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-new-let.nix * Finally, a real "let" syntax: `let x = ...; ... z = ...; in ...'. 2006-10-02 15:52:44 +00:00
eval-okay-null-dynamic-attrs.exp If a dynamic attribute name evaluates to null, remove it from the set 2014-03-10 10:14:50 +01:00
eval-okay-null-dynamic-attrs.nix If a dynamic attribute name evaluates to null, remove it from the set 2014-03-10 10:14:50 +01:00
eval-okay-overrides.exp * Regression test for __overrides. 2010-10-22 15:15:12 +00:00
eval-okay-overrides.nix * Regression test for __overrides. 2010-10-22 15:15:12 +00:00
eval-okay-partition.exp Add builtin function "partition" 2016-08-29 19:36:54 +02:00
eval-okay-partition.nix Add builtin function "partition" 2016-08-29 19:36:54 +02:00
eval-okay-pathexists.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-pathexists.nix * Fix the tests wrt the AST changes, i.e., Str(s) -> Str(s, []), and 2006-10-17 11:08:59 +00:00
eval-okay-patterns.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-patterns.nix * Simplify @-patterns: only {attrs}@name' or name@{attrs}' are now 2010-03-25 12:19:41 +00:00
eval-okay-readDir.exp Add test for readDir primop 2014-10-03 22:32:11 +02:00
eval-okay-readDir.nix Add test for readDir primop 2014-10-03 22:32:11 +02:00
eval-okay-readfile.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-readfile.nix * New primop `readFile' to get the contents of a file as a string. 2007-11-21 13:49:59 +00:00
eval-okay-redefine-builtin.exp Add the ExprBuiltin Expr type to the AST 2013-12-31 17:45:47 +00:00
eval-okay-redefine-builtin.nix Add the ExprBuiltin Expr type to the AST 2013-12-31 17:45:47 +00:00
eval-okay-regex-match.exp Add a primop for regular expression pattern matching 2014-11-25 11:47:06 +01:00
eval-okay-regex-match.nix Document that builtins.match takes a POSIX extended RE 2017-05-17 12:18:18 +02:00
eval-okay-regex-split.nix Add builtins.string function. 2017-08-15 20:04:11 +00:00
eval-okay-remove.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-remove.nix
eval-okay-replacestrings.exp Add replaceStrings primop 2015-07-24 15:32:24 +02:00
eval-okay-replacestrings.nix Add replaceStrings primop 2015-07-24 15:32:24 +02:00
eval-okay-scope-1.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-scope-1.nix
eval-okay-scope-2.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-scope-2.nix
eval-okay-scope-3.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-scope-3.nix
eval-okay-scope-4.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-scope-4.nix * Tests for NIX-45. 2006-05-02 11:15:04 +00:00
eval-okay-scope-6.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-scope-6.nix * More tests. 2006-05-02 11:20:55 +00:00
eval-okay-scope-7.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-scope-7.nix * Change the scoping of "inherit (e) ..." in recs so that the 2009-05-15 13:46:13 +00:00
eval-okay-search-path.exp Fix test 2014-05-29 19:04:27 +02:00
eval-okay-search-path.flags * Allow redirections in search path entries. E.g. if you have a 2011-08-06 17:48:57 +00:00
eval-okay-search-path.nix Rename nixPath to __nixPath 2014-07-30 11:28:39 +02:00
eval-okay-seq.exp Add ‘seq’ primop 2014-09-22 16:05:00 +02:00
eval-okay-seq.nix Add ‘seq’ primop 2014-09-22 16:05:00 +02:00
eval-okay-sort.exp Add sort primop 2015-07-28 18:39:39 +02:00
eval-okay-sort.nix Add sort primop 2015-07-28 18:39:39 +02:00
eval-okay-string.exp Fix the parsing of "$"'s in strings. 2015-07-03 14:09:58 +02:00
eval-okay-string.nix Fix the parsing of "$"'s in strings. 2015-07-03 14:09:58 +02:00
eval-okay-strings-as-attrs-names.exp * Allow attribute names to be strings. Based on the 2011-07-13 15:53:24 +00:00
eval-okay-strings-as-attrs-names.nix * Allow attribute names to be strings. Based on the 2011-07-13 15:53:24 +00:00
eval-okay-substring.exp * builtins.substring: if "start" is beyond the end of the string, 2011-01-14 12:47:10 +00:00
eval-okay-substring.nix * builtins.substring: if "start" is beyond the end of the string, 2011-01-14 12:47:10 +00:00
eval-okay-tail-call-1.exp-disabled Disable the tail call test 2014-01-06 11:32:22 +01:00
eval-okay-tail-call-1.nix Add a test to check that tail calls run in bounded stack space 2013-11-12 12:34:22 +01:00
eval-okay-tojson.exp Adapt tests to show that floats work properly. 2016-01-06 10:03:24 +01:00
eval-okay-tojson.nix Adapt tests to show that floats work properly. 2016-01-06 10:03:24 +01:00
eval-okay-toxml.exp * Sync with the trunk. 2010-05-07 14:46:47 +00:00
eval-okay-toxml.nix Make source location info in the XML output optional. 2010-03-31 12:38:31 +00:00
eval-okay-toxml2.exp * Sync with the trunk. 2010-05-07 14:46:47 +00:00
eval-okay-toxml2.nix * Sync with the trunk. 2010-05-07 14:46:47 +00:00
eval-okay-tryeval.exp * Print attributes in sorted order. 2010-05-12 12:15:49 +00:00
eval-okay-tryeval.nix * Implemented tryEval, the last missing primop in the fast-eval 2010-05-12 11:23:44 +00:00
eval-okay-types.exp Adapt tests to show that floats work properly. 2016-01-06 10:03:24 +01:00
eval-okay-types.nix Adapt tests to show that floats work properly. 2016-01-06 10:03:24 +01:00
eval-okay-versions.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-versions.nix * Export the nix-env derivation name parsing and version comparison 2008-07-01 10:10:32 +00:00
eval-okay-with.exp * Update the expected test output (no longer an ATerm). 2010-04-21 16:22:03 +00:00
eval-okay-with.nix * Doh. 2010-03-23 14:51:32 +00:00
eval-okay-xml.exp.xml Adapt tests to show that floats work properly. 2016-01-06 10:03:24 +01:00
eval-okay-xml.nix Adapt tests to show that floats work properly. 2016-01-06 10:03:24 +01:00
imported.nix Add primop ‘scopedImport’ 2014-05-26 14:26:29 +02:00
imported2.nix Add primop ‘scopedImport’ 2014-05-26 14:26:29 +02:00
lib.nix Add primop genList 2015-07-28 17:28:35 +02:00
parse-fail-dup-attrs-1.nix
parse-fail-dup-attrs-2.nix
parse-fail-dup-attrs-3.nix
parse-fail-dup-attrs-4.nix * Some syntactic sugar for attribute sets: allow {x.y.z = ...;} as a 2009-05-15 12:35:23 +00:00
parse-fail-dup-attrs-6.nix * Some syntactic sugar for attribute sets: allow {x.y.z = ...;} as a 2009-05-15 12:35:23 +00:00
parse-fail-dup-attrs-7.nix * Check for duplicate attribute names / function arguments. `make 2010-04-22 11:02:24 +00:00
parse-fail-dup-formals.nix
parse-fail-patterns-1.nix * @-patterns as in Haskell. For instance, in a function definition 2008-08-14 12:53:29 +00:00
parse-fail-regression-20060610.nix * This expression has an undefined variable which isn't detected, so 2006-07-10 17:35:00 +00:00
parse-fail-undef-var-2.nix * New language feature: domain checks, which check whether a function 2006-07-24 16:35:34 +00:00
parse-fail-undef-var.nix
parse-okay-1.nix
parse-okay-crlf.nix * Meh. 2006-08-16 10:29:43 +00:00
parse-okay-dup-attrs-5.nix * Check for duplicate attribute names / function arguments. `make 2010-04-22 11:02:24 +00:00
parse-okay-regression-751.nix Remove tests/lexer.sh 2016-02-01 18:27:37 +01:00
parse-okay-regression-20041027.nix
parse-okay-subversion.nix
parse-okay-url.nix