* git mv src/wasm-lib rust Signed-off-by: Jess Frazelle <github@jessfraz.com> * mv wasm-lib to workspace Signed-off-by: Jess Frazelle <github@jessfraz.com> * mv kcl-lib Signed-off-by: Jess Frazelle <github@jessfraz.com> * mv derive docs Signed-off-by: Jess Frazelle <github@jessfraz.com> * resolve file paths Signed-off-by: Jess Frazelle <github@jessfraz.com> * clippy Signed-off-by: Jess Frazelle <github@jessfraz.com> * move more shit Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix more paths Signed-off-by: Jess Frazelle <github@jessfraz.com> * make yarn build:wasm work Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix scripts Signed-off-by: Jess Frazelle <github@jessfraz.com> * fixups Signed-off-by: Jess Frazelle <github@jessfraz.com> * better references Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix cargo ci Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix reference Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix more ci Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix tests Signed-off-by: Jess Frazelle <github@jessfraz.com> * cargo sort Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix script Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix Signed-off-by: Jess Frazelle <github@jessfraz.com> * fmt Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix a dep Signed-off-by: Jess Frazelle <github@jessfraz.com> * sort Signed-off-by: Jess Frazelle <github@jessfraz.com> * remove unused deps Signed-off-by: Jess Frazelle <github@jessfraz.com> * Revert "remove unused deps" This reverts commit fbabdb062e275fd5cbc1476f8480a1afee15d972. * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * deps; Signed-off-by: Jess Frazelle <github@jessfraz.com> * fixes Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> --------- Signed-off-by: Jess Frazelle <github@jessfraz.com>
41 lines
892 B
Plaintext
41 lines
892 B
Plaintext
// This tests evaluating properties of objects.
|
|
|
|
|
|
obj = { foo = 1, bar = 0 }
|
|
|
|
// Test: the property is a literal.
|
|
|
|
|
|
one_a = obj["foo"]
|
|
|
|
assertLessThanOrEq(one_a, 1, "Literal property lookup")
|
|
assertGreaterThanOrEq(one_a, 1, "Literal property lookup")
|
|
|
|
// Test: the property is a variable,
|
|
// which must be evaluated before looking it up.
|
|
|
|
|
|
p = "foo"
|
|
one_b = obj[p]
|
|
|
|
assertLessThanOrEq(one_b, 1, "Computed property lookup")
|
|
assertGreaterThanOrEq(one_b, 1, "Computed property lookup")
|
|
|
|
// Test: multiple literal properties.
|
|
|
|
|
|
obj2 = { inner = obj }
|
|
|
|
one_c = obj2.inner["foo"]
|
|
|
|
assertLessThanOrEq(one_c, 1, "Literal property lookup")
|
|
assertGreaterThanOrEq(one_c, 1, "Literal property lookup")
|
|
|
|
// Test: multiple properties, mix of literal and computed.
|
|
|
|
|
|
one_d = obj2.inner[p]
|
|
|
|
assertLessThanOrEq(one_d, 1, "Computed property lookup")
|
|
assertGreaterThanOrEq(one_d, 1, "Computed property lookup")
|