aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--stdlib/source/program/aedifex/format.lux8
-rw-r--r--stdlib/source/program/aedifex/parser.lux29
-rw-r--r--stdlib/source/test/aedifex/input.lux3
-rw-r--r--stdlib/source/test/aedifex/parser.lux69
4 files changed, 38 insertions, 71 deletions
diff --git a/stdlib/source/program/aedifex/format.lux b/stdlib/source/program/aedifex/format.lux
index af03bf827..f6b737fdf 100644
--- a/stdlib/source/program/aedifex/format.lux
+++ b/stdlib/source/program/aedifex/format.lux
@@ -27,10 +27,10 @@
#url (~ (code.text url))
#type (~ (case type
#/.Repo
- (' #repo)
+ (' "repo")
#/.Manual
- (' #manual)))]))
+ (' "manual")))]))
(def: (organization [name url])
(Format /.Organization)
@@ -60,7 +60,7 @@
(Format Aggregate)
(|>> dictionary.entries
(list\each (function (_ [key value])
- (list (code.local_tag key) value)))
+ (list (code.text key) value)))
list\conjoint
code.tuple))
@@ -141,7 +141,7 @@
(` [(~ (code.text program))
(~+ (list\each code.text parameters))]))
-(def: .public (profile value)
+(def: (profile value)
(Format /.Profile)
(`` (|> ..empty
(..on_list "parents" (value@ #/.parents value) code.text)
diff --git a/stdlib/source/program/aedifex/parser.lux b/stdlib/source/program/aedifex/parser.lux
index 0284d3ced..315021712 100644
--- a/stdlib/source/program/aedifex/parser.lux
+++ b/stdlib/source/program/aedifex/parser.lux
@@ -84,22 +84,22 @@
(do {! <>.monad}
[input (\ ! each
(dictionary.of_list text.hash)
- (<code>.tuple (<>.some (<>.and <code>.local_tag
+ (<code>.tuple (<>.some (<>.and <code>.text
<code>.any))))]
($_ <>.and
(..singular input "name" ..name)
(..singular input "url" ..url)
(<>.else #/.Repo
(..singular input "type"
- (<>.or (<code>.this! (' #repo))
- (<code>.this! (' #manual))))))))
+ (<>.or (<code>.this! (' "repo"))
+ (<code>.this! (' "manual"))))))))
(def: organization
(Parser /.Organization)
(do {! <>.monad}
[input (\ ! each
(dictionary.of_list text.hash)
- (<code>.tuple (<>.some (<>.and <code>.local_tag
+ (<code>.tuple (<>.some (<>.and <code>.text
<code>.any))))]
($_ <>.and
(..singular input "name" ..name)
@@ -110,7 +110,7 @@
(do {! <>.monad}
[input (\ ! each
(dictionary.of_list text.hash)
- (<code>.tuple (<>.some (<>.and <code>.local_tag
+ (<code>.tuple (<>.some (<>.and <code>.text
<code>.any))))]
($_ <>.and
(..singular input "name" ..name)
@@ -127,7 +127,7 @@
(do {! <>.monad}
[input (\ ! each
(dictionary.of_list text.hash)
- (<code>.tuple (<>.some (<>.and <code>.local_tag
+ (<code>.tuple (<>.some (<>.and <code>.text
<code>.any))))]
($_ <>.and
(<>.maybe (..singular input "url" ..url))
@@ -183,7 +183,7 @@
(do {! <>.monad}
[input (\ ! each
(dictionary.of_list text.hash)
- (<code>.tuple (<>.some (<>.and <code>.local_tag
+ (<code>.tuple (<>.some (<>.and <code>.text
<code>.any))))
.let [^parents (: (Parser (List /.Name))
(<>.else (list)
@@ -260,14 +260,7 @@
(def: .public project
(Parser Project)
- (let [default_profile (: (Parser Project)
- (\ <>.monad each
- (|>> [/.default] (list) (dictionary.of_list text.hash))
- ..profile))
- multi_profile (: (Parser Project)
- (\ <>.monad each
- (dictionary.of_list text.hash)
- (<code>.tuple (<>.many (<>.and <code>.text
- ..profile)))))]
- (<>.either multi_profile
- default_profile)))
+ (\ <>.monad each
+ (dictionary.of_list text.hash)
+ (<code>.tuple (<>.many (<>.and <code>.text
+ ..profile)))))
diff --git a/stdlib/source/test/aedifex/input.lux b/stdlib/source/test/aedifex/input.lux
index 39dec3ced..eef2673f8 100644
--- a/stdlib/source/test/aedifex/input.lux
+++ b/stdlib/source/test/aedifex/input.lux
@@ -51,7 +51,8 @@
(in (do async.monad
[verdict (do //action.monad
[.let [profile (|> expected
- //format.profile
+ (//project.project //.default)
+ //format.project
%.code
(\ utf8.codec encoded))]
_ (\ fs write profile //project.file)
diff --git a/stdlib/source/test/aedifex/parser.lux b/stdlib/source/test/aedifex/parser.lux
index 7d15e6dda..cb72c3726 100644
--- a/stdlib/source/test/aedifex/parser.lux
+++ b/stdlib/source/test/aedifex/parser.lux
@@ -66,61 +66,34 @@
(-> //.Profile //.Profile)
(revised@ #//.repositories (set.has //.default_repository)))
-(def: single_profile
- Test
- (do random.monad
- [expected @profile.random]
- (_.test "Single profile."
- (|> expected
- //format.profile
- list
- (<code>.result /.project)
- (case> (#try.Success actual)
- (|> expected
- ..with_default_sources
- ..with_default_repository
- (//project.project //.default)
- (\ //project.equivalence = actual))
-
- (#try.Failure error)
- false)))))
-
(def: (with_empty_profile project)
(-> Project Project)
(if (dictionary.empty? project)
(//project.project //.default (\ //.monoid identity))
project))
-(def: multiple_profiles
- Test
- (do random.monad
- [expected ..random]
- (_.test "Multiple profiles."
- (|> expected
- //format.project
- list
- (<code>.result /.project)
- (case> (#try.Success actual)
- (|> expected
- ..with_empty_profile
- dictionary.entries
- (list\each (function (_ [name profile])
- [name (|> profile
- ..with_default_sources
- ..with_default_repository)]))
- (dictionary.of_list text.hash)
- (\ //project.equivalence = actual))
-
- (#try.Failure error)
- false)))))
-
(def: .public test
Test
(<| (_.covering /._)
(_.covering //format._)
- (_.for [/.project
- //format.Format //format.profile //format.project]
- ($_ _.and
- ..single_profile
- ..multiple_profiles
- ))))
+ (do random.monad
+ [expected ..random]
+ (_.cover [/.project
+ //format.Format //format.project]
+ (|> expected
+ //format.project
+ list
+ (<code>.result /.project)
+ (case> (#try.Success actual)
+ (|> expected
+ ..with_empty_profile
+ dictionary.entries
+ (list\each (function (_ [name profile])
+ [name (|> profile
+ ..with_default_sources
+ ..with_default_repository)]))
+ (dictionary.of_list text.hash)
+ (\ //project.equivalence = actual))
+
+ (#try.Failure error)
+ false))))))