diff options
Diffstat (limited to 'tests/misc')
-rw-r--r-- | tests/misc/tcharinc.nim | 10 | ||||
-rw-r--r-- | tests/misc/tgtk.nim | 53 | ||||
-rw-r--r-- | tests/misc/tinc.nim | 2 | ||||
-rw-r--r-- | tests/misc/tinout.nim | 2 | ||||
-rw-r--r-- | tests/misc/tlibs.nim | 28 | ||||
-rw-r--r-- | tests/misc/tnewlibs.nim | 21 | ||||
-rw-r--r-- | tests/misc/trangechecks.nim | 43 | ||||
-rw-r--r-- | tests/misc/tslices.nim | 6 | ||||
-rw-r--r-- | tests/misc/tunsignedinc.nim | 14 |
9 files changed, 72 insertions, 107 deletions
diff --git a/tests/misc/tcharinc.nim b/tests/misc/tcharinc.nim new file mode 100644 index 000000000..1b5d19c18 --- /dev/null +++ b/tests/misc/tcharinc.nim @@ -0,0 +1,10 @@ +discard """ + output: "1" +""" + +var c = '\0' +while true: + if c == '\xFF': break + inc c + +echo "1" diff --git a/tests/misc/tgtk.nim b/tests/misc/tgtk.nim deleted file mode 100644 index 82227689d..000000000 --- a/tests/misc/tgtk.nim +++ /dev/null @@ -1,53 +0,0 @@ -discard """ - disabled: true -""" -import - gtk2, glib2, atk, gdk2, gdk2pixbuf, libglade2, pango, - pangoutils - -proc hello(widget: PWidget, data: pointer) {.cdecl.} = - write(stdout, "Hello World\n") - -proc delete_event(widget: PWidget, event: PEvent, - data: pointer): bool {.cdecl.} = - # If you return FALSE in the "delete_event" signal handler, - # GTK will emit the "destroy" signal. Returning TRUE means - # you don't want the window to be destroyed. - # This is useful for popping up 'are you sure you want to quit?' - # type dialogs. - write(stdout, "delete event occurred\n") - # Change TRUE to FALSE and the main window will be destroyed with - # a "delete_event". - return false - -# Another callback -proc mydestroy(widget: PWidget, data: pointer) {.cdecl.} = - gtk2.main_quit() - -proc mymain() = - # GtkWidget is the storage type for widgets - gtk2.nimrod_init() - var window = window_new(gtk2.WINDOW_TOPLEVEL) - discard g_signal_connect(window, "delete_event", - Gcallback(delete_event), nil) - discard g_signal_connect(window, "destroy", Gcallback(mydestroy), nil) - # Sets the border width of the window. - set_border_width(window, 10) - - # Creates a new button with the label "Hello World". - var button = button_new("Hello World") - - discard g_signal_connect(button, "clicked", Gcallback(hello), nil) - - # This packs the button into the window (a gtk container). - add(window, button) - - # The final step is to display this newly created widget. - show(button) - - # and the window - show(window) - - gtk2.main() - -mymain() diff --git a/tests/misc/tinc.nim b/tests/misc/tinc.nim index 8038a2a01..b74f85591 100644 --- a/tests/misc/tinc.nim +++ b/tests/misc/tinc.nim @@ -1,7 +1,7 @@ discard """ file: "tinc.nim" line: 8 - errormsg: "for a \'var\' type a variable needs to be passed" + errormsg: "type mismatch: got (int)" """ var x = 0 diff --git a/tests/misc/tinout.nim b/tests/misc/tinout.nim index 034c496f5..4e5908428 100644 --- a/tests/misc/tinout.nim +++ b/tests/misc/tinout.nim @@ -1,7 +1,7 @@ discard """ file: "tinout.nim" line: 12 - errormsg: "for a \'var\' type a variable needs to be passed" + errormsg: "type mismatch: got (int literal(3))" """ # Test in out checking for parameters diff --git a/tests/misc/tlibs.nim b/tests/misc/tlibs.nim deleted file mode 100644 index e7a02c7fd..000000000 --- a/tests/misc/tlibs.nim +++ /dev/null @@ -1,28 +0,0 @@ -discard """ - disabled: true -""" - -# Test wether the bindings at least compile... - -import - unicode, cgi, terminal, libcurl, - parsexml, parseopt, parsecfg, - osproc, complex, - sdl, smpeg, sdl_gfx, sdl_net, sdl_mixer, sdl_ttf, - sdl_image, sdl_mixer_nosmpeg, - cursorfont, xatom, xf86vmode, xkb, xrandr, xshm, xvlib, keysym, xcms, xi, - xkblib, xrender, xutil, x, xf86dga, xinerama, xlib, xresource, xv, - gtk2, glib2, pango, gdk2, - cairowin32, cairoxlib, - odbcsql, - gl, glut, glu, glx, glext, wingl, - lua, lualib, lauxlib, mysql, sqlite3, python, tcl, - db_postgres, db_mysql, db_sqlite, ropes, sockets, browsers, httpserver, - httpclient, parseutils, unidecode, xmldom, xmldomparser, xmltree, xmlparser, - htmlparser, re, graphics, colors, pegs, subexes, dialogs - -when defined(linux): - import - zlib, zipfiles - -writeln(stdout, "test compilation of binding modules") diff --git a/tests/misc/tnewlibs.nim b/tests/misc/tnewlibs.nim deleted file mode 100644 index 3b74a9b63..000000000 --- a/tests/misc/tnewlibs.nim +++ /dev/null @@ -1,21 +0,0 @@ -discard """ - disabled: true -""" - -# Test wether the bindings at least compile... - -import - tcl, - sdl, smpeg, sdl_gfx, sdl_net, sdl_mixer, sdl_ttf, - sdl_image, sdl_mixer_nosmpeg, - gtk2, glib2, pango, gdk2, - unicode, cgi, terminal, libcurl, - parsexml, parseopt, parsecfg, - osproc, - cairowin32, cairoxlib, - gl, glut, glu, glx, glext, wingl, - lua, lualib, lauxlib, mysql, sqlite3, db_mongo, md5, asyncio, mimetypes, - cookies, events, ftpclient, scgi, irc - - -writeln(stdout, "test compilation of binding modules") diff --git a/tests/misc/trangechecks.nim b/tests/misc/trangechecks.nim new file mode 100644 index 000000000..2c6f0f66d --- /dev/null +++ b/tests/misc/trangechecks.nim @@ -0,0 +1,43 @@ +discard """ + output: '''10 +10 +1 +1 +true''' +""" + +# bug #1344 + +var expected: int +var x: range[1..10] = 10 + +try: + x += 1 + echo x +except OverflowError, RangeError: + expected += 1 + echo x + +try: + inc x + echo x +except OverflowError, RangeError: + expected += 1 + echo x + +x = 1 +try: + x -= 1 + echo x +except OverflowError, RangeError: + expected += 1 + echo x + +try: + dec x + echo x +except OverflowError, RangeError: + expected += 1 + echo x + +echo expected == 4 diff --git a/tests/misc/tslices.nim b/tests/misc/tslices.nim index 0de1171e3..388a46509 100644 --- a/tests/misc/tslices.nim +++ b/tests/misc/tslices.nim @@ -36,7 +36,7 @@ echo() var myseq = @[1, 2, 3, 4, 5, 6] -myseq[0..2] = myseq[-3.. -1] +myseq[0..2] = myseq[^3 .. ^1] for x in items(myseq): stdout.write(x) echo() @@ -46,7 +46,7 @@ echo mystr mystr[4..4] = "u" # test full replacement -mystr[.. -2] = "egerichtet" +mystr[.. ^2] = "egerichtet" echo mystr @@ -54,6 +54,6 @@ mystr[0..2] = "ve" echo mystr var s = "abcdef" -s[1 .. -2] = "xyz" +s[1 .. ^2] = "xyz" assert s == "axyzf" diff --git a/tests/misc/tunsignedinc.nim b/tests/misc/tunsignedinc.nim new file mode 100644 index 000000000..95622156f --- /dev/null +++ b/tests/misc/tunsignedinc.nim @@ -0,0 +1,14 @@ +discard """ + output: '''253''' +""" + +# bug #2427 + +import unsigned + +var x = 0'u8 +dec x # OverflowError +x -= 1 # OverflowError +x = x - 1 # No error + +echo x |