Skip to content

Commit 4e32b5e

Browse files
committed
add read_optional_enum_attribute to webidl-tests/enums
1 parent 1014bdb commit 4e32b5e

File tree

3 files changed

+26
-0
lines changed

3 files changed

+26
-0
lines changed

crates/webidl-tests/enums.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,12 @@ global.Shape = class Shape {
1818
getShape() {
1919
return this.kind;
2020
}
21+
22+
get shapeTypeNone() {
23+
return null;
24+
}
25+
26+
get shapeTypeSome() {
27+
return this.kind;
28+
}
2129
};

crates/webidl-tests/enums.rs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,17 @@ fn invalid_enum_return() {
3535
_ => {} // Success
3636
};
3737
}
38+
39+
#[wasm_bindgen_test]
40+
fn read_optional_enum_attribute_none() {
41+
let shape = Shape::new(ShapeType::Circle).unwrap();
42+
let shape_type: Option<ShapeType> = shape.shape_type_none();
43+
assert_eq!(shape_type, None);
44+
}
45+
46+
#[wasm_bindgen_test]
47+
fn read_optional_enum_attribute_some() {
48+
let shape = Shape::new(ShapeType::Circle).unwrap();
49+
let shape_type: Option<ShapeType> = shape.shape_type_some();
50+
assert_eq!(shape_type, Some(ShapeType::Circle));
51+
}

crates/webidl-tests/enums.webidl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,8 @@ interface Shape {
1212

1313
[Pure]
1414
ShapeType getShape();
15+
16+
readonly attribute ShapeType? shapeTypeNone;
17+
18+
readonly attribute ShapeType? shapeTypeSome;
1519
};

0 commit comments

Comments
 (0)