SLING-7226 - accept relative or absolute paths in 'with path' clause
diff --git a/src/main/javacc/RepoInitGrammar.jjt b/src/main/javacc/RepoInitGrammar.jjt
index 9c606c2..7c2215f 100644
--- a/src/main/javacc/RepoInitGrammar.jjt
+++ b/src/main/javacc/RepoInitGrammar.jjt
@@ -164,7 +164,8 @@
Token t = null;
}
{
- <WITH> <PATH> t=<PATH_STRING>
+ /* accept relative (string) or absolute path */
+ <WITH> <PATH> ( t=<STRING> | t=<PATH_STRING> )
{ return t.image; }
}
diff --git a/src/test/resources/testcases/test-1-output.txt b/src/test/resources/testcases/test-1-output.txt
index 2b66939..1152cc9 100644
--- a/src/test/resources/testcases/test-1-output.txt
+++ b/src/test/resources/testcases/test-1-output.txt
@@ -2,4 +2,5 @@
CreateServiceUser alice
CreateServiceUser tom21
CreateServiceUser lonesome
-CreateServiceUser pathA with path /some/test/path
+CreateServiceUser pathA with path some/relative/path
+CreateServiceUser pathA with path /some/absolute/path
diff --git a/src/test/resources/testcases/test-1.txt b/src/test/resources/testcases/test-1.txt
index 89684f3..01abd85 100644
--- a/src/test/resources/testcases/test-1.txt
+++ b/src/test/resources/testcases/test-1.txt
@@ -1,3 +1,4 @@
create service user bob,alice, tom21
create service user lonesome
-create service user pathA with path /some/test/path
\ No newline at end of file
+create service user pathA with path some/relative/path
+create service user pathA with path /some/absolute/path
\ No newline at end of file
diff --git a/src/test/resources/testcases/test-60-output.txt b/src/test/resources/testcases/test-60-output.txt
index 428cd59..25c848d 100644
--- a/src/test/resources/testcases/test-60-output.txt
+++ b/src/test/resources/testcases/test-60-output.txt
@@ -5,4 +5,6 @@
CreateUser userE (with encoded password), password=afdgwdsdf, passwordEncoding=someEncoding
CreateUser one_with-more-chars.ok:/123456 (with encoded password), password=pw-with.ok-:/13456, passwordEncoding=encoding_with.ok-:/12345
CreateUser userF with path /thePathF
-CreateUser userG with path /thePathG (with encoded password), password=userGpwd, passwordEncoding=theEncoding
\ No newline at end of file
+CreateUser userG with path /thePathG (with encoded password), password=userGpwd, passwordEncoding=theEncoding
+CreateUser userH with path thePathH
+CreateUser userJ with path thePathJ (with encoded password), password=userJpwd, passwordEncoding=theEncoding
\ No newline at end of file
diff --git a/src/test/resources/testcases/test-60.txt b/src/test/resources/testcases/test-60.txt
index 5ac827b..7b8fe14 100644
--- a/src/test/resources/testcases/test-60.txt
+++ b/src/test/resources/testcases/test-60.txt
@@ -11,4 +11,6 @@
create user one_with-more-chars.ok:/123456 with password {encoding_with.ok-:/12345} pw-with.ok-:/13456
create user userF with path /thePathF
-create user userG with path /thePathG with password {theEncoding} userGpwd
\ No newline at end of file
+create user userG with path /thePathG with password {theEncoding} userGpwd
+create user userH with path thePathH
+create user userJ with path thePathJ with password {theEncoding} userJpwd
\ No newline at end of file
diff --git a/src/test/resources/testcases/test-99-output.txt b/src/test/resources/testcases/test-99-output.txt
index ee17510..9cbe34e 100644
--- a/src/test/resources/testcases/test-99-output.txt
+++ b/src/test/resources/testcases/test-99-output.txt
@@ -7,7 +7,8 @@
AclLine DENY {principals=[user1], privileges=[jcr:lockManagement]}
AclLine REMOVE {principals=[u3], privileges=[jcr:understand, some:other]}
CreateServiceUser bob_the_service
-CreateServiceUser zoo_the_keeper with path /keeper/zoo
+CreateServiceUser zoo_the_keeper with path relative/zoo
+CreateServiceUser zoo_the_keeper with path /absolute/zoo
SetAclPaths on /tmp
AclLine ALLOW {principals=[bob_the_service], privileges=[some:otherPrivilege]}
CreatePath [content, example.com(sling:Folder)]
@@ -34,5 +35,7 @@
CreateUser one_with-more-chars.ok:/123456 (with encoded password), password=pw-with.ok-:/13456, passwordEncoding=encoding_with.ok-:/12345
CreateUser userF with path /for/userF
CreateUser userG with path /for/userG (with password), password=ggg
+CreateUser userH with path for/userH
+CreateUser userJ with path for/userJ (with password), password=jjj
CreateServiceUser the-last-one
DisableServiceUser svc1 : This is the message
diff --git a/src/test/resources/testcases/test-99.txt b/src/test/resources/testcases/test-99.txt
index cd288c4..4529364 100644
--- a/src/test/resources/testcases/test-99.txt
+++ b/src/test/resources/testcases/test-99.txt
@@ -11,7 +11,8 @@
end
create service user bob_the_service
-create service user zoo_the_keeper with path /keeper/zoo
+create service user zoo_the_keeper with path relative/zoo
+create service user zoo_the_keeper with path /absolute/zoo
# Verify that indent is not required
set ACL on /tmp
@@ -57,6 +58,8 @@
create user one_with-more-chars.ok:/123456 with password {encoding_with.ok-:/12345} pw-with.ok-:/13456
create user userF with path /for/userF
create user userG with path /for/userG with password ggg
+create user userH with path for/userH
+create user userJ with path for/userJ with password jjj
create service user the-last-one
disable service user svc1 : "This is the message"