Changeset 0e125698 in mainline for uspace/app/nav/test/panel.c


Ignore:
Timestamp:
2021-10-16T20:41:33Z (3 years ago)
Author:
Jiri Svoboda <jiri@…>
Children:
fd6dc08
Parents:
9bed565
Message:

Opening directories

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/nav/test/panel.c

    r9bed565 r0e125698  
    143143
    144144        event.type = KEY_PRESS;
    145         event.key = KC_ENTER;
     145        event.key = KC_ESCAPE;
    146146        event.mods = 0;
    147147        event.c = '\0';
     
    158158
    159159        event.type = KEY_PRESS;
    160         event.key = KC_ENTER;
     160        event.key = KC_ESCAPE;
    161161        event.mods = 0;
    162162        event.c = '\0';
     
    277277
    278278        PCUT_ASSERT_FALSE(panel_is_active(panel));
    279         panel_activate(panel);
     279        rc = panel_activate(panel);
     280        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    280281        PCUT_ASSERT_TRUE(panel_is_active(panel));
    281282
     
    429430        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    430431
    431         PCUT_ASSERT_INT_EQUALS(1, list_count(&panel->entries));
     432        PCUT_ASSERT_INT_EQUALS(2, list_count(&panel->entries));
    432433
    433434        entry = panel_first(panel);
    434435        PCUT_ASSERT_NOT_NULL(entry);
     436        PCUT_ASSERT_STR_EQUALS("..", entry->name);
     437
     438        entry = panel_next(entry);
     439        PCUT_ASSERT_NOT_NULL(entry);
    435440        PCUT_ASSERT_STR_EQUALS("a", entry->name);
    436         // PCUT_ASSERT_INT_EQUALS(1, entry->size);
     441        PCUT_ASSERT_INT_EQUALS(1, entry->size);
    437442
    438443        panel_destroy(panel);
     
    11361141}
    11371142
     1143/** panel_open() opens a directory entry */
     1144PCUT_TEST(open)
     1145{
     1146        ui_t *ui;
     1147        ui_window_t *window;
     1148        ui_wnd_params_t params;
     1149        panel_t *panel;
     1150        panel_entry_t *entry;
     1151        char buf[L_tmpnam];
     1152        char *sdname;
     1153        char *p;
     1154        errno_t rc;
     1155        int rv;
     1156
     1157        rc = ui_create_disp(NULL, &ui);
     1158        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     1159
     1160        ui_wnd_params_init(&params);
     1161        params.caption = "Test";
     1162
     1163        rc = ui_window_create(ui, &params, &window);
     1164        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     1165
     1166        /* Create name for temporary directory */
     1167        p = tmpnam(buf);
     1168        PCUT_ASSERT_NOT_NULL(p);
     1169
     1170        /* Create temporary directory */
     1171        rc = vfs_link_path(p, KIND_DIRECTORY, NULL);
     1172        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     1173
     1174        rv = asprintf(&sdname, "%s/%s", p, "a");
     1175        PCUT_ASSERT_TRUE(rv >= 0);
     1176
     1177        /* Create sub-directory */
     1178        rc = vfs_link_path(sdname, KIND_DIRECTORY, NULL);
     1179        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     1180
     1181        rc = panel_create(window, true, &panel);
     1182        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     1183
     1184        rc = panel_read_dir(panel, p);
     1185        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     1186        PCUT_ASSERT_STR_EQUALS(p, panel->dir);
     1187
     1188        PCUT_ASSERT_INT_EQUALS(2, list_count(&panel->entries));
     1189
     1190        entry = panel_first(panel);
     1191        PCUT_ASSERT_NOT_NULL(entry);
     1192        PCUT_ASSERT_STR_EQUALS("..", entry->name);
     1193
     1194        entry = panel_next(entry);
     1195        PCUT_ASSERT_NOT_NULL(entry);
     1196        PCUT_ASSERT_STR_EQUALS("a", entry->name);
     1197        PCUT_ASSERT_TRUE(entry->isdir);
     1198
     1199        rc = panel_open(panel, entry);
     1200        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     1201
     1202        PCUT_ASSERT_STR_EQUALS(sdname, panel->dir);
     1203
     1204        panel_destroy(panel);
     1205        ui_window_destroy(window);
     1206        ui_destroy(ui);
     1207
     1208        rv = remove(sdname);
     1209        PCUT_ASSERT_INT_EQUALS(0, rv);
     1210
     1211        rv = remove(p);
     1212        PCUT_ASSERT_INT_EQUALS(0, rv);
     1213
     1214        free(sdname);
     1215}
     1216
    11381217PCUT_EXPORT(panel);
Note: See TracChangeset for help on using the changeset viewer.