Example #1
0
	test("Remove Data", () => {
		let context = new TestContextService();
		let s = new Storage(context, new InMemoryLocalStorage());

		let counter = 0;
		let unbind = s.addListener(StorageEventType.STORAGE, function(e) {
			assert.strictEqual(e.key, "Monaco.IDE.Core.Storage.Test.remove");
			assert.strictEqual(e.oldValue, null);
			assert.strictEqual(e.newValue, "foobar");

			counter++;
			assert(counter <= 1);
		});

		s.store("Monaco.IDE.Core.Storage.Test.remove", "foobar");
		unbind();

		counter = 0;
		unbind = s.addListener(StorageEventType.STORAGE, function(e) {
			assert.strictEqual(e.key, "Monaco.IDE.Core.Storage.Test.remove");
			assert.strictEqual(e.oldValue, "foobar");
			assert.strictEqual(e.newValue, null);

			counter++;
			assert(counter <= 1);
		});

		s.remove("Monaco.IDE.Core.Storage.Test.remove");
		unbind();
	});
Example #2
0
	test('Swap Data', () => {
		let context = new TestContextService();
		let s = new Storage(context, new InMemoryLocalStorage());

		let counter = 0;
		let unbind = s.addListener(StorageEventType.STORAGE, function (e) {
			assert.strictEqual(e.key, 'Monaco.IDE.Core.Storage.Test.swap');
			assert.strictEqual(e.oldValue, null);
			assert.strictEqual(e.newValue, 'foobar');

			counter++;
			assert(counter <= 1);
		});

		s.swap('Monaco.IDE.Core.Storage.Test.swap', 'foobar', 'barfoo', StorageScope.GLOBAL, 'foobar');
		unbind();

		counter = 0;
		unbind = s.addListener(StorageEventType.STORAGE, function (e) {
			assert.strictEqual(e.key, 'Monaco.IDE.Core.Storage.Test.swap');
			assert.strictEqual(e.oldValue, 'foobar');
			assert.strictEqual(e.newValue, 'barfoo');

			counter++;
			assert(counter <= 1);
		});

		s.swap('Monaco.IDE.Core.Storage.Test.swap', 'foobar', 'barfoo', StorageScope.GLOBAL, 'foobar');
		unbind();
	});
Example #3
0
	test('Remove Data', () => {
		let context = new TestContextService();
		let s = new Storage(new InMemoryLocalStorage(), null, context);
		s.store('Monaco.IDE.Core.Storage.Test.remove', 'foobar');
		assert.strictEqual('foobar', s.get('Monaco.IDE.Core.Storage.Test.remove'));

		s.remove('Monaco.IDE.Core.Storage.Test.remove');
		assert.ok(!s.get('Monaco.IDE.Core.Storage.Test.remove'));
	});
Example #4
0
	test('Swap Data with undefined default value', () => {
		let context = new TestContextService();
		let s = new Storage(new InMemoryLocalStorage(), null, context);

		s.swap('Monaco.IDE.Core.Storage.Test.swap', 'foobar', 'barfoo');
		assert.strictEqual('foobar', s.get('Monaco.IDE.Core.Storage.Test.swap'));
		s.swap('Monaco.IDE.Core.Storage.Test.swap', 'foobar', 'barfoo');
		assert.strictEqual('barfoo', s.get('Monaco.IDE.Core.Storage.Test.swap'));
		s.swap('Monaco.IDE.Core.Storage.Test.swap', 'foobar', 'barfoo');
		assert.strictEqual('foobar', s.get('Monaco.IDE.Core.Storage.Test.swap'));
	});
Example #5
0
	test("Swap Data with undefined default value", () => {
		let context = new TestContextService();
		let s = new Storage(context, new InMemoryLocalStorage());

		s.swap("Monaco.IDE.Core.Storage.Test.swap", "foobar", "barfoo");
		assert.strictEqual("foobar", s.get("Monaco.IDE.Core.Storage.Test.swap"));
		s.swap("Monaco.IDE.Core.Storage.Test.swap", "foobar", "barfoo");
		assert.strictEqual("barfoo", s.get("Monaco.IDE.Core.Storage.Test.swap"));
		s.swap("Monaco.IDE.Core.Storage.Test.swap", "foobar", "barfoo");
		assert.strictEqual("foobar", s.get("Monaco.IDE.Core.Storage.Test.swap"));
	});
Example #6
0
	test('Storage cleans up when workspace changes', () => {
		let storageImpl = new InMemoryLocalStorage();
		let context = new TestContextService();
		let s = new Storage(storageImpl, null, context);

		s.store('key1', 'foobar');
		s.store('key2', 'something');
		s.store('wkey1', 'foo', StorageScope.WORKSPACE);
		s.store('wkey2', 'foo2', StorageScope.WORKSPACE);

		s = new Storage(storageImpl, null, context);

		assert.strictEqual(s.get('key1', StorageScope.GLOBAL), 'foobar');
		assert.strictEqual(s.get('key1', StorageScope.WORKSPACE, null), null);

		assert.strictEqual(s.get('key2', StorageScope.GLOBAL), 'something');
		assert.strictEqual(s.get('wkey1', StorageScope.WORKSPACE), 'foo');
		assert.strictEqual(s.get('wkey2', StorageScope.WORKSPACE), 'foo2');

		let ws: any = clone(TestWorkspace);
		ws.uid = new Date().getTime() + 100;
		context = new TestContextService(ws);
		s = new Storage(storageImpl, null, context);

		assert.strictEqual(s.get('key1', StorageScope.GLOBAL), 'foobar');
		assert.strictEqual(s.get('key1', StorageScope.WORKSPACE, null), null);

		assert.strictEqual(s.get('key2', StorageScope.GLOBAL), 'something');
		assert(!s.get('wkey1', StorageScope.WORKSPACE));
		assert(!s.get('wkey2', StorageScope.WORKSPACE));
	});
Example #7
0
	test('Get Data, Integer, Boolean', () => {
		let context = new TestContextService();
		let s = new Storage(new InMemoryLocalStorage(), null, context);

		assert.strictEqual(s.get('Monaco.IDE.Core.Storage.Test.get', StorageScope.GLOBAL, 'foobar'), 'foobar');
		assert.strictEqual(s.get('Monaco.IDE.Core.Storage.Test.get', StorageScope.GLOBAL, ''), '');
		assert.strictEqual(s.get('Monaco.IDE.Core.Storage.Test.getInteger', StorageScope.GLOBAL, 5), 5);
		assert.strictEqual(s.get('Monaco.IDE.Core.Storage.Test.getInteger', StorageScope.GLOBAL, 0), 0);
		assert.strictEqual(s.get('Monaco.IDE.Core.Storage.Test.getBoolean', StorageScope.GLOBAL, true), true);
		assert.strictEqual(s.get('Monaco.IDE.Core.Storage.Test.getBoolean', StorageScope.GLOBAL, false), false);

		s.store('Monaco.IDE.Core.Storage.Test.get', 'foobar');
		assert.strictEqual(s.get('Monaco.IDE.Core.Storage.Test.get'), 'foobar');

		s.store('Monaco.IDE.Core.Storage.Test.get', '');
		assert.strictEqual(s.get('Monaco.IDE.Core.Storage.Test.get'), '');

		s.store('Monaco.IDE.Core.Storage.Test.getInteger', 5);
		assert.strictEqual(s.getInteger('Monaco.IDE.Core.Storage.Test.getInteger'), 5);

		s.store('Monaco.IDE.Core.Storage.Test.getInteger', 0);
		assert.strictEqual(s.getInteger('Monaco.IDE.Core.Storage.Test.getInteger'), 0);

		s.store('Monaco.IDE.Core.Storage.Test.getBoolean', true);
		assert.strictEqual(s.getBoolean('Monaco.IDE.Core.Storage.Test.getBoolean'), true);

		s.store('Monaco.IDE.Core.Storage.Test.getBoolean', false);
		assert.strictEqual(s.getBoolean('Monaco.IDE.Core.Storage.Test.getBoolean'), false);

		assert.strictEqual(s.get('Monaco.IDE.Core.Storage.Test.getDefault', StorageScope.GLOBAL, 'getDefault'), 'getDefault');
		assert.strictEqual(s.getInteger('Monaco.IDE.Core.Storage.Test.getIntegerDefault', StorageScope.GLOBAL, 5), 5);
		assert.strictEqual(s.getBoolean('Monaco.IDE.Core.Storage.Test.getBooleanDefault', StorageScope.GLOBAL, true), true);
	});
Example #8
0
	test("Storage cleans up when workspace changes", () => {
		let storageImpl = new InMemoryLocalStorage();
		let context = new TestContextService();
		let s = new Storage(context, storageImpl);

		s.store("key1", "foobar");
		s.store("key2", "something");
		s.store("wkey1", "foo", StorageScope.WORKSPACE);
		s.store("wkey2", "foo2", StorageScope.WORKSPACE);

		s = new Storage(context, storageImpl);

		assert.strictEqual(s.get("key1", StorageScope.GLOBAL), "foobar");
		assert.strictEqual(s.get("key1", StorageScope.WORKSPACE, null), null);

		assert.strictEqual(s.get("key2", StorageScope.GLOBAL), "something");
		assert.strictEqual(s.get("wkey1", StorageScope.WORKSPACE), "foo");
		assert.strictEqual(s.get("wkey2", StorageScope.WORKSPACE), "foo2");

		let ws: any = clone(TestWorkspace);
		ws.uid = new Date().getTime() + 100;
		context = new TestContextService(ws);
		s = new Storage(context, storageImpl);

		assert.strictEqual(s.get("key1", StorageScope.GLOBAL), "foobar");
		assert.strictEqual(s.get("key1", StorageScope.WORKSPACE, null), null);

		assert.strictEqual(s.get("key2", StorageScope.GLOBAL), "something");
		assert(!s.get("wkey1", StorageScope.WORKSPACE));
		assert(!s.get("wkey2", StorageScope.WORKSPACE));
	});
Example #9
0
	test("Get Data, Integer, Boolean", () => {
		let context = new TestContextService();
		let s = new Storage(context, new InMemoryLocalStorage());

		assert.strictEqual(s.get("Monaco.IDE.Core.Storage.Test.get", StorageScope.GLOBAL, "foobar"), "foobar");
		assert.strictEqual(s.get("Monaco.IDE.Core.Storage.Test.get", StorageScope.GLOBAL, ""), "");
		assert.strictEqual(s.get("Monaco.IDE.Core.Storage.Test.getInteger", StorageScope.GLOBAL, 5), 5);
		assert.strictEqual(s.get("Monaco.IDE.Core.Storage.Test.getInteger", StorageScope.GLOBAL, 0), 0);
		assert.strictEqual(s.get("Monaco.IDE.Core.Storage.Test.getBoolean", StorageScope.GLOBAL, true), true);
		assert.strictEqual(s.get("Monaco.IDE.Core.Storage.Test.getBoolean", StorageScope.GLOBAL, false), false);

		s.store("Monaco.IDE.Core.Storage.Test.get", "foobar");
		assert.strictEqual(s.get("Monaco.IDE.Core.Storage.Test.get"), "foobar");

		s.store("Monaco.IDE.Core.Storage.Test.get", "");
		assert.strictEqual(s.get("Monaco.IDE.Core.Storage.Test.get"), "");

		s.store("Monaco.IDE.Core.Storage.Test.getInteger", 5);
		assert.strictEqual(s.getInteger("Monaco.IDE.Core.Storage.Test.getInteger"), 5);

		s.store("Monaco.IDE.Core.Storage.Test.getInteger", 0);
		assert.strictEqual(s.getInteger("Monaco.IDE.Core.Storage.Test.getInteger"), 0);

		s.store("Monaco.IDE.Core.Storage.Test.getBoolean", true);
		assert.strictEqual(s.getBoolean("Monaco.IDE.Core.Storage.Test.getBoolean"), true);

		s.store("Monaco.IDE.Core.Storage.Test.getBoolean", false);
		assert.strictEqual(s.getBoolean("Monaco.IDE.Core.Storage.Test.getBoolean"), false);

		assert.strictEqual(s.get("Monaco.IDE.Core.Storage.Test.getDefault", StorageScope.GLOBAL, "getDefault"), "getDefault");
		assert.strictEqual(s.getInteger("Monaco.IDE.Core.Storage.Test.getIntegerDefault", StorageScope.GLOBAL, 5), 5);
		assert.strictEqual(s.getBoolean("Monaco.IDE.Core.Storage.Test.getBooleanDefault", StorageScope.GLOBAL, true), true);
	});