mirror of https://github.com/aseprite/aseprite.git
				
				
				
			
		
			
	
	
		
			67 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Lua
		
	
	
	
		
		
			
		
	
	
			67 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Lua
		
	
	
	
|  | -- Copyright (C) 2022  Igara Studio S.A. | ||
|  | -- | ||
|  | -- This file is released under the terms of the MIT license. | ||
|  | -- Read LICENSE.txt for more information. | ||
|  | 
 | ||
|  | local fn = '_test_modified.png' | ||
|  | 
 | ||
|  | do | ||
|  |   local doc = Sprite(2, 2) | ||
|  | 
 | ||
|  |   -- New sprites are created without modifications (can be closed | ||
|  |   -- without warning) | ||
|  |   assert(not doc.isModified) | ||
|  | 
 | ||
|  |   doc.width = 3 | ||
|  |   assert(doc.isModified) | ||
|  |   app.undo() | ||
|  |   assert(not doc.isModified) | ||
|  |   app.redo() | ||
|  |   assert(doc.isModified) | ||
|  | 
 | ||
|  |   -- Not modified after it's saved | ||
|  |   doc:saveAs(fn) | ||
|  |   assert(not doc.isModified) | ||
|  | 
 | ||
|  |   -- Modified if we undo the saved state | ||
|  |   app.undo() | ||
|  |   assert(doc.width == 2) | ||
|  |   assert(doc.isModified) | ||
|  |   app.redo() | ||
|  |   assert(doc.width == 3) | ||
|  |   assert(not doc.isModified) | ||
|  | 
 | ||
|  |   -- Selection changes shouldn't change the modified flag | ||
|  |   app.command.MaskAll() | ||
|  |   assert(not doc.isModified) | ||
|  |   app.command.DeselectMask() | ||
|  |   assert(not doc.isModified) | ||
|  |   doc:saveAs(fn) | ||
|  |   assert(not doc.isModified) | ||
|  |   app.undo()                    -- Undo Deselect | ||
|  |   assert(not doc.isModified) | ||
|  |   app.undo()                    -- Undo Select All | ||
|  |   assert(not doc.isModified) | ||
|  |   assert(doc.width == 3) | ||
|  |   app.undo()                    -- Undo size change | ||
|  |   assert(doc.isModified) | ||
|  |   assert(doc.width == 2) | ||
|  | end | ||
|  | 
 | ||
|  | do | ||
|  |   local doc = Sprite{ fromFile=fn } | ||
|  | 
 | ||
|  |   -- Loaded sprites are created without modifications (can be closed | ||
|  |   -- without warning) | ||
|  |   assert(not doc.isModified) | ||
|  | 
 | ||
|  |   app.command.MaskAll() | ||
|  |   assert(not doc.isModified) | ||
|  |   doc:saveAs(fn) | ||
|  |   assert(not doc.isModified) | ||
|  |   app.undo() | ||
|  |   assert(not doc.isModified) | ||
|  |   app.redo() | ||
|  |   assert(not doc.isModified) | ||
|  | end |