Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  test_412132.js   Sprache: JAVA

 
/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
/* vim:set ts=2 sw=2 sts=2 et: */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */


/*
 * TEST DESCRIPTION:
 *
 * Tests patch to Bug 412132:
 * https://bugzilla.mozilla.org/show_bug.cgi?id=412132
 */


const TEST_URL0 = "http://example.com/";
const TEST_URL1 = "http://example.com/1";
const TEST_URL2 = "http://example.com/2";

add_task(async function changeuri_unvisited_bookmark() {
  info(
    "After changing URI of bookmark, frecency of bookmark's " +
      "original URI should be zero if original URI is unvisited and " +
      "no longer bookmarked."
  );
  let bookmark = await PlacesUtils.bookmarks.insert({
    parentGuid: PlacesUtils.bookmarks.unfiledGuid,
    title: "bookmark title",
    url: TEST_URL1,
  });

  await PlacesFrecencyRecalculator.recalculateAnyOutdatedFrecencies();

  Assert.notEqual(
    await PlacesTestUtils.getDatabaseValue("moz_places""frecency", {
      url: TEST_URL1,
    }),
    0,
    "Bookmarked => frecency of URI should be != 0"
  );

  await PlacesUtils.bookmarks.update({
    guid: bookmark.guid,
    url: TEST_URL2,
  });

  await PlacesFrecencyRecalculator.recalculateAnyOutdatedFrecencies();

  Assert.equal(
    await PlacesTestUtils.getDatabaseValue("moz_places""frecency", {
      url: TEST_URL1,
    }),
    0,
    "Unvisited URI no longer bookmarked => frecency should = 0"
  );

  await PlacesUtils.bookmarks.eraseEverything();
  await PlacesUtils.history.clear();
});

add_task(async function changeuri_visited_bookmark() {
  info(
    "After changing URI of bookmark, frecency of bookmark's " +
      "original URI should not be zero if original URI is visited."
  );
  let bookmark = await PlacesUtils.bookmarks.insert({
    parentGuid: PlacesUtils.bookmarks.unfiledGuid,
    title: "bookmark title",
    url: TEST_URL1,
  });

  await PlacesFrecencyRecalculator.recalculateAnyOutdatedFrecencies();

  Assert.notEqual(
    await PlacesTestUtils.getDatabaseValue("moz_places""frecency", {
      url: TEST_URL1,
    }),
    0,
    "Bookmarked => frecency of URI should be != 0"
  );

  await PlacesTestUtils.addVisits(TEST_URL1);

  await PlacesFrecencyRecalculator.recalculateAnyOutdatedFrecencies();

  await PlacesUtils.bookmarks.update({
    guid: bookmark.guid,
    url: TEST_URL2,
  });

  await PlacesFrecencyRecalculator.recalculateAnyOutdatedFrecencies();

  Assert.notEqual(
    await PlacesTestUtils.getDatabaseValue("moz_places""frecency", {
      url: TEST_URL1,
    }),
    0,
    "*Visited* URI no longer bookmarked => frecency should != 0"
  );

  await PlacesUtils.bookmarks.eraseEverything();
  await PlacesUtils.history.clear();
});

add_task(async function changeuri_bookmark_still_bookmarked() {
  info(
    "After changing URI of bookmark, frecency of bookmark's " +
      "original URI should not be zero if original URI is still " +
      "bookmarked."
  );
  let bookmark = await PlacesUtils.bookmarks.insert({
    parentGuid: PlacesUtils.bookmarks.unfiledGuid,
    title: "bookmark 1 title",
    url: TEST_URL1,
  });

  await PlacesUtils.bookmarks.insert({
    parentGuid: PlacesUtils.bookmarks.unfiledGuid,
    title: "bookmark 2 title",
    url: TEST_URL1,
  });

  await PlacesFrecencyRecalculator.recalculateAnyOutdatedFrecencies();

  Assert.notEqual(
    await PlacesTestUtils.getDatabaseValue("moz_places""frecency", {
      url: TEST_URL1,
    }),
    0,
    "Bookmarked => frecency of URI should be != 0"
  );

  await PlacesUtils.bookmarks.update({
    guid: bookmark.guid,
    url: TEST_URL2,
  });

  await PlacesFrecencyRecalculator.recalculateAnyOutdatedFrecencies();

  info("URI still bookmarked => frecency should != 0");
  Assert.notEqual(
    await PlacesTestUtils.getDatabaseValue("moz_places""frecency", {
      url: TEST_URL2,
    }),
    0
  );

  await PlacesUtils.bookmarks.eraseEverything();
  await PlacesUtils.history.clear();
});

add_task(async function changeuri_nonexistent_bookmark() {
  // Try a bogus guid.
  await Assert.rejects(
    PlacesUtils.bookmarks.update({
      guid: "ABCDEDFGHIJK",
      url: TEST_URL2,
    }),
    /No bookmarks found for the provided GUID/,
    "Changing the URI of a non-existent bookmark should fail."
  );

  // Now add a bookmark, delete it, and check.
  let bookmark = await PlacesUtils.bookmarks.insert({
    parentGuid: PlacesUtils.bookmarks.unfiledGuid,
    title: "bookmark title",
    url: TEST_URL0,
  });

  await PlacesUtils.bookmarks.remove(bookmark.guid);

  await Assert.rejects(
    PlacesUtils.bookmarks.update({
      guid: bookmark.guid,
      url: TEST_URL2,
    }),
    /No bookmarks found for the provided GUID/,
    "Changing the URI of a non-existent bookmark should fail."
  );

  await PlacesUtils.bookmarks.eraseEverything();
  await PlacesUtils.history.clear();
});

Messung V0.5
C=94 H=95 G=94

¤ Dauer der Verarbeitung: 0.12 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge