def testWrite(self):
        """
		Tests :meth:`foundations.parsers.SectionsFileParser.write` method.
		"""

        # Standard sections files.
        for type, file in STANDARD_FILES.iteritems():
            readSectionsFileParser = SectionsFileParser(file)
            readSectionsFileParser.parse(stripComments=False, rawSections=STANDARD_FILES_RAW_SECTIONS[type])

            fileDescriptor, path = tempfile.mkstemp()
            writeSectionsFileParser = SectionsFileParser(unicode(path))
            writeSectionsFileParser.sections = readSectionsFileParser.sections
            writeSectionsFileParser.comments = readSectionsFileParser.comments
            writeSectionsFileParser.write()

            checkingSectionsFileParser = SectionsFileParser(writeSectionsFileParser.path)
            checkingSectionsFileParser.parse(stripComments=False, rawSections=STANDARD_FILES_RAW_SECTIONS[type])
            self.assertDictEqual(readSectionsFileParser.sections, checkingSectionsFileParser.sections)
            os.close(fileDescriptor)

            # Standard sections files with namespaces.
        for type, file in STANDARD_FILES.iteritems():
            readSectionsFileParser = SectionsFileParser(file)
            readSectionsFileParser.parse(
                namespaces=True, stripComments=False, rawSections=STANDARD_FILES_RAW_SECTIONS[type]
            )

            fileDescriptor, path = tempfile.mkstemp()
            writeSectionsFileParser = SectionsFileParser(unicode(path))
            writeSectionsFileParser.sections = readSectionsFileParser.sections
            writeSectionsFileParser.comments = readSectionsFileParser.comments
            writeSectionsFileParser.write(namespaces=True)

            checkingSectionsFileParser = SectionsFileParser(writeSectionsFileParser.path)
            checkingSectionsFileParser.parse(
                namespaces=False, stripComments=False, rawSections=STANDARD_FILES_RAW_SECTIONS[type]
            )
            self.assertDictEqual(readSectionsFileParser.sections, checkingSectionsFileParser.sections)
            os.close(fileDescriptor)

            # Default section file.
        readSectionsFileParser = SectionsFileParser(DEFAULTS_FILE)
        readSectionsFileParser.parse()

        fileDescriptor, path = tempfile.mkstemp()
        writeSectionsFileParser = SectionsFileParser(unicode(path))
        writeSectionsFileParser.sections = readSectionsFileParser.sections
        writeSectionsFileParser.comments = readSectionsFileParser.comments
        writeSectionsFileParser.write()

        checkingSectionsFileParser = SectionsFileParser(writeSectionsFileParser.path)
        checkingSectionsFileParser.parse()
        os.close(fileDescriptor)
Esempio n. 2
0
	def testWrite(self):
		"""
		This method tests :meth:`foundations.parsers.SectionsFileParser.write` method.
		"""

		# Standard sections files.
		for type, file in STANDARD_FILES.iteritems():
			readSectionsFileParser = SectionsFileParser(file)
			readSectionsFileParser.read() and \
			readSectionsFileParser.parse(stripComments=False, rawSections=STANDARD_FILES_RAW_SECTIONS[type])

			writeSectionsFileParser = SectionsFileParser(tempfile.mkstemp()[1])
			writeSectionsFileParser.sections = readSectionsFileParser.sections
			writeSectionsFileParser.comments = readSectionsFileParser.comments
			writeSectionsFileParser.write()

			checkingSectionsFileParser = SectionsFileParser(writeSectionsFileParser.file)
			checkingSectionsFileParser.read() and checkingSectionsFileParser.parse(stripComments=False,
																			rawSections=STANDARD_FILES_RAW_SECTIONS[type])
			self.assertDictEqual(readSectionsFileParser.sections, checkingSectionsFileParser.sections)
			os.remove(writeSectionsFileParser.file)

		# Standard sections files with namespaces.
		for type, file in STANDARD_FILES.iteritems():
			readSectionsFileParser = SectionsFileParser(file)
			readSectionsFileParser.read() and readSectionsFileParser.parse(namespaces=True,
																			stripComments=False,
																			rawSections=STANDARD_FILES_RAW_SECTIONS[type])

			writeSectionsFileParser = SectionsFileParser(tempfile.mkstemp()[1])
			writeSectionsFileParser.sections = readSectionsFileParser.sections
			writeSectionsFileParser.comments = readSectionsFileParser.comments
			writeSectionsFileParser.write(namespaces=True)

			checkingSectionsFileParser = SectionsFileParser(writeSectionsFileParser.file)
			checkingSectionsFileParser.read() and checkingSectionsFileParser.parse(namespaces=False,
																			stripComments=False,
																			rawSections=STANDARD_FILES_RAW_SECTIONS[type])
			self.assertDictEqual(readSectionsFileParser.sections, checkingSectionsFileParser.sections)
			os.remove(writeSectionsFileParser.file)

		# Default section file.
		readSectionsFileParser = SectionsFileParser(DEFAULTS_FILE)
		readSectionsFileParser.read() and readSectionsFileParser.parse()

		writeSectionsFileParser = SectionsFileParser(tempfile.mkstemp()[1])
		writeSectionsFileParser.sections = readSectionsFileParser.sections
		writeSectionsFileParser.comments = readSectionsFileParser.comments
		writeSectionsFileParser.write()

		checkingSectionsFileParser = SectionsFileParser(writeSectionsFileParser.file)
		checkingSectionsFileParser.read() and checkingSectionsFileParser.parse()
		os.remove(writeSectionsFileParser.file)
Esempio n. 3
0
    def testWrite(self):
        """
		This method tests :meth:`foundations.parsers.SectionsFileParser.write` method.
		"""

        # Standard sections files.
        for type, file in STANDARD_FILES.iteritems():
            readSectionsFileParser = SectionsFileParser(file)
            readSectionsFileParser.read() and \
            readSectionsFileParser.parse(stripComments=False, rawSections=STANDARD_FILES_RAW_SECTIONS[type])

            fileDescriptor, path = tempfile.mkstemp()
            writeSectionsFileParser = SectionsFileParser(path)
            writeSectionsFileParser.sections = readSectionsFileParser.sections
            writeSectionsFileParser.comments = readSectionsFileParser.comments
            writeSectionsFileParser.write()

            checkingSectionsFileParser = SectionsFileParser(
                writeSectionsFileParser.path)
            checkingSectionsFileParser.read(
            ) and checkingSectionsFileParser.parse(
                stripComments=False,
                rawSections=STANDARD_FILES_RAW_SECTIONS[type])
            self.assertDictEqual(readSectionsFileParser.sections,
                                 checkingSectionsFileParser.sections)
            os.close(fileDescriptor)

        # Standard sections files with namespaces.
        for type, file in STANDARD_FILES.iteritems():
            readSectionsFileParser = SectionsFileParser(file)
            readSectionsFileParser.read() and readSectionsFileParser.parse(
                namespaces=True,
                stripComments=False,
                rawSections=STANDARD_FILES_RAW_SECTIONS[type])

            fileDescriptor, path = tempfile.mkstemp()
            writeSectionsFileParser = SectionsFileParser(path)
            writeSectionsFileParser.sections = readSectionsFileParser.sections
            writeSectionsFileParser.comments = readSectionsFileParser.comments
            writeSectionsFileParser.write(namespaces=True)

            checkingSectionsFileParser = SectionsFileParser(
                writeSectionsFileParser.path)
            checkingSectionsFileParser.read(
            ) and checkingSectionsFileParser.parse(
                namespaces=False,
                stripComments=False,
                rawSections=STANDARD_FILES_RAW_SECTIONS[type])
            self.assertDictEqual(readSectionsFileParser.sections,
                                 checkingSectionsFileParser.sections)
            os.close(fileDescriptor)

        # Default section file.
        readSectionsFileParser = SectionsFileParser(DEFAULTS_FILE)
        readSectionsFileParser.read() and readSectionsFileParser.parse()

        fileDescriptor, path = tempfile.mkstemp()
        writeSectionsFileParser = SectionsFileParser(path)
        writeSectionsFileParser.sections = readSectionsFileParser.sections
        writeSectionsFileParser.comments = readSectionsFileParser.comments
        writeSectionsFileParser.write()

        checkingSectionsFileParser = SectionsFileParser(
            writeSectionsFileParser.path)
        checkingSectionsFileParser.read() and checkingSectionsFileParser.parse(
        )
        os.close(fileDescriptor)