nitpretty: does not force break on string literals anymore
[nit.git] / tests / sav / nitpretty_args29.res
1 # This file is part of NIT ( http://www.nitlanguage.org ).
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 # http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15 class Foo
16         fun bar: Bool do return true
17
18         fun foo(other: Foo): Foo do
19                 if other.bar then
20                         return other
21                 else
22                         return self
23                 end
24         end
25
26         fun baz: Int do
27                 var nb = 0
28
29                 while nb < 10 do
30                         print nb
31                         nb += 1
32                 end # 1
33
34                 return nb
35         end
36
37         fun gaz: Int do
38                 if bar then # 3
39                         return 1
40                 else
41                         return -1 # 4
42                 end
43         end
44 end
45
46 class Test[E]
47         var heap: ArrayHeap[E]
48         init to(comparator: Comparator[E]) do heap = new ArrayHeap[E](comparator)
49
50         init from(comparator: Comparator[E], items: Collection[E]) do
51                 heap = new ArrayHeap[E].from(comparator, items.to_a)
52         end
53
54         fun count(k: E): Int do
55                 if heap.has(k) then
56                         return 1
57                 else
58                         return 0
59                 end
60         end
61
62         fun node_at_idx(i: Int, k: E) do
63                 while heap != null do
64                         if heap.is_empty or i == k then # FIXME prefilter because the compiler is not smart enought yet
65                                 break
66                         end
67                 end
68         end
69
70         fun save_those_nodes(nodes: Collection[Object]) do
71                 for node in nodes do count(node)
72         end
73 end
74
75 fun foo do
76         if last_slash > 0 then
77                 return substring(last_slash + 1, length)
78         else
79                 return null
80         end
81 end
82
83 print "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam tincidun" +
84         "t sapien et velit fringilla varius at non eros. Nunc ut ultricies metus, sit a" +
85         "met lacinia felis. Donec in facilisis neque, non laoreet nibh. Etiam nec purus" +
86         " eu orci congue iaculis eu quis lorem. Ut et blandit erat. Cras fermentum pell" +
87         "entesque ante, ut dapibus ipsum placerat sit amet. Vivamus pharetra, sem vitae" +
88         " consequat venenatis, diam risus placerat est, sed hendrerit purus justo vitae" +
89         " lectus. In id quam mattis, rutrum augue eu, vehicula ipsum. Nulla nec egestas" +
90         " turpis, nec ullamcorper odio. Pellentesque vitae arcu justo. Aliquam sed phar" +
91         "etra lacus."
92
93 var lorem = "lorem"
94 var ipsum = "ipsum" # for fun
95
96 print "We also need to handle super strings: {lorem} {ipsum} dolor sit amet, con" +
97         "sectetur adipiscing elit. Aliquam tincidunt sapien et velit fringilla varius a" +
98         "t non eros. Nunc ut ultricies metus, sit amet lacinia felis. Donec in facilisi" +
99         "s neque, non laoreet nibh. Etiam nec purus eu orci congue iaculis eu quis {lorem}" +
100         ". Ut et blandit erat. Cras fermentum pellentesque ante, ut dapibus {ipsum} pla" +
101         "cerat sit amet. Vivamus pharetra, sem vitae consequat venenatis, diam risus pl" +
102         "acerat est, sed hendrerit purus justo vitae lectus. In id quam mattis, rutrum " +
103         "augue eu, vehicula ipsum. Nulla nec egestas turpis, nec ullamcorper odio. Pell" +
104         "entesque vitae arcu justo. Aliquam sed pharetra lacus." # ending
105
106 var title = "title"
107 var links = new Array[String] # why not?
108
109 var body = """
110 <!DOCTYPE html>
111 <head>
112         <meta charset="utf-8">
113         <meta http-equiv="X-UA-Compatible" content="IE=edge">
114         <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
115         <title>{{{title}}}</title>
116 </head>
117 <body>
118         <div class="container">
119                 <h1>{{{title}}}</h1>
120                 <ul>
121                         <li>{{{links.join("</li>\n\t\t\t<li>")}}}</li>
122                 </ul>
123         </div>
124 </body>
125 </html>"""