You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							47 lines
						
					
					
						
							865 B
						
					
					
				
			
		
		
	
	
							47 lines
						
					
					
						
							865 B
						
					
					
				| var assert = require('assert')
 | |
| var HLRU = require('../')
 | |
| var lru = HLRU(2)
 | |
| 
 | |
| // set-get:
 | |
| lru.set('test', 'test')
 | |
| 
 | |
| assert.equal(lru.get('test'), 'test')
 | |
| 
 | |
| // has:
 | |
| assert.equal(lru.has('test'), true)
 | |
| assert.equal(lru.has('blah'), false)
 | |
| 
 | |
| // update:
 | |
| lru.set('test', 'test2')
 | |
| 
 | |
| assert.equal(lru.get('test'), 'test2')
 | |
| 
 | |
| // cache cycle:
 | |
| lru.set('test2', 'test')
 | |
| 
 | |
| assert.equal(lru.get('test2'), 'test')
 | |
| 
 | |
| // get previous after cache cycle:
 | |
| assert.equal(lru.get('test'), 'test2')
 | |
| 
 | |
| // update new cache:
 | |
| lru.set('test2', 'test2')
 | |
| 
 | |
| assert.equal(lru.get('test2'), 'test2')
 | |
| 
 | |
| // object purity:
 | |
| assert.equal(lru.get('constructor'), undefined)
 | |
| 
 | |
| // max validation:
 | |
| assert.throws(HLRU)
 | |
| 
 | |
| // remove:
 | |
| assert.equal(lru.has('test2'), true)
 | |
| lru.remove('test2')
 | |
| assert.equal(lru.has('test2'), false)
 | |
| 
 | |
| // clear
 | |
| assert.equal(lru.has('test'), true)
 | |
| lru.clear()
 | |
| assert.equal(lru.has('test'), false)
 |