+ assert.strictEqual( mw.storage.set( 'foo', 'test' ), true, 'set returns true' );
+ assert.strictEqual( mw.storage.get( 'foo' ), 'test', 'Check value gets stored' );
+ assert.strictEqual( mw.storage.get( 'bar' ), null, 'Unset values are null' );
+ assert.strictEqual( mw.storage.remove( 'foo' ), true, 'remove returns true' );
+ assert.strictEqual( mw.storage.get( 'foo' ), null, 'Removed item is null' );
+
+ assert.strictEqual( mw.storage.setObject( 'baz', object ), true, 'setObject returns true' );
+ assert.deepEqual( mw.storage.getObject( 'baz' ), object, 'Check value gets stored' );
+ assert.notStrictEqual( mw.storage.getObject( 'baz' ), object, 'Retrieved value is a new object' );
+ assert.strictEqual( mw.storage.getObject( 'quux' ), null, 'Unset values are null' );
+ assert.strictEqual( mw.storage.remove( 'baz' ), true, 'remove returns true' );
+ assert.strictEqual( mw.storage.getObject( 'baz' ), null, 'Removed item is null' );
+
+ mw.storage.set( 'baz', 'Non-JSON' );
+ assert.strictEqual( mw.storage.getObject( 'baz' ), null, 'Non-JSON values are null' );