From bbb3c271482a11bad68a2314e643b4cb25929d7c Mon Sep 17 00:00:00 2001 From: Li Haoyi Date: Fri, 10 Dec 2021 15:34:35 +0800 Subject: [PATCH 1/7] . --- os/src/Path.scala | 6 +++--- os/test/src/PathTests.scala | 15 ++++++++++++--- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/os/src/Path.scala b/os/src/Path.scala index b34a3da6..3f4c54e2 100644 --- a/os/src/Path.scala +++ b/os/src/Path.scala @@ -408,14 +408,14 @@ object Path { else{ var xSeg = "" var ySeg = "" - var i = -1 + var i = 0 while ({ - i += 1 xSeg = x.getSegment(i) ySeg = y.getSegment(i) + i += 1 i < xSegCount && xSeg == ySeg }) () - if (i == xSegCount) 0 + if (i == xSegCount - 1) 0 else Ordering.String.compare(xSeg, ySeg) } } diff --git a/os/test/src/PathTests.scala b/os/test/src/PathTests.scala index d96a664d..9cc695fe 100644 --- a/os/test/src/PathTests.scala +++ b/os/test/src/PathTests.scala @@ -327,10 +327,19 @@ object PathTests extends TestSuite{ } } test("sorting"){ - assert( - Seq(root/"c", root, root/"b", root/"a").sorted == Seq(root, root/"a", root/"b", root/"c"), + test - assert( + Seq(root/"c", root, root/"b", root/"a").sorted == + Seq(root, root/"a", root/"b", root/"c") + ) + + test - assert( Seq(up/"c", up/up/"c", rel/"b"/"c", rel/"a"/"c", rel/"a"/"d").sorted == - Seq(rel/"a"/"c", rel/"a"/"d", rel/"b"/"c", up/"c", up/up/"c") + Seq(rel/"a"/"c", rel/"a"/"d", rel/"b"/"c", up/"c", up/up/"c") + ) + + test - assert( + Seq(os.root / "yo", os.root / "yo").sorted == + Seq(os.root / "yo", os.root / "yo") ) } test("construction"){ From 77557d91f1862c9b1557c228a9e0ff8478688ea3 Mon Sep 17 00:00:00 2001 From: Li Haoyi Date: Fri, 10 Dec 2021 15:48:47 +0800 Subject: [PATCH 2/7] . --- os/src/Path.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/os/src/Path.scala b/os/src/Path.scala index 3f4c54e2..78dd462c 100644 --- a/os/src/Path.scala +++ b/os/src/Path.scala @@ -415,7 +415,7 @@ object Path { i += 1 i < xSegCount && xSeg == ySeg }) () - if (i == xSegCount - 1) 0 + if (i == xSegCount + 1) 0 else Ordering.String.compare(xSeg, ySeg) } } From 91c146530761a3bad366b604f7ebe2179e1e7b43 Mon Sep 17 00:00:00 2001 From: Li Haoyi Date: Fri, 10 Dec 2021 15:53:26 +0800 Subject: [PATCH 3/7] . --- os/src/Path.scala | 4 ++-- os/test/src/PathTests.scala | 11 +++++++---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/os/src/Path.scala b/os/src/Path.scala index 78dd462c..f83dd043 100644 --- a/os/src/Path.scala +++ b/os/src/Path.scala @@ -415,8 +415,8 @@ object Path { i += 1 i < xSegCount && xSeg == ySeg }) () - if (i == xSegCount + 1) 0 - else Ordering.String.compare(xSeg, ySeg) + + Ordering.String.compare(xSeg, ySeg) } } } diff --git a/os/test/src/PathTests.scala b/os/test/src/PathTests.scala index 9cc695fe..c6755fe8 100644 --- a/os/test/src/PathTests.scala +++ b/os/test/src/PathTests.scala @@ -327,10 +327,13 @@ object PathTests extends TestSuite{ } } test("sorting"){ - test - assert( - Seq(root/"c", root, root/"b", root/"a").sorted == - Seq(root, root/"a", root/"b", root/"c") - ) + test - { + os.Path.pathOrdering.compare(root / "a", root / "b") +// assert( +// Seq(root/"c", root, root/"b", root/"a").sorted == +// Seq(root, root/"a", root/"b", root/"c") +// ) + } test - assert( Seq(up/"c", up/up/"c", rel/"b"/"c", rel/"a"/"c", rel/"a"/"d").sorted == From f8e10c8bed320f9a05033b8f9fe4fa7a830db3b7 Mon Sep 17 00:00:00 2001 From: Li Haoyi Date: Fri, 10 Dec 2021 15:53:48 +0800 Subject: [PATCH 4/7] . --- os/test/src/PathTests.scala | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/os/test/src/PathTests.scala b/os/test/src/PathTests.scala index c6755fe8..88ed6010 100644 --- a/os/test/src/PathTests.scala +++ b/os/test/src/PathTests.scala @@ -328,11 +328,10 @@ object PathTests extends TestSuite{ } test("sorting"){ test - { - os.Path.pathOrdering.compare(root / "a", root / "b") -// assert( -// Seq(root/"c", root, root/"b", root/"a").sorted == -// Seq(root, root/"a", root/"b", root/"c") -// ) + assert( + Seq(root/"c", root, root/"b", root/"a").sorted == + Seq(root, root/"a", root/"b", root/"c") + ) } test - assert( From c7a187b22b0c5fdf7891d9177836a1fce1de93a2 Mon Sep 17 00:00:00 2001 From: Li Haoyi Date: Fri, 10 Dec 2021 15:57:06 +0800 Subject: [PATCH 5/7] . --- os/src/Path.scala | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/os/src/Path.scala b/os/src/Path.scala index f83dd043..66db7075 100644 --- a/os/src/Path.scala +++ b/os/src/Path.scala @@ -413,10 +413,15 @@ object Path { xSeg = x.getSegment(i) ySeg = y.getSegment(i) i += 1 - i < xSegCount && xSeg == ySeg + val compared = Ordering.String.compare(xSeg, ySeg) + if (i == xSegCount) return compared + else compared match{ + case 0 => true // continue + case n => return n + } }) () - Ordering.String.compare(xSeg, ySeg) + ??? } } } From 3a9ec3f38856e1f469fea16f402a4327ce0ceb91 Mon Sep 17 00:00:00 2001 From: Li Haoyi Date: Fri, 10 Dec 2021 15:58:45 +0800 Subject: [PATCH 6/7] . --- os/src/Path.scala | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/os/src/Path.scala b/os/src/Path.scala index 66db7075..16ece94c 100644 --- a/os/src/Path.scala +++ b/os/src/Path.scala @@ -414,11 +414,8 @@ object Path { ySeg = y.getSegment(i) i += 1 val compared = Ordering.String.compare(xSeg, ySeg) - if (i == xSegCount) return compared - else compared match{ - case 0 => true // continue - case n => return n - } + if (i < xSegCount && compared == 0) true // continue + else return compared }) () ??? From d06ad996689f614c0ade58b8c13aea2775660c80 Mon Sep 17 00:00:00 2001 From: Li Haoyi Date: Fri, 10 Dec 2021 15:59:38 +0800 Subject: [PATCH 7/7] . --- os/src/Path.scala | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/os/src/Path.scala b/os/src/Path.scala index 16ece94c..ecc8a1ed 100644 --- a/os/src/Path.scala +++ b/os/src/Path.scala @@ -409,16 +409,20 @@ object Path { var xSeg = "" var ySeg = "" var i = 0 + var result: Integer = null while ({ xSeg = x.getSegment(i) ySeg = y.getSegment(i) i += 1 val compared = Ordering.String.compare(xSeg, ySeg) if (i < xSegCount && compared == 0) true // continue - else return compared + else { + result = compared + false + } }) () - ??? + result } } }