Skip to content

Commit 989e489

Browse files
committed
Update tests
1 parent 94504a5 commit 989e489

3 files changed

Lines changed: 74 additions & 4 deletions

File tree

‎tests/unit/out/refcount/push_emplace_back.rs‎

Lines changed: 41 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,18 @@ pub fn emplace_ctor_args_7(pairs: Ptr<Vec<Pair>>) {
263263
(*pairs.borrow()).with_mut(|__v: &mut Vec<Pair>| __v.push(__init))
264264
};
265265
}
266-
pub fn emplace_scalar_8(values: Ptr<Vec<i64>>, x: i32) {
266+
pub fn emplace_deque_8(queue: Ptr<Vec<Pair>>) {
267+
let queue: Value<Ptr<Vec<Pair>>> = Rc::new(RefCell::new(queue));
268+
{
269+
let __init = Pair::Pair3({ 6 }, { 7 });
270+
(*queue.borrow()).with_mut(|__v: &mut Vec<Pair>| __v.push(__init))
271+
};
272+
{
273+
let __init = Pair::Pair1();
274+
(*queue.borrow()).with_mut(|__v: &mut Vec<Pair>| __v.push(__init))
275+
};
276+
}
277+
pub fn emplace_scalar_9(values: Ptr<Vec<i64>>, x: i32) {
267278
let values: Value<Ptr<Vec<i64>>> = Rc::new(RefCell::new(values));
268279
let x: Value<i32> = Rc::new(RefCell::new(x));
269280
{
@@ -464,8 +475,36 @@ fn main_0() -> i32 {
464475
.borrow())
465476
== 10)
466477
);
478+
let queue: Value<Vec<Pair>> = Rc::new(RefCell::new(Default::default()));
479+
({ emplace_deque_8((queue.as_pointer())) });
480+
assert!(
481+
((*(*(queue.as_pointer() as Ptr<Pair>).upgrade().deref())
482+
.first
483+
.borrow())
484+
== 6)
485+
&& ((*(*(queue.as_pointer() as Ptr<Pair>).upgrade().deref())
486+
.second
487+
.borrow())
488+
== 14)
489+
);
490+
assert!(
491+
((*(*(queue.as_pointer() as Ptr<Pair>)
492+
.to_last()
493+
.upgrade()
494+
.deref())
495+
.first
496+
.borrow())
497+
== -1_i32)
498+
&& ((*(*(queue.as_pointer() as Ptr<Pair>)
499+
.to_last()
500+
.upgrade()
501+
.deref())
502+
.second
503+
.borrow())
504+
== -1_i32)
505+
);
467506
let values: Value<Vec<i64>> = Rc::new(RefCell::new(Vec::new()));
468-
({ emplace_scalar_8((values.as_pointer()), 7) });
507+
({ emplace_scalar_9((values.as_pointer()), 7) });
469508
assert!(((*values.borrow()).len() == 2_usize));
470509
assert!((((values.as_pointer() as Ptr<i64>).offset(0_usize).read()) == 0_i64));
471510
assert!((((values.as_pointer() as Ptr<i64>).offset(1_usize).read()) == 7_i64));

‎tests/unit/out/unsafe/push_emplace_back.rs‎

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,17 @@ pub unsafe fn emplace_ctor_args_7(mut pairs: *mut Vec<Pair>) {
129129
(*pairs).push(__init)
130130
};
131131
}
132-
pub unsafe fn emplace_scalar_8(mut values: *mut Vec<i64>, mut x: i32) {
132+
pub unsafe fn emplace_deque_8(mut queue: *mut Vec<Pair>) {
133+
{
134+
let __init = Pair::Pair3({ 6 }, { 7 });
135+
(*queue).push(__init)
136+
};
137+
{
138+
let __init = Pair::Pair1();
139+
(*queue).push(__init)
140+
};
141+
}
142+
pub unsafe fn emplace_scalar_9(mut values: *mut Vec<i64>, mut x: i32) {
133143
{
134144
let __init = 0_i64;
135145
(*values).push(__init)
@@ -187,8 +197,18 @@ unsafe fn main_0() -> i32 {
187197
assert!(((pairs[(0_usize)].first) == (-1_i32)) && ((pairs[(0_usize)].second) == (-1_i32)));
188198
assert!(((pairs[(1_usize)].first) == (3)) && ((pairs[(1_usize)].second) == (0)));
189199
assert!(((pairs[(2_usize)].first) == (4)) && ((pairs[(2_usize)].second) == (10)));
200+
let mut queue: Vec<Pair> = Default::default();
201+
(unsafe { emplace_deque_8((&mut queue as *mut Vec<Pair>)) });
202+
assert!(
203+
(((*((queue).first_mut().unwrap())).first) == (6))
204+
&& (((*((queue).first_mut().unwrap())).second) == (14))
205+
);
206+
assert!(
207+
(((*(queue.last_mut().unwrap())).first) == (-1_i32))
208+
&& (((*(queue.last_mut().unwrap())).second) == (-1_i32))
209+
);
190210
let mut values: Vec<i64> = Vec::new();
191-
(unsafe { emplace_scalar_8((&mut values as *mut Vec<i64>), 7) });
211+
(unsafe { emplace_scalar_9((&mut values as *mut Vec<i64>), 7) });
192212
assert!(((values.len()) == (2_usize)));
193213
assert!(((values[(0_usize)]) == (0_i64)));
194214
assert!(((values[(1_usize)]) == (7_i64)));

‎tests/unit/push_emplace_back.cpp‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#include <cassert>
22
#include <cstdint>
3+
#include <deque>
34
#include <vector>
45

56
struct Chunk {
@@ -70,6 +71,11 @@ void emplace_ctor_args(std::vector<Pair> *pairs) {
7071
pairs->emplace_back(4, 5);
7172
}
7273

74+
void emplace_deque(std::deque<Pair> *queue) {
75+
queue->emplace_back(6, 7);
76+
queue->emplace_back();
77+
}
78+
7379
void emplace_scalar(std::vector<long> *values, int x) {
7480
values->emplace_back();
7581
values->emplace_back(x);
@@ -125,6 +131,11 @@ int main() {
125131
assert(pairs[1].first == 3 && pairs[1].second == 0);
126132
assert(pairs[2].first == 4 && pairs[2].second == 10);
127133

134+
std::deque<Pair> queue;
135+
emplace_deque(&queue);
136+
assert(queue.front().first == 6 && queue.front().second == 14);
137+
assert(queue.back().first == -1 && queue.back().second == -1);
138+
128139
std::vector<long> values;
129140
emplace_scalar(&values, 7);
130141
assert(values.size() == 2);

0 commit comments

Comments
 (0)