File tree Expand file tree Collapse file tree 2 files changed +21
-2
lines changed Expand file tree Collapse file tree 2 files changed +21
-2
lines changed Original file line number Diff line number Diff line change @@ -194,8 +194,13 @@ p5.prototype.getItem = function(key) {
194
194
* }
195
195
* </code></div>
196
196
*/
197
- p5 . prototype . clearStorage = function ( ) {
198
- localStorage . clear ( ) ;
197
+ p5 . prototype . clearStorage = function ( ) {
198
+ const keys = Object . keys ( localStorage ) ;
199
+ keys . forEach ( key => {
200
+ if ( key . endsWith ( 'p5TypeID' ) ) {
201
+ this . removeItem ( key . replace ( 'p5TypeID' , '' ) ) ;
202
+ }
203
+ } ) ;
199
204
} ;
200
205
201
206
/**
Original file line number Diff line number Diff line change @@ -105,4 +105,18 @@ suite('local storage', function() {
105
105
checkRemoval ( 'myVector' ) ;
106
106
} ) ;
107
107
} ) ;
108
+
109
+ suite ( 'should be able to clear all items at once' , function ( ) {
110
+ test ( 'should remove all items set by storeItem()' , function ( ) {
111
+ localStorage . setItem ( 'extra' , 'stuff' ) ;
112
+ myp5 . clearStorage ( ) ;
113
+ assert . deepEqual ( myp5 . getItem ( 'myBoolean' ) , null ) ;
114
+ assert . deepEqual ( myp5 . getItem ( 'myNumber' ) , null ) ;
115
+ assert . deepEqual ( myp5 . getItem ( 'myObject' ) , null ) ;
116
+ assert . deepEqual ( myp5 . getItem ( 'myString' ) , null ) ;
117
+ assert . deepEqual ( myp5 . getItem ( 'myColor' ) , null ) ;
118
+ assert . deepEqual ( myp5 . getItem ( 'myVector' ) , null ) ;
119
+ assert . deepEqual ( myp5 . getItem ( 'extra' ) , 'stuff' ) ;
120
+ } ) ;
121
+ } ) ;
108
122
} ) ;
You can’t perform that action at this time.
0 commit comments