about summary refs log tree commit diff stats
path: root/CONTRIBUTING
Commit message (Collapse)AuthorAgeFilesLines
* Add CONTRIBUTINGRory Bradford2020-03-241-0/+37
Signed-off-by: Rory Bradford <roryrjb@gmail.com>
-07-13 15:40:14 -0700 bugfix: resize' href='/akkartik/view.love/commit/main_tests.lua?id=119abbd52ea8648a8af8a5bf15066f96e7b0e247'>119abbd ^
2884f87 ^
8bbc1ff ^
e1c5a42 ^
2a0a770 ^



1ecc3f4 ^
06c784b ^
2a0a770 ^




1ecc3f4 ^


b90a54a ^
b90a54a ^
0f02efd ^
b90a54a ^





2a0a770 ^
0f02efd ^
0e0f36f ^
1d1a829 ^
2a0a770 ^
b90a54a ^

a874747 ^
69f4062 ^

69f4062 ^













0e0f36f ^
1d1a829 ^
69f4062 ^
2a0a770 ^



69f4062 ^

bfbe73e ^
3b36093 ^
13f67fa ^
bfbe73e ^

















2a0a770 ^



13f67fa ^
bfbe73e ^

d009390 ^
3b36093 ^
d009390 ^
8bbc1ff ^

b700021 ^
d009390 ^



















2a0a770 ^
d009390 ^
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
                             
                                        
                                             
                               
                                                  



                                                                                
                      
                                                    




                                                                             


                                                                                
                                     
                                        
                        





                                                  
                                              
                                           
                                   
                                    
                                       

   
                                                         

                                                                   













                                                                              
                                   
                                    
                             



                                                                                 

   
                         
                                                          
                                             

















                                                           



                                                        
                         

   
                                        
                                                          
                                                                                 

                                               
                             



















                                                           
                                                        
   
function test_resize_window()
  App.screen.init{width=300, height=300}
  Editor_state = edit.initialize_test_state()
  Editor_state.filename = 'foo'
  Log_browser_state = edit.initialize_test_state()
  check_eq(App.screen.width, 300, 'baseline/width')
  check_eq(App.screen.height, 300, 'baseline/height')
  check_eq(Editor_state.left, Test_margin_left, 'baseline/left_margin')
  check_eq(Editor_state.right, 300 - Test_margin_right, 'baseline/right_margin')
  App.resize(200, 400)
  -- ugly; resize switches to real, non-test margins
  check_eq(App.screen.width, 200, 'width')
  check_eq(App.screen.height, 400, 'height')
  check_eq(Editor_state.left, Margin_left, 'left_margin')
  check_eq(Editor_state.right, 200-Margin_right, 'right_margin')
  check_eq(Editor_state.width, 200-Margin_left-Margin_right, 'drawing_width')
  -- TODO: how to make assertions about when App.update got past the early exit?
end

function test_show_log_browser_side()
  App.screen.init{width=300, height=300}
  Current_app = 'source'
  Editor_state = edit.initialize_test_state()
  Editor_state.filename = 'foo'
  Text.redraw_all(Editor_state)
  Log_browser_state = edit.initialize_test_state()
  Text.redraw_all(Log_browser_state)
  log_browser.parse(Log_browser_state)
  check(not Show_log_browser_side, 'baseline')
  -- pressing ctrl+l shows log-browser side
  Current_time = Current_time + 0.1
  App.run_after_keychord('C-l', 'l')
  check(Show_log_browser_side, 'check')
end

function test_show_log_browser_side_splits_window_width()
  -- initialize screen dimensions and indicate that it is maximized
  App.screen.init{width=300, height=300}
  -- initialize source app with left side occupying more than half the display
  Current_app = 'source'
  Editor_state = edit.initialize_test_state()
  Editor_state.filename = 'foo'
  Editor_state.left = Margin_left
  Editor_state.right = 200
  Text.redraw_all(Editor_state)
  Log_browser_state = edit.initialize_test_state()
  -- log browser has some arbitrary margins
  Log_browser_state.left = 200 + Margin_left
  Log_browser_state.right = 400
  Text.redraw_all(Log_browser_state)
  log_browser.parse(Log_browser_state)
  -- display log browser
  Current_time = Current_time + 0.1
  App.run_after_keychord('C-l', 'l')
  -- margins are now adjusted
  check_eq(Editor_state.left, Margin_left, 'edit:left')
  check_eq(Editor_state.right, App.screen.width/2 - Margin_right, 'edit:right')
  check_eq(Log_browser_state.left, App.screen.width/2 + Margin_left, 'log:left')
  check_eq(Log_browser_state.right, App.screen.width - Margin_right, 'log:right')
end

function test_drop_file()
  App.screen.init{width=Editor_state.left+300, height=300}
  Editor_state = edit.initialize_test_state()
  App.filesystem['foo'] = 'abc\ndef\nghi\n'
  local fake_dropped_file = {
    opened = false,
    getFilename = function(self)
                    return 'foo'
                  end,
    open = function(self)
             self.opened = true
           end,
    lines = function(self)
              assert(self.opened)
              return App.filesystem['foo']:gmatch('[^\n]+')
            end,
    close = function(self)
              self.opened = false
            end,
  }
  App.filedropped(fake_dropped_file)
  check_eq(#Editor_state.lines, 3, '#lines')
  check_eq(Editor_state.lines[1].data, 'abc', 'lines:1')
  check_eq(Editor_state.lines[2].data, 'def', 'lines:2')
  check_eq(Editor_state.lines[3].data, 'ghi', 'lines:3')
  edit.draw(Editor_state)
end

function test_drop_file_saves_previous()
  App.screen.init{width=Editor_state.left+300, height=300}
  -- initially editing a file called foo that hasn't been saved to filesystem yet
  Editor_state.lines = load_array{'abc', 'def'}
  Editor_state.filename = 'foo'
  schedule_save(Editor_state)
  -- now drag a new file bar from the filesystem
  App.filesystem['bar'] = 'abc\ndef\nghi\n'
  local fake_dropped_file = {
    opened = false,
    getFilename = function(self)
                    return 'bar'
                  end,
    open = function(self)
             self.opened = true
           end,
    lines = function(self)
              assert(self.opened)
              return App.filesystem['bar']:gmatch('[^\n]+')
            end,
    close = function(self)
              self.opened = false
            end,
  }
  App.filedropped(fake_dropped_file)
  -- filesystem now contains a file called foo
  check_eq(App.filesystem['foo'], 'abc\ndef\n', 'check')
end