Repository: olingo-odata2
Updated Branches:
  refs/heads/master f48b5b723 -> 2638b8d92


[OLINGO-576] - return proper uriLiteral


Project: http://git-wip-us.apache.org/repos/asf/olingo-odata2/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata2/commit/2638b8d9
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata2/tree/2638b8d9
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata2/diff/2638b8d9

Branch: refs/heads/master
Commit: 2638b8d92ba263ed14a215c24a6cdba5f2220483
Parents: f48b5b7
Author: Sven Kobler <[email protected]>
Authored: Tue Feb 17 15:44:12 2015 +0100
Committer: Sven Kobler <[email protected]>
Committed: Tue Feb 17 15:44:22 2015 +0100

----------------------------------------------------------------------
 .../org/apache/olingo/odata2/core/uri/expression/Tokenizer.java | 2 +-
 .../apache/olingo/odata2/core/uri/expression/TestParser.java    | 5 ++++-
 .../apache/olingo/odata2/core/uri/expression/TestTokenizer.java | 5 +++++
 3 files changed, 10 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/2638b8d9/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/uri/expression/Tokenizer.java
----------------------------------------------------------------------
diff --git 
a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/uri/expression/Tokenizer.java
 
b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/uri/expression/Tokenizer.java
index e21b453..953f71f 100644
--- 
a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/uri/expression/Tokenizer.java
+++ 
b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/uri/expression/Tokenizer.java
@@ -306,8 +306,8 @@ public class Tokenizer {
           wasApostroph = false; // a double ' is a normal character '
         } else {
           wasApostroph = true;
-          token = token + curCharacter;
         }
+        token = token + curCharacter;
       }
       curPosition = curPosition + 1;
     }

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/2638b8d9/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/uri/expression/TestParser.java
----------------------------------------------------------------------
diff --git 
a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/uri/expression/TestParser.java
 
b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/uri/expression/TestParser.java
index 229edeb..84a48e8 100644
--- 
a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/uri/expression/TestParser.java
+++ 
b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/uri/expression/TestParser.java
@@ -318,7 +318,10 @@ public class TestParser extends TestBase {
   @Test
   public void testString() {
     GetPTF("'TEST'").aSerialized("'TEST'");
-    GetPTF("'TE''ST'").aSerialized("'TE'ST'");
+    //old GetPTF("'TE''ST'").aSerialized("'TE'ST'");
+    GetPTF("'TE''ST'").aSerialized("'TE''ST'");
+    GetPTF("'TE''''ST'").aSerialized("'TE''''ST'");
+    GetPTF("'A''B''C'").aSerialized("'A''B''C'");
   }
 
   @Test

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/2638b8d9/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/uri/expression/TestTokenizer.java
----------------------------------------------------------------------
diff --git 
a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/uri/expression/TestTokenizer.java
 
b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/uri/expression/TestTokenizer.java
index 5be6fc3..48b524b 100644
--- 
a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/uri/expression/TestTokenizer.java
+++ 
b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/uri/expression/TestTokenizer.java
@@ -86,6 +86,9 @@ public class TestTokenizer {
 
     // string
     getTT("'a'").aKind(TokenKind.SIMPLE_TYPE).aUriLiteral("'a'").aPosition(0);
+    
getTT("'a''B'").aKind(TokenKind.SIMPLE_TYPE).aUriLiteral("'a''B'").aPosition(0);
+    
getTT("'a''''B'").aKind(TokenKind.SIMPLE_TYPE).aUriLiteral("'a''''B'").aPosition(0);
+    
getTT("'a''''B''c'").aKind(TokenKind.SIMPLE_TYPE).aUriLiteral("'a''''B''c'").aPosition(0);
     getTT("abc 
'a'").at(1).aKind(TokenKind.SIMPLE_TYPE).aUriLiteral("'a'").aPosition(4);
 
     // "prefixed type
@@ -117,6 +120,8 @@ public class TestTokenizer {
     // 
http://services.odata.org/Northwind/Northwind.svc/Products(1)/Supplier?$filter='a
     // -->Unterminated string literal at position 2 in ''a'.
     getTT("'a").aExMsgText("Unterminated string literal at position 1 in 
\"'a\".");
+    
+    getTT("'a'''b'").aExMsgText("Unterminated string literal at position 7 in 
\"'a'''b'\".");
 
     // 
http://services.odata.org/Northwind/Northwind.svc/Products(1)/Supplier?$filter=X'g'
     // -->Unrecognized 'Edm.Binary' literal 'X'g'' in '0'.

Reply via email to