mirror of
https://github.com/Heretek-AI/GDevelop.git
synced 2026-07-21 01:25:32 -04:00
68 lines
2.2 KiB
JavaScript
68 lines
2.2 KiB
JavaScript
const initializeGDevelopJs = require('../../Binaries/embuild/GDevelop.js/libGD.js');
|
|
|
|
describe('libGD.js - gd.Vector* tests', function() {
|
|
let gd = null;
|
|
beforeAll(async () => {
|
|
gd = await initializeGDevelopJs();
|
|
});
|
|
|
|
describe('gd.VectorString', function() {
|
|
let vector = null;
|
|
beforeAll(() => vector = new gd.VectorString());
|
|
|
|
it('should allow to add strings', function() {
|
|
expect(vector.size()).toBe(0);
|
|
vector.push_back('Hello world');
|
|
expect(vector.size()).toBe(1);
|
|
expect(vector.get(0)).toBe('Hello world');
|
|
});
|
|
it('can be converted to a JS array', function() {
|
|
vector.push_back('Hello world 2');
|
|
vector.push_back('Hello world 3');
|
|
var array = vector.toJSArray();
|
|
expect(Array.isArray(array)).toBe(true);
|
|
expect(array.length).toBe(3);
|
|
expect(array[0]).toBe('Hello world');
|
|
expect(array[1]).toBe('Hello world 2');
|
|
});
|
|
it('can be cleared', function() {
|
|
vector.clear();
|
|
expect(vector.size()).toBe(0);
|
|
});
|
|
it('should allow to add lots of strings', function() {
|
|
expect(vector.size()).toBe(0);
|
|
for (var i = 0; i < 250; ++i) {
|
|
vector.push_back('Hello world #' + i);
|
|
}
|
|
expect(vector.size()).toBe(250);
|
|
expect(vector.get(34)).toBe('Hello world #34');
|
|
});
|
|
it('can change a string at a specified index', function() {
|
|
var vector2 = new gd.VectorString();
|
|
vector2.push_back('foo');
|
|
vector2.push_back('bar');
|
|
expect(vector2.size()).toBe(2);
|
|
expect(vector2.get(1)).toBe('bar');
|
|
|
|
expect(vector.set(56, 'Modified hello world'));
|
|
expect(vector.get(34)).toBe('Hello world #34');
|
|
expect(vector2.set(1, 'baz'));
|
|
expect(vector.get(56)).toBe('Modified hello world');
|
|
expect(vector2.get(1)).toBe('baz');
|
|
expect(vector2.get(0)).toBe('foo');
|
|
expect(vector.size()).toBe(250);
|
|
});
|
|
it('should allow to add UTF8 strings', function() {
|
|
vector.clear();
|
|
expect(vector.size()).toBe(0);
|
|
vector.push_back('Bonjour à tous');
|
|
vector.push_back('官话');
|
|
expect(vector.size()).toBe(2);
|
|
expect(vector.get(0)).toBe('Bonjour à tous');
|
|
expect(vector.get(1)).toBe('官话');
|
|
});
|
|
|
|
afterAll(() => vector.delete());
|
|
});
|
|
});
|