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'.
