|
|
@ -1,7 +1,7 @@
|
|
|
|
import * as assert from 'assert';
|
|
|
|
import * as assert from 'assert';
|
|
|
|
import { readable, writable, derive, get } from '../../store.js';
|
|
|
|
import { readable, writable, derive, get } from '../../store.js';
|
|
|
|
|
|
|
|
|
|
|
|
describe('store', () => {
|
|
|
|
describe.only('store', () => {
|
|
|
|
describe('writable', () => {
|
|
|
|
describe('writable', () => {
|
|
|
|
it('creates a writable store', () => {
|
|
|
|
it('creates a writable store', () => {
|
|
|
|
const count = writable(0);
|
|
|
|
const count = writable(0);
|
|
|
@ -42,6 +42,23 @@ describe('store', () => {
|
|
|
|
unsubscribe2();
|
|
|
|
unsubscribe2();
|
|
|
|
assert.equal(called, 0);
|
|
|
|
assert.equal(called, 0);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
it('does not assume immutable data', () => {
|
|
|
|
|
|
|
|
const obj = {};
|
|
|
|
|
|
|
|
let called = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const store = writable(obj);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
store.subscribe(value => {
|
|
|
|
|
|
|
|
called += 1;
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
store.set(obj);
|
|
|
|
|
|
|
|
assert.equal(called, 2);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
store.update(obj => obj);
|
|
|
|
|
|
|
|
assert.equal(called, 3);
|
|
|
|
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
describe('readable', () => {
|
|
|
|
describe('readable', () => {
|
|
|
|