[gnome-software] Move the markdown functionality to the plugin dir
- From: Richard Hughes <rhughes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-software] Move the markdown functionality to the plugin dir
- Date: Tue, 12 Apr 2016 13:29:16 +0000 (UTC)
commit 0760221ad291a150670fa22f3ca67b16489af9bd
Author: Richard Hughes <richard hughsie com>
Date: Tue Apr 12 13:56:05 2016 +0100
Move the markdown functionality to the plugin dir
Nothing in the core app actually uses this, and this fixes a linker warning.
src/Makefile.am | 3 -
src/gs-self-test.c | 182 -------------------------------
src/gs-shell-extras.c | 1 -
src/plugins/Makefile.am | 19 ++++
src/{ => plugins}/gs-markdown.c | 0
src/{ => plugins}/gs-markdown.h | 0
src/plugins/gs-self-test.c | 223 +++++++++++++++++++++++++++++++++++++++
7 files changed, 242 insertions(+), 186 deletions(-)
---
diff --git a/src/Makefile.am b/src/Makefile.am
index 21b9fc7..6c4301d 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -164,8 +164,6 @@ gnome_software_SOURCES = \
gs-screenshot-image.h \
gs-shell.c \
gs-shell.h \
- gs-markdown.c \
- gs-markdown.h \
gs-shell-details.c \
gs-shell-details.h \
gs-shell-category.c \
@@ -288,7 +286,6 @@ check_PROGRAMS = \
gs_self_test_SOURCES = \
gs-app.c \
gs-category.c \
- gs-markdown.c \
gs-os-release.c \
gs-plugin-loader-sync.c \
gs-plugin-loader.c \
diff --git a/src/gs-self-test.c b/src/gs-self-test.c
index a246c94..0a75918 100644
--- a/src/gs-self-test.c
+++ b/src/gs-self-test.c
@@ -27,192 +27,11 @@
#include <glib/gstdio.h>
#include "gs-app.h"
-#include "gs-markdown.h"
#include "gs-plugin.h"
#include "gs-plugin-loader.h"
#include "gs-plugin-loader-sync.h"
#include "gs-utils.h"
-static void
-gs_markdown_func (void)
-{
- gchar *text;
- const gchar *markdown;
- const gchar *markdown_expected;
- g_autoptr(GsMarkdown) md = NULL;
-
- /* get GsMarkdown object */
- md = gs_markdown_new (GS_MARKDOWN_OUTPUT_PANGO);
- g_assert (md);
-
- markdown = "OEMs\n"
- "====\n"
- " - Bullett\n";
- markdown_expected =
- "<big>OEMs</big>\n"
- "• Bullett";
- /* markdown (type2 header) */
- text = gs_markdown_parse (md, markdown);
- g_assert_cmpstr (text, ==, markdown_expected);
- g_free (text);
-
- /* markdown (autocode) */
- markdown = "this is http://www.hughsie.com/with_spaces_in_url inline link\n";
- markdown_expected = "this is <tt>http://www.hughsie.com/with_spaces_in_url</tt> inline link";
- gs_markdown_set_autocode (md, TRUE);
- text = gs_markdown_parse (md, markdown);
- g_assert_cmpstr (text, ==, markdown_expected);
- g_free (text);
-
- /* markdown some invalid header */
- markdown = "*** This software is currently in alpha state ***\n";
- markdown_expected = "<b><i> This software is currently in alpha state </b></i>";
- text = gs_markdown_parse (md, markdown);
- g_assert_cmpstr (text, ==, markdown_expected);
- g_free (text);
-
- /* markdown (complex1) */
- markdown = " - This is a *very*\n"
- " short paragraph\n"
- " that is not usual.\n"
- " - Another";
- markdown_expected =
- "• This is a <i>very</i> short paragraph that is not usual.\n"
- "• Another";
- text = gs_markdown_parse (md, markdown);
- g_assert_cmpstr (text, ==, markdown_expected);
- g_free (text);
-
- /* markdown (complex1) */
- markdown = "* This is a *very*\n"
- " short paragraph\n"
- " that is not usual.\n"
- "* This is the second\n"
- " bullett point.\n"
- "* And the third.\n"
- " \n"
- "* * *\n"
- " \n"
- "Paragraph one\n"
- "isn't __very__ long at all.\n"
- "\n"
- "Paragraph two\n"
- "isn't much better.";
- markdown_expected =
- "• This is a <i>very</i> short paragraph that is not usual.\n"
- "• This is the second bullett point.\n"
- "• And the third.\n"
- "⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯\n"
- "Paragraph one isn't <b>very</b> long at all.\n"
- "Paragraph two isn't much better.";
- text = gs_markdown_parse (md, markdown);
- g_assert_cmpstr (text, ==, markdown_expected);
- g_free (text);
-
- markdown = "This is a spec file description or\n"
- "an **update** description in bohdi.\n"
- "\n"
- "* * *\n"
- "# Big title #\n"
- "\n"
- "The *following* things 'were' fixed:\n"
- "- Fix `dave`\n"
- "* Fubar update because of \"security\"\n";
- markdown_expected =
- "This is a spec file description or an <b>update</b> description in bohdi.\n"
- "⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯\n"
- "<big>Big title</big>\n"
- "The <i>following</i> things 'were' fixed:\n"
- "• Fix <tt>dave</tt>\n"
- "• Fubar update because of \"security\"";
- /* markdown (complex2) */
- text = gs_markdown_parse (md, markdown);
- if (g_strcmp0 (text, markdown_expected) == 0)
- g_assert_cmpstr (text, ==, markdown_expected);
- g_free (text);
-
- /* markdown (list with spaces) */
- markdown = "* list seporated with spaces -\n"
- " first item\n"
- "\n"
- "* second item\n"
- "\n"
- "* third item\n";
- markdown_expected =
- "• list seporated with spaces - first item\n"
- "• second item\n"
- "• third item";
- text = gs_markdown_parse (md, markdown);
- g_assert_cmpstr (text, ==, markdown_expected);
- g_free (text);
-
- gs_markdown_set_max_lines (md, 1);
-
- /* markdown (one line limit) */
- markdown = "* list seporated with spaces -\n"
- " first item\n"
- "* second item\n";
- markdown_expected =
- "• list seporated with spaces - first item";
- text = gs_markdown_parse (md, markdown);
- g_assert_cmpstr (text, ==, markdown_expected);
- g_free (text);
-
- gs_markdown_set_max_lines (md, 1);
-
- /* markdown (escaping) */
- markdown = "* list & <spaces>";
- markdown_expected =
- "• list & <spaces>";
- text = gs_markdown_parse (md, markdown);
- g_assert_cmpstr (text, ==, markdown_expected);
- g_free (text);
-
- /* markdown (URLs) */
- markdown = "this is the http://www.hughsie.com/ coolest site";
- markdown_expected =
- "this is the "
- "<a href=\"http://www.hughsie.com/\">http://www.hughsie.com/</a>"
- " coolest site";
- text = gs_markdown_parse (md, markdown);
- g_assert_cmpstr (text, ==, markdown_expected);
- g_free (text);
-
- /* markdown (free text) */
- gs_markdown_set_escape (md, FALSE);
- text = gs_markdown_parse (md, "This isn't a present");
- g_assert_cmpstr (text, ==, "This isn't a present");
- g_free (text);
-
- /* markdown (autotext underscore) */
- text = gs_markdown_parse (md, "This isn't CONFIG_UEVENT_HELPER_PATH present");
- g_assert_cmpstr (text, ==, "This isn't <tt>CONFIG_UEVENT_HELPER_PATH</tt> present");
- g_free (text);
-
- /* markdown (end of bullett) */
- markdown = "*Thu Mar 12 12:00:00 2009* Dan Walsh <dwalsh redhat com> - 2.0.79-1\n"
- "- Update to upstream \n"
- " * Netlink socket handoff patch from Adam Jackson.\n"
- " * AVC caching of compute_create results by Eric Paris.\n"
- "\n"
- "*Tue Mar 10 12:00:00 2009* Dan Walsh <dwalsh redhat com> - 2.0.78-5\n"
- "- Add patch from ajax to accellerate X SELinux \n"
- "- Update eparis patch\n";
- markdown_expected =
- "<i>Thu Mar 12 12:00:00 2009</i> Dan Walsh <tt><dwalsh redhat com></tt> - 2.0.79-1\n"
- "• Update to upstream\n"
- "• Netlink socket handoff patch from Adam Jackson.\n"
- "• AVC caching of compute_create results by Eric Paris.\n"
- "<i>Tue Mar 10 12:00:00 2009</i> Dan Walsh <tt><dwalsh redhat com></tt> - 2.0.78-5\n"
- "• Add patch from ajax to accellerate X SELinux\n"
- "• Update eparis patch";
- gs_markdown_set_escape (md, TRUE);
- gs_markdown_set_max_lines (md, 1024);
- text = gs_markdown_parse (md, markdown);
- g_assert_cmpstr (text, ==, markdown_expected);
- g_free (text);
-}
-
static gboolean
gs_plugin_list_filter_cb (GsApp *app, gpointer user_data)
{
@@ -650,7 +469,6 @@ main (int argc, char **argv)
g_log_set_fatal_mask (NULL, G_LOG_LEVEL_ERROR | G_LOG_LEVEL_CRITICAL);
/* tests go here */
- g_test_add_func ("/gnome-software/markdown", gs_markdown_func);
g_test_add_func ("/gnome-software/plugin-loader{refine}", gs_plugin_loader_refine_func);
g_test_add_func ("/gnome-software/plugin", gs_plugin_func);
g_test_add_func ("/gnome-software/app", gs_app_func);
diff --git a/src/gs-shell-extras.c b/src/gs-shell-extras.c
index 96ba78d..9633179 100644
--- a/src/gs-shell-extras.c
+++ b/src/gs-shell-extras.c
@@ -26,7 +26,6 @@
#include "gs-app.h"
#include "gs-app-row.h"
#include "gs-language.h"
-#include "gs-markdown.h"
#include "gs-shell.h"
#include "gs-utils.h"
#include "gs-vendor.h"
diff --git a/src/plugins/Makefile.am b/src/plugins/Makefile.am
index d52e4a7..765c9a9 100644
--- a/src/plugins/Makefile.am
+++ b/src/plugins/Makefile.am
@@ -229,6 +229,8 @@ libgs_plugin_packagekit_la_CFLAGS = $(GS_PLUGIN_CFLAGS) $(WARN_CFLAGS)
libgs_plugin_packagekit_refine_la_SOURCES = \
gs-plugin-packagekit-refine.c \
+ gs-markdown.c \
+ gs-markdown.h \
packagekit-common.c \
packagekit-common.h
libgs_plugin_packagekit_refine_la_LIBADD = $(GS_PLUGIN_LIBS) $(PACKAGEKIT_LIBS)
@@ -275,4 +277,21 @@ libgs_plugin_packagekit_proxy_la_LIBADD = $(GS_PLUGIN_LIBS)
libgs_plugin_packagekit_proxy_la_LDFLAGS = -module -avoid-version
libgs_plugin_packagekit_proxy_la_CFLAGS = $(GS_PLUGIN_CFLAGS) $(WARN_CFLAGS)
+if ENABLE_TESTS
+check_PROGRAMS = \
+ gs-self-test
+
+gs_self_test_SOURCES = \
+ gs-markdown.c \
+ gs-self-test.c
+
+gs_self_test_LDADD = \
+ $(GLIB_LIBS) \
+ $(GTK_LIBS)
+
+gs_self_test_CFLAGS = $(WARN_CFLAGS)
+
+TESTS = gs-self-test
+endif
+
-include $(top_srcdir)/git.mk
diff --git a/src/gs-markdown.c b/src/plugins/gs-markdown.c
similarity index 100%
rename from src/gs-markdown.c
rename to src/plugins/gs-markdown.c
diff --git a/src/gs-markdown.h b/src/plugins/gs-markdown.h
similarity index 100%
rename from src/gs-markdown.h
rename to src/plugins/gs-markdown.h
diff --git a/src/plugins/gs-self-test.c b/src/plugins/gs-self-test.c
new file mode 100644
index 0000000..2936a90
--- /dev/null
+++ b/src/plugins/gs-self-test.c
@@ -0,0 +1,223 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2013-2016 Richard Hughes <richard hughsie com>
+ *
+ * Licensed under the GNU General Public License Version 2
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#include "config.h"
+
+#include <glib-object.h>
+
+#include "gs-markdown.h"
+
+static void
+gs_markdown_func (void)
+{
+ gchar *text;
+ const gchar *markdown;
+ const gchar *markdown_expected;
+ g_autoptr(GsMarkdown) md = NULL;
+
+ /* get GsMarkdown object */
+ md = gs_markdown_new (GS_MARKDOWN_OUTPUT_PANGO);
+ g_assert (md);
+
+ markdown = "OEMs\n"
+ "====\n"
+ " - Bullett\n";
+ markdown_expected =
+ "<big>OEMs</big>\n"
+ "• Bullett";
+ /* markdown (type2 header) */
+ text = gs_markdown_parse (md, markdown);
+ g_assert_cmpstr (text, ==, markdown_expected);
+ g_free (text);
+
+ /* markdown (autocode) */
+ markdown = "this is http://www.hughsie.com/with_spaces_in_url inline link\n";
+ markdown_expected = "this is <tt>http://www.hughsie.com/with_spaces_in_url</tt> inline link";
+ gs_markdown_set_autocode (md, TRUE);
+ text = gs_markdown_parse (md, markdown);
+ g_assert_cmpstr (text, ==, markdown_expected);
+ g_free (text);
+
+ /* markdown some invalid header */
+ markdown = "*** This software is currently in alpha state ***\n";
+ markdown_expected = "<b><i> This software is currently in alpha state </b></i>";
+ text = gs_markdown_parse (md, markdown);
+ g_assert_cmpstr (text, ==, markdown_expected);
+ g_free (text);
+
+ /* markdown (complex1) */
+ markdown = " - This is a *very*\n"
+ " short paragraph\n"
+ " that is not usual.\n"
+ " - Another";
+ markdown_expected =
+ "• This is a <i>very</i> short paragraph that is not usual.\n"
+ "• Another";
+ text = gs_markdown_parse (md, markdown);
+ g_assert_cmpstr (text, ==, markdown_expected);
+ g_free (text);
+
+ /* markdown (complex1) */
+ markdown = "* This is a *very*\n"
+ " short paragraph\n"
+ " that is not usual.\n"
+ "* This is the second\n"
+ " bullett point.\n"
+ "* And the third.\n"
+ " \n"
+ "* * *\n"
+ " \n"
+ "Paragraph one\n"
+ "isn't __very__ long at all.\n"
+ "\n"
+ "Paragraph two\n"
+ "isn't much better.";
+ markdown_expected =
+ "• This is a <i>very</i> short paragraph that is not usual.\n"
+ "• This is the second bullett point.\n"
+ "• And the third.\n"
+ "⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯\n"
+ "Paragraph one isn't <b>very</b> long at all.\n"
+ "Paragraph two isn't much better.";
+ text = gs_markdown_parse (md, markdown);
+ g_assert_cmpstr (text, ==, markdown_expected);
+ g_free (text);
+
+ markdown = "This is a spec file description or\n"
+ "an **update** description in bohdi.\n"
+ "\n"
+ "* * *\n"
+ "# Big title #\n"
+ "\n"
+ "The *following* things 'were' fixed:\n"
+ "- Fix `dave`\n"
+ "* Fubar update because of \"security\"\n";
+ markdown_expected =
+ "This is a spec file description or an <b>update</b> description in bohdi.\n"
+ "⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯\n"
+ "<big>Big title</big>\n"
+ "The <i>following</i> things 'were' fixed:\n"
+ "• Fix <tt>dave</tt>\n"
+ "• Fubar update because of \"security\"";
+ /* markdown (complex2) */
+ text = gs_markdown_parse (md, markdown);
+ if (g_strcmp0 (text, markdown_expected) == 0)
+ g_assert_cmpstr (text, ==, markdown_expected);
+ g_free (text);
+
+ /* markdown (list with spaces) */
+ markdown = "* list seporated with spaces -\n"
+ " first item\n"
+ "\n"
+ "* second item\n"
+ "\n"
+ "* third item\n";
+ markdown_expected =
+ "• list seporated with spaces - first item\n"
+ "• second item\n"
+ "• third item";
+ text = gs_markdown_parse (md, markdown);
+ g_assert_cmpstr (text, ==, markdown_expected);
+ g_free (text);
+
+ gs_markdown_set_max_lines (md, 1);
+
+ /* markdown (one line limit) */
+ markdown = "* list seporated with spaces -\n"
+ " first item\n"
+ "* second item\n";
+ markdown_expected =
+ "• list seporated with spaces - first item";
+ text = gs_markdown_parse (md, markdown);
+ g_assert_cmpstr (text, ==, markdown_expected);
+ g_free (text);
+
+ gs_markdown_set_max_lines (md, 1);
+
+ /* markdown (escaping) */
+ markdown = "* list & <spaces>";
+ markdown_expected =
+ "• list & <spaces>";
+ text = gs_markdown_parse (md, markdown);
+ g_assert_cmpstr (text, ==, markdown_expected);
+ g_free (text);
+
+ /* markdown (URLs) */
+ markdown = "this is the http://www.hughsie.com/ coolest site";
+ markdown_expected =
+ "this is the "
+ "<a href=\"http://www.hughsie.com/\">http://www.hughsie.com/</a>"
+ " coolest site";
+ text = gs_markdown_parse (md, markdown);
+ g_assert_cmpstr (text, ==, markdown_expected);
+ g_free (text);
+
+ /* markdown (free text) */
+ gs_markdown_set_escape (md, FALSE);
+ text = gs_markdown_parse (md, "This isn't a present");
+ g_assert_cmpstr (text, ==, "This isn't a present");
+ g_free (text);
+
+ /* markdown (autotext underscore) */
+ text = gs_markdown_parse (md, "This isn't CONFIG_UEVENT_HELPER_PATH present");
+ g_assert_cmpstr (text, ==, "This isn't <tt>CONFIG_UEVENT_HELPER_PATH</tt> present");
+ g_free (text);
+
+ /* markdown (end of bullett) */
+ markdown = "*Thu Mar 12 12:00:00 2009* Dan Walsh <dwalsh redhat com> - 2.0.79-1\n"
+ "- Update to upstream \n"
+ " * Netlink socket handoff patch from Adam Jackson.\n"
+ " * AVC caching of compute_create results by Eric Paris.\n"
+ "\n"
+ "*Tue Mar 10 12:00:00 2009* Dan Walsh <dwalsh redhat com> - 2.0.78-5\n"
+ "- Add patch from ajax to accellerate X SELinux \n"
+ "- Update eparis patch\n";
+ markdown_expected =
+ "<i>Thu Mar 12 12:00:00 2009</i> Dan Walsh <tt><dwalsh redhat com></tt> - 2.0.79-1\n"
+ "• Update to upstream\n"
+ "• Netlink socket handoff patch from Adam Jackson.\n"
+ "• AVC caching of compute_create results by Eric Paris.\n"
+ "<i>Tue Mar 10 12:00:00 2009</i> Dan Walsh <tt><dwalsh redhat com></tt> - 2.0.78-5\n"
+ "• Add patch from ajax to accellerate X SELinux\n"
+ "• Update eparis patch";
+ gs_markdown_set_escape (md, TRUE);
+ gs_markdown_set_max_lines (md, 1024);
+ text = gs_markdown_parse (md, markdown);
+ g_assert_cmpstr (text, ==, markdown_expected);
+ g_free (text);
+}
+
+int
+main (int argc, char **argv)
+{
+ g_test_init (&argc, &argv, NULL);
+ g_setenv ("G_MESSAGES_DEBUG", "all", TRUE);
+
+ /* only critical and error are fatal */
+ g_log_set_fatal_mask (NULL, G_LOG_LEVEL_ERROR | G_LOG_LEVEL_CRITICAL);
+
+ /* tests go here */
+ g_test_add_func ("/gnome-software/markdown", gs_markdown_func);
+
+ return g_test_run ();
+}
+
+/* vim: set noexpandtab: */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]