mirror of
https://github.com/odoo/owl.git
synced 2025-10-06 19:59:41 +07:00
@@ -81,7 +81,7 @@ const STATIC_TOKEN_MAP: { [key: string]: TKind } = {
|
|||||||
|
|
||||||
// note that the space after typeof is relevant. It makes sure that the formatted
|
// note that the space after typeof is relevant. It makes sure that the formatted
|
||||||
// expression has a space after typeof
|
// expression has a space after typeof
|
||||||
const OPERATORS = "...,.,===,==,+,!==,!=,!,||,&&,>=,>,<=,<,?,-,*,/,%,typeof ,=>,=,;".split(",");
|
const OPERATORS = "...,.,===,==,+,!==,!=,!,||,&&,>=,>,<=,<,?,-,*,/,%,typeof ,=>,=,;,in ".split(",");
|
||||||
|
|
||||||
type Tokenizer = (expr: string) => Token | false;
|
type Tokenizer = (expr: string) => Token | false;
|
||||||
|
|
||||||
|
|||||||
@@ -56,6 +56,12 @@ describe("tokenizer", () => {
|
|||||||
{ type: "OPERATOR", value: "..." },
|
{ type: "OPERATOR", value: "..." },
|
||||||
{ type: "VALUE", value: "1" }
|
{ type: "VALUE", value: "1" }
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
expect(tokenize("a in b")).toEqual([
|
||||||
|
{ type: "SYMBOL", value: "a" },
|
||||||
|
{ type: "OPERATOR", value: "in " },
|
||||||
|
{ type: "SYMBOL", value: "b" }
|
||||||
|
]);
|
||||||
});
|
});
|
||||||
|
|
||||||
test("strings", () => {
|
test("strings", () => {
|
||||||
@@ -134,6 +140,7 @@ describe("expression evaluation", () => {
|
|||||||
expect(compileExpr("color === 'black'", {})).toBe("scope['color']==='black'");
|
expect(compileExpr("color === 'black'", {})).toBe("scope['color']==='black'");
|
||||||
expect(compileExpr("'li_'+item", {})).toBe("'li_'+scope['item']");
|
expect(compileExpr("'li_'+item", {})).toBe("'li_'+scope['item']");
|
||||||
expect(compileExpr("state.val > 1", {})).toBe("scope['state'].val>1");
|
expect(compileExpr("state.val > 1", {})).toBe("scope['state'].val>1");
|
||||||
|
expect(compileExpr("a in b", {})).toBe("scope['a']in scope['b']");
|
||||||
});
|
});
|
||||||
|
|
||||||
test("boolean operations", () => {
|
test("boolean operations", () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user